Dat kwam deels doordat de persoon die er over vertelde het niet goed kon uitleggen. En deels omdat ik ooit al eens in mijn leven had gehoord dat ik alles moest vergeten over relationele databases en dat vond ik toen geen goed plan.
Het grappige was dat IBM jaren geleden al wist wat de kracht is van platte database structuren. Lotus Notes (bij de Lotus Notes cursus hoorde ik voor het eerst dat ik alles over relationele databases moest vergeten) is ook gebouwd op een platte database structuur en echt razend snel! Zo snel dat hij makkelijk het juiste document ophaalt behorende bij het lotus notes formulier uit een bak van honderduizenden zo niet miljoenen documenten.
Maar genoeg over het good old Lotes Notes, het gaat hier om MongoDB. Toen ik dus net hoorde over over MongoDB was ik er nogal sceptisch over. Wat MongoDB is ook een
MongoDB heeft geen schema en de documenten worden in de vorm van een BSON (binair JSON) opgeslagen. Geen Joins mogelijk dus.
Wat heb je daar nou aan! Hoe sla ik dan iets op? Hoe haal ik er iets uit? Geen Joins? Hoe kan ik dan bijvoorbeeld orders bij klanten ophalen? Of adres gegevens?
Je wil alle meneer jansens hebben met hun adressen uit twee verschillende collections. En joinen kan dus niet!
Dan haal je 1 eerst alle klanten op met als naam “Jansens” en met die klant id’s haal je dan daarna de bijbehorende adressen op! In PHP of jou web taal voeg je daarna alles samen en daar heb je de join met gegevens 🙂
Ik ga er even vanuit dat je een MongoDB omgeving heb. Schrijf ik later nog wel een blog over. (bedenk me nu dat ik misschien eerst had moeten doen)
Maar je hebt dus een MongoDB omgeving. Een database en een tabel maak je on the fly aan. Dus de eerste keer dat je er wat in stopt, maak je hem gelijk aan.
Zo zie je dat MongoDB super eenvoudig is om te gebruiken. En razend snel met zeer grote aantallen documenten (records).
Binnenkort schrijf ik nog een stukje over MongoDB waarbij ik Groepeer, filter en sorteer in 1 MongoDB statement in PHP!