Auteur: Siebe Vander Henst, webdeveloper.
Eind september ging fullstack developer Siebe Vander Henst van onze webdivisie Stacked naar Londen voor de MongoDB Conference. Het was een interessante dag boordevol nieuwe insights en boeiende conversaties met de MongoDB-experts. “Er heerst een heel aangename, open sfeer op de beurs waardoor ik me echt thuis voelde.”, aldus Siebe. Hij maakt voor ons verslag van de dag en onthult drie key learnings die hij zeker zal implementeren. Van full text search en GDPR-proof encryption tot de volgorde van je indexen én zelfs praktische hands-on tips van de aanwezige experts: Siebe kijkt met een voldaan gevoel terug naar de conferentie!

First things first: wat was MongoDB nu weer?
Eerder dit jaar gaf ik een introductie van deze razend populaire data storage tijdens een RMDY Tech Dive. Ben jij al helemaal mee? Spring dan gerust verder naar de volgende alinea!
Toch nog even een recap nodig? Die geef ik graag.
De opensource NoSQL-database bestaat al sinds 2009 maar kent een heuse boost vanaf 2016. Oorzaak? De nieuwe CEO Dev Ittycheria (°2014) die focust op gebruiksvriendelijkheid door het creëren van een totaalpakket. Zo zijn er veel side applicaties om al het werk rond databeheer te vergemakkelijken. Denk maar aan Compass (graphic user interface), Atlas (hosting in de cloud) en Charts (grafieken). Deze kleinere applicaties worden de laatste jaren rondom MongoDB gebouwd waardoor het enorm interessant is om met de database aan de slag te gaan. Omdat de applicaties geschreven zijn door dezelfde developers als die van MongoDB, is alles perfect geïntegreerd en moet je niets aanpassen. Zo kan je met Compass op een heel gemakkelijke manier alle gegevens bekijken, aanpassen en visualiseren terwijl je met een andere database daarvoor naar een derde partij moet gaan. Deze gebruiksvriendelijke mindset naar developers toe maakt het heel aangenaam om aan de slag te gaan met MongoDB. En dat is exact wat ik de voorbije jaren deed én reden te meer om voor de eerste keer naar een MongoDB Local Conference te gaan.
MongoDB.Local.London
Er staan heel wat talks op het programma en ook een 30-tal aanwezige experts zijn beschikbaar voor allerlei vragen – het belooft een druk gevulde dag te worden! Naast talks is er ook een IoT booth met remote auto’s, een coders lounge, een sponsor area met allerlei providers en een keynote van medeoprichter Eliot Horowitz. Ik ben vooral geïnteresseerd in de nieuwigheden die versie 4.2 met zich meebrengt en hoe ik mijn huidige werking kan optimaliseren. Bijkomend zit ik met enkele praktische issues die ik graag voorleg aan de experts van het MongoDB core team.
“Het leuke aan de conferentie is dat de MongoDB-experts heel erg gericht zijn op hun publiek. Ze vragen voortdurend wat de developer community nog mist in hun applicatie(s) en wat er kan verbeteren. Een heel aangename en welgekomen mindset.”
Ask the experts

Ik vraag ook hoe we verschillende projecten best in een MongoDB-cluster steken en hoe we die dan verdelen. En gezien ik toch de experts bij me heb, leg ik ze ook enkele vraagstukken voor over mijn privéproject voor Zonnekamp vzw.
Zo ben ik heel wat praktische tips rijker en kan ik meteen aan de slag thuis en op kantoor!
Learn from the experts
MongoDB 4.2: what’s new?
In de nieuwe versie 4.2 steken heel wat nieuwe updates, en daar kijk ik enorm naar uit! De features waar ik het meest enthousiast over ben is de full text search en de client side field encryption. Het zijn alleszins features die invloed zullen hebben op mijn huidige en toekomstige projecten.
Wanneer we live zitten op de nieuwe versie, implementeren we bij Stacked alvast deze search in de RMDY CV-tool, een interne tool die we ontwikkelden voor alle RMDY-consultants.

In het hele GDPR-verhaal wordt dit een belangrijke tool in de toekomst. De implementatie ervan is ook heel gemakkelijk want je moet geen configuratie uitvoeren. Je duidt zelf aan welke velden een encryptie nodig hebben, het is namelijk niet de bedoeling om een gehele database automatisch te encrypteren. Voor onze bestaande projecten gaan we dat zeker invoeren en ook voor toekomstige projecten wordt het een grote troef. Omdat we bij Stacked zeer binnenkort gebruik maken van deze nieuwe MongoDB-versie kunnen we garanderen dat jouw gevoelige data op de beste manier beveiligd wordt. Ik test alvast de feature uit met mijn privéproject.
Performantie optimaliseren met indexen
Net als bij elke database, zit er ook in MongoDB een index om data te structureren. Hoe je het structureert, heeft gevolgen op hoe lang je zoektocht naar bepaalde data duurt. Zonder indexsysteem in een bibliotheek, zou je namelijk ook nooit een boek terugvinden, of je zou er heel erg lang over doen. Bij MongoDB is dat niet anders. Alleen kan je bij een virtuele database verschillende indexen creëren waardoor je bv. een index op naam hebt én eentje op datum, lengte, enzovoort. Een index kan ook zeer complex zijn en het is net die complexiteit die je met een goede volgorde moet opbouwen om tot de hoogste performantie te komen. De belangrijkste standaardvorm is de ESR-index:
- Equality first: eerst definieer je een bepaalde waarde.
vb. velden die het woord ‘appel’ bevatten - Sort next: je kiest welke sortering je wil
vb. alle velden met het woord ‘appel’, gesorteerd op creatiedatum van het veld - Range last: je kiest een bereik waarin je wil zoeken
vb. zoek enkel in data waarbij de prijs per kilo van de appels onder 2€ ligt.
Volg je deze indexregels tijdens je query (zoektocht), zal die query optimaal verlopen. Tijdens een korte demo zie ik hoe de ene database met index A 41% van de CPU gebruikt en de andere database met index B slechts 4%. Wat een verschil! En dat louter door een indexvolgorde.
Is dit dan nieuw?
Nee hoor, maar de talk bracht deze handige tips & tricks wel weer onder de aandacht. Bovendien zijn er op de MongoDB-conferentie ook developers aanwezig die er nog nooit eerder mee werkten of net gestart zijn, en dan is zo’n info van onmisbare waarde om de performantie van je applicatie naar een hoger niveau te brengen.
We gaan alvast deze handige index toepassen wanneer we MongoDB uitrollen naar meer van onze projecten!

MongoDB: voor en door developers
Conclusie van deze ééndagsconferentie? Een dikke aanrader! De talks, demo’s en randanimatie zijn zowel voor gevorderden als beginners. De experts staan open voor alle vragen en geven specifieke raad, of dat nu om een technisch issue gaat of de vraag of MongoDB wel iets voor jouw bedrijf of project is. Omdat de local meetups best klein zijn (ongeveer 350 bezoekers), kom je ook gemakkelijk in contact met andere developers en gaat networken heel vlot. Ik ken nu heel wat andere developers en zit in een MongoDB Slack-kanaal waardoor ik me echt thuis voel in een dedicated community. En ik kan uiteraard niet wachten om aan de slag te gaan met de nieuwe versie!