Overslaan en naar de inhoud gaan Overslaan en naar de footer gaan Overslaan en naar de zoekbalk gaan Overslaan en naar de navigatie gaan

Integratie van een niet-relationele database in de Drupal core

Marcelschuitevoerder
Marcel Schuitevoerder
5 minuten
22 juli 2024
NOSQL

In deze blog deel ik de visie van David Bekker om waarde toe te voegen aan de toekomst van Drupal.

Innovatie in de Drupal-gemeenschap

David Bekker (daffie) is Senior Drupal Developer bij Finalist en Drupal core subsystem maintainer voor de database API en de databases. Op de Drupal Developer Days 2024, gehouden van 26 tot 28 juni in het pittoreske Burgas, Bulgarije, was hij aanwezig om zijn baanbrekende initiatief te promoten: de integratie van een niet-relationele database, MongoDB, in de Drupal core. 

Dit evenement, georganiseerd door de Drupal-gemeenschap, biedt een platform voor developers om hun kennis te delen, nieuwe technologieën te verkennen en samen te werken aan de toekomst van Drupal.

Een blik op Drupal Developer Days 2024

De Drupal Developer Days 2024 in Burgas beloofden een bruisend evenement te zijn, gevuld met sessies, workshops en discussies die zich richten op diverse aspecten van Drupal-ontwikkeling, zoals nieuwe technologieën, gebruiksvriendelijkheid en gemeenschapsbijdragen. 

Het evenement vond plaats aan de Burgas Free University, een moderne faciliteit die perfect was uitgerust om de honderden aanwezige Drupal-enthousiastelingen te ontvangen. Het programma omvatte presentaties van vooraanstaande experts zoals Gábor Hojtsy en Cristina Chumillas, en bood innovators zoals David Bekker een platform om hun ideeën te delen en feedback te krijgen van de gemeenschap.

Waarom een niet-relationele database?

Traditionele relationele databases, zoals MySQL en MariaDB, hebben beperkingen op het gebied van snelheid en schaalbaarheid die moderne applicaties vereisen. David ziet in niet-relationele databases, zoals MongoDB, een kans om deze beperkingen te overwinnen

MongoDB, een NoSQL-database, biedt de mogelijkheid om de basis eenheden (entities) van Drupal op te slaan in een JSON-document. Met MySQL en MariaDB worden entities in delen opgeslagen. Het ophalen van die entities resulteert in een gecompliceerde en vaak langzame query. Bij MongoDB is diezelfde query eenvoudig en daardoor veel sneller.

MongoDB vs SQL

De meerwaarde voor zakelijke toepassingen

De integratie van MongoDB in Drupal Core kan aanzienlijke voordelen bieden voor zakelijke toepassingen. Denk aan e-commerce platforms die miljoenen producten en gebruikersgegevens moeten beheren, of content management systemen die enorme hoeveelheden multimedia-inhoud moeten verwerken. MongoDB's schaalbaarheid en flexibiliteit maken het mogelijk om deze uitdagingen effectief aan te pakken, wat resulteert in snellere laadtijden, betere gebruikerservaringen en lagere infrastructuurkosten.

De horizontale schaalbaarheid van MongoDB maakt het ook mogelijk om Drupal snel te laten zijn voor een onbeperkte hoeveelheid geautoriseerde gebruikers. Iets wat met MySQL en MariaDB momenteel absoluut niet mogelijk is. Personalisatie is nu een grote wens van veel klanten, en voor een goede personalisatie moet iedere gebruiker een ingelogde gebruiker zijn.

Toekomstige AI-integraties

In tegenstelling tot MySQL en MariaDB is MongoDB ook een zogenaamde vector database. Een vector is een wiskundige representatie van een AI-beoordeling van een object, zoals een stuk tekst, foto, of filmpje. Deze vectors worden in de MongoDB database opgeslagen en zijn doorzoekbaar. Dit maakt het mogelijk om met AI het beste resultaat te geven op je eigen site en niet het beste resultaat van het hele internet. Klanten willen immers graag iets verkopen uit hun eigen winkel en niet die van de concurrent.

