Er is veel aanbod voor waar en hoe u uw data wilt opslaan. U kunt er uren mee zoet zijn om erachter te komen welke leverancier voor uw organisatie de beste is. Is het MongoDB, MarkLogic, Hadoop of toch Azure of Google Cloud? Ik ontwikkelde een matrix voor het beoordelen van de verschillende leveranciers. Het resultaat daarvan leest u hier.
In mijn vorige blog legde ik mijn beoordelingssysteem uit voor het waarderen van een leverancier voor uw dataopslag. Hier deel ik het resultaat.
MONGODB EN KEY VALUE STORES
MongoDB is een documentstore gebaseerd op json structuur. MongoDB heeft zijn eigen taal waarmee vragen gesteld worden aan de database. Het grote voordeel van deze tool is dat het een grote community heeft en aansluit op de meeste gebruikte ontwikkeltalen. Maar wanneer u het breder wil inzetten, moet u een aantal vertaalslagen maken om waarde uit uw data te kunnen halen. De aanbieder heeft ook een community editie die u gratis kunt installeren. En de installatie zelf is ook redelijk simpel.
Een nadeel is dat u na de installatie alleen de database en geen ontwikkelomgeving meegeleverd krijgt. Verder is het in mijn ervaring slecht te integreren met andere applicaties zonder interventie van andere tools.
PRIJS
De prijs van MongoDB is voor 1 TB 10.000 euro per jaar. En het zit dus aan de dure kant voor een redelijk simpele opgezette database.
VERGELIJKBARE PRODUCTEN MET MONGODB
Vergelijkbare systemen zijn Key Value stores in plaats van documentstores (object). Dit zijn databases die data opslaan op basis van een sleutel en een waarde (key and value). Voordeel van deze structuur is dat je geen verloren opslag hebt en dat alle data in een grote tabel wordt opgeslagen. Een nadeel is dat u hierin, net als bij een relationele database, geen foto’s, audio of video bestanden kunt opslaan. Hiervoor moet u een Hadoop of een andere BLOB (Binary Large Object) store gebruiken.
MARKLOGIC
MarkLogic is een echte allround Big Data database systeem. De tool kan meerdere bestandstypen aan en u kunt met verschillende query talen (SQL, SparQL, Semantic Query, Javascript, XQuery en nog veel meer) data opvragen. Deze software kunt u zowel lokaal als in de cloud installeren en is, net als bij MongoDB, erg makkelijk.
VOLLEDIGHEID EN INTEGRATIE
Na de installatie krijgt u een complete web georiënteerde ontwikkelomgeving. Het voordeel van deze omgeving is dat je hier niets voor hoeft te installeren op de cliënt omgevingen. Het is daarom erg geschikt voor thin clients (Citrix omgevingen). Daarnaast heeft MarkLogic veel moeite gedaan om integratie mogelijk te maken met relationeel georiënteerde systemen (ODBC drivers), rapportage tools (Power BI, Tableau en Cognos) en Hadoop
PRIJS
De prijs per node is 18.000 euro per jaar per machine. Daarnaast hebben ze een versie voor developers die gratis te gebruiken is.
HADOOP ECOSYSTEMEN
MongoDB en MarkLogic zijn gebaseerd op een standalone architectuur. Hiermee wil ik zeggen dat er geen andere applicaties nodig zijn om te kunnen beginnen. Voor Hadoop heeft u ook andere applicaties nodig om aan de slag te kunnen. Persoonlijk vind ik dit een nadeel, omdat er kennis nodig is van de losse applicaties. Ook moet u deze kunt configureren zodat met Hadoop kunnen praten en zinvolle informatie kunnen weergeven.
Het Hadoop Ecosysteem ontzorgt de ontwikkelaars. Zij hoeven zich niet bezig te houden met de configuratie en installatie van deze systemen. Deze ecosystemen zijn alleen te verkrijgen in de cloud. En voor iedere losse applicatie moet u betalen.
De volgende (Cloud)producten maken gebruik van de Hadoop architectuur:
- SAP Vera;
- Azure Data Lake;
- Oracle Big Data;
- Cloudera;
VOLLEDIGHEID EN INTEGRATIE
Het aan de praat krijgen van het Hadoop Ecosysteem is redelijk simpel wanneer u ervaring heeft met cloud diensten. Daarnaast kunnen de applicaties ook met andere apps en services praten die u bij dezelfde cloud provider hebt aangeschaft.
PRIJS
Om datastreams (bronnen van internet) aan te sluiten op deze Cloud Providers moet u weer andere apps af te nemen. Ook voor bepaalde toepassingen (elastic search, geo search) moet u betalen. Zo komen er uiteindelijk toch nog onvoorziene kosten bij. Cloudleveranciers creëren op deze manier een afhankelijkheid zodat organisaties gedwongen zijn om overige diensten en producten van hun af te nemen (cross selling en up selling).
GOOGLE CLOUD VERSUS AZURE CLOUD
Ik ben van mening dat Google de meest betaalbare en flexibele cloudprovider is. Bijna alle toepassingen die u maar kunt bedenken kunt u bij Google aanschaffen. Ook het ondersteunen van hybride architectuur (deels cloud en deels in huis) is mogelijk. Om deze diensten te kunnen gebruiken moet u wel redelijk wat ervaring hebben met het ontwikkelen van (REST) API en het gebruik.
Azure is daarentegen wat gebruiksvriendelijker, maar kent minder toepassingen dan Google. Ook is Azure in verhouding duurder dan Google Cloud.
VOLLEDIGHEID EN INTEGRATIE
Qua volledigheid wint Azure het van Google. Voor Google moet u veel meer configureren dan binnen Azure. Plus dat er meer kennis is op het gebied van Microsoft dan op gebied van Google API’s.
PRIJS
Om datastream (bronnen van internet) aan te sluiten op deze Cloud Providers moet u weer andere apps afnemen. Ook voor bepaalde toepassingen (elastic search, geo search) moet u betalen. En komen er extra kosten bij kijken. Microsoft creëert op deze manier een afhankelijkheid zodat organisaties gedwongen zijn om overige diensten en producten van hen af te nemen (cross selling en up selling).
Data Lake en Verticals
Mijn advies vanuit het software architecten perspectief is afhankelijk van het doel waarvoor u de database wilt gebruiken. Ik zie hier twee sporen ontstaan:
- Data Lake;
- Verticals (Specifieke toepassingen).
DATALAKE
Een Data Lake heeft als doel om zoveel mogelijk data op te slaan zonder hier context aan mee te geven. Hierbij is het belangrijk om alle vormen van data op te kunnen slaan en te indexeren. Twee systemen komen hiervoor in aanmerking, namelijk: Hadoop Ecosystemen en MarkLogic.
Als ik deze beoordeel op volledigheid krijg ik na de installatie meer vanuit MarkLogic dan vanuit Hadoop. Mijn advies is dan ook MarkLogic.
VERTICALS (SPECIFIEKE TOEPASSINGEN)
Wat betreft de Verticals is het belangrijk om zo dicht mogelijk tegen de taal aan te zitten waarin u ook gaat programmeren. Alle tussenstappen die u moet doen om te vertalen (bijvoorbeeld van xml naar json) werken vertragend. Zoek hierbij dus naar een database die u hierin zo goed mogelijk ondersteunt. Op basis van de verschillende ontwikkeltalen raad ik de volgende database leveranciers aan:
- Javascript en Nodejs : MongoDB .
- Data Science en Machine Learning : MarkLogic
- Java : MongoDB
Hopelijk lukt het u om zo een keuze te maken voor een leverancier die het beste bij u past.