DATABASES

De juiste integratie van databases in je applicatie kan je tonnen werk besparen.

Heb ik een database nodig?

Databases zijn krachtige hulpmiddelen om gegevens op te slaan en te bekijken. Maar de vraag is: “heb je een database nodig?” Het antwoord op deze vraag is volledig afhankelijk van het soort bedrijf dat je wilt hebben. In veel gevallen zal een goede database in combinatie met een eenvoudige front-end veel tijd besparen in je werkprocessen, analyse en communicatie. Ben je echter zelfstandige en heb je niet al te veel werk aan de administratieve kant dan ben je misschien beter af zoals je nu bezig bent. Normaliter vergt een database applicatie een gezonde investering en zoals we weten zodra je begint te automatiseren wil je meer en meer automatiseren.

Rond welke prijs moet ik schatten?

Deze vraag is onmogelijk te beantwoorden, aangezien het afhankelijk is van verschillende factoren, maar de belangrijkste 2 zijn:
– Welke database en welke licentie worden gekozen.
– Ga je de database zelf hosten of gebeurd dit in de cloud

Wat betreft onze prijzen is het afhankelijk van je project. Als er een concrete scope is zal onze project prijs altijd een stuk goedkoper zijn in vergelijking met een prijs per uur.

Architectuur

De architectuur van een database is essentieel voor een duurzame database. Zonder dat heb je misschien een product dat op het moment werkt, maar dat niet opgeschaald kan worden op het moment dat je, je bedrijf wilt opschalen.

Voorbeeld:
Als je een huis aan het bouwen bent, kun je de fundering alleen plaatsen onder het oppervlak waar je op dat moment wilt gaan bouwen. Stel dat je over 5 jaar een grote uitbouw wilt bouwen aan de zijkant van dit huis, dan is het probleem is dat daar geen fundering is en in het geval dat je daar een bouwplaats moet beginnen (om een nieuwe fundering te bouwen) zou het gebruik van zwaar gereedschap de muren van het huis, dat pal naast deze bouwplaats staat, kunnen doen scheuren.
Nou ja, alles is natuurlijk te repareren en met wat pleisterwerk, schilderen, enz. heb je toch je droomhuis. Maar wellicht was het verstandig geweest in eerste instantie al na te denken hoe het uitgebreid kon worden.
Met een database zullen iteraties (1 iteratie zoals in bovenstaand voorbeeld) steeds weer opnieuw plaatsvinden. Dus een goede architect zal de schaalbaarheid voorzien en ervoor zorgen dat wanneer je bedrijf gaat uitbreiden, de database voorbereid is op veranderingen.

Automatisering

Databases zijn zeer krachtig in het maken van berekeningen. Gebruik ze dus om dat te doen.
In feite is automatiseren niets anders dan de database beslissingen voor je laten nemen of processen voor je laten uitvoeren. Hoe worden beslissingen genomen? …Juist door ze te berekenen. Stel je voor, als je, je best zou doen kun je waarschijnlijk je hele bedrijfsproces definiëren in 1 of meerdere beslisbomen. Het punt is dat een database dezelfde beslissingen kan nemen, maar sneller, meer consistent en op elk moment van de dag. Daarnaast kunnen de meeste processen door de database uitgevoerd worden (e-mails versturen, betalingen afhandelen, notificaties op je todo-list zetten), het mist alleen opponeerbare duimen om ook daadwerkelijk je huis te schilderen. We hebben in de loop der tijd met veel bedrijfseigenaren gesproken en de algemene opinie is dat het eng is om “niet zelf de touwtjes in handen te hebben”. Misschien kunnen we die angst begrijpen, maar om eerlijk te zijn: lever je hetzelfde uitstekende werk als je weinig slaap hebt gehad in vergelijking met een dag waarop je goed uitgerust bent? Of doet een van je medewerkers geweldig werk, maar als zij zou vertrekken, zal het werk dan met dezelfde standaard worden gedaan? Naar onze mening is een garantie voor kwaliteit alleen haalbaar door duidelijke bedrijfsprocessen die goed in code zijn vastgelegd.

Indexing

Indexering wordt gebruikt om uw database snel informatie te laten vinden (eenvoudige uitleg: denk aan ezelsoren voor uw favoriete recepten in een kookboek). Hoewel indexeren een zeer krachtig hulpmiddel is, raden wij aan om hier niet te veel mee te doen. Indexen nemen ruimte in beslag, dus het kan verstandig zijn om eerst je database op te bouwen, dan te analyseren welke queries veel gevraagd worden en wat het werkelijke pad is dat de database aflegt om het antwoord op je query te vinden. Bouw dan de essentiële indexen zodat je zo min mogelijk ruimte gebruikt en optimale prestaties hebt.

Testen

Elke ontwikkelaar zal je vertellen dat testen het minst favoriete deel van zijn werk is. Een goede tester zal (net als een goede wetenschapper) proberen te bewijzen dat de code in ALLE situaties niet zal doen wat gewenst wordt. Met andere woorden probeer een hond allerlei dingen te voeren. Als hij het voedsel eet, maar geen modder wil eten slaagt de hond voor de test. Als de hond niet slaagt moet hij nog wat meer getraind worden. Testen is essentieel om op een later tijdstip stabiele resultaten te hebben. Daarom raden wij iedereen aan om minstens twee mensen te laten testen en te voorkomen dat ze communiceren op het moment dat de tests worden gedaan.

Reporting

Na alle voorgaande stappen, heb je een prachtige database gevuld met onbetaalbare informatie. Nu wil je deze informatie ontvangen op een manier dat je het ook echt kunt lezen. Onze voorkeursmethode (hoewel het wat meer werk is) is om een dashboard te maken zodat je, je eigen rapporten kunt visualiseren door aan de knoppen in de interface te draaien. Een andere manier is om op periodieke basis standaard emails te genereren met geclusterde informatie.

Database ontwikkeling prijs indicatie:

Deze prijzen zijn een indicatie en kunnen van project tot project verschillen:

Klein project
(+/-125 uur)

Remote € 7500,- (€ 60 per uur)
On-site € 10625,- (€ 85 per uur)

Middel project
(+/-400 uur)

Remote € 20000,- (€ 50 per uur)
On-site € 32000,- (€ 80 per uur)

Pay as you go
(prijs per uur)

Remote € 70,-
On-site € 90,-