Een van de meest opwindende aspecten van David’s initiatief is de potentie voor toekomstige AI-integraties. AI-systemen, zoals machine learning en natuurlijke taalverwerking, vereisen vaak toegang tot enorme hoeveelheden diverse data om effectief te kunnen functioneren. De flexibiliteit van MongoDB maakt het gemakkelijker om deze data te beheren en te analyseren, wat nieuwe mogelijkheden opent voor AI-gedreven innovaties binnen de Drupal-gemeenschap.

Adoptie binnen de Drupal-gemeenschap

Ondanks de duidelijke voordelen staat David voor aanzienlijke uitdagingen binnen de Drupal-gemeenschap. Het adopteren van een nieuwe database-architectuur vereist aanpassingen in de kern van Drupal, wat betekent dat er veel werk en samenwerking nodig is. 

Het Drupal kern team ziet de voordelen van het toevoegen van de database driver voor MongoDB met zijn JSON-documentopslag voor entiteiten heel erg zitten, maar de prioriteit die het krijgt is relatief laag. Het Drupal Starshot-initiatief heeft voorrang boven andere projecten.

Er is echter hulp gekomen van Andrey Postnikov (andypost), een van de maintainers van de Drupal test pipeline. Hij werkt aan het aanpassen van de pipeline zodat deze ook werkt voor MongoDB. David is hem daarvoor erg dankbaar. 

Drupal meetings, zoals de Drupal Developer Days en de Drupalcons, maken het mogelijk om fysiek leden van het Drupal kern team te ontmoeten en met hen te overleggen. Deze fysieke ontmoetingen hebben echt een duidelijke meerwaarde.

Innovatie en samenwerking

David’s initiatief voor een niet-relationele database-architectuur werd met belangstelling ontvangen en benadrukt niet alleen de noodzaak voor innovatie binnen de Drupal-gemeenschap, maar ook de kracht van samenwerking. Door samen te werken aan nieuwe ideeën en technologieën, kunnen Drupal-ontwikkelaars blijven inspelen op de veranderende behoeften van de markt en bijdragen aan de groei en ontwikkeling van het platform.

Concrete vragen van klanten helpen David om de community te overtuigen dat er behoefte is aan zijn initiatief. Verschillende leden van het Drupal kern team hebben gevraagd of er al een site met MongoDB in productie was. De volgende stap is om een site te maken of over te zetten naar een Drupal site met MongoDB als database. Mocht jij ook interesse hebben, neem dan contact met ons op en help David zijn visie te realiseren!

David Bekker's oproep tot samenwerking

David Bekker is de subsystem maintainer voor de database API en de databases in de Drupal core. Zijn diepgaande kennis en ervaring maken hem de ideale persoon om deze verandering te leiden. Zijn oproep tot samenwerking is gericht aan zowel de community als bedrijven en organisaties die zijn visie delen. 

Innovatie binnen de Drupal-gemeenschap is cruciaal voor de toekomst van het platform, en met de gezamenlijke inspanningen van de gemeenschap kunnen we ervoor zorgen dat Drupal aan de voorhoede blijft van webontwikkeling en digitale transformatie.

Door te blijven innoveren en samenwerken, kunnen we ervoor zorgen dat Drupal blijft voldoen aan de eisen van de moderne technologieën en de steeds veranderende behoeften van de markt. David's visie en inzet voor de integratie van MongoDB in de Drupal core zijn inspirerend en laten zien wat mogelijk is als we samenwerken aan een gemeenschappelijk doel. 

Laten we deze kans aangrijpen om de toekomst van Drupal vorm te geven en te zorgen voor een robuust en flexibel platform dat klaar is voor de uitdagingen van morgen. Samen kunnen we de grenzen van wat mogelijk is verleggen en zorgen voor een duurzaam en innovatief platform dat klaar is voor de uitdagingen van de toekomst.

Contactpersoon:

Marcel Schuitevoerder / Digitaal strateeg
Marcelschuitevoerder

Heb je een vraag of wil je met ons overleggen?

Finalist helpt je verder
Bij Finalist draait het allemaal om het opbouwen van verbindingen en het beter leren kennen van jou. Wie weet wat voor prachtige dingen we samen kunnen bereiken dus aarzel niet, Finalist staat voor je klaar!
Neem contact op