Introductie van nieuwe API maakt het mogelijk om vanuit MongoDB in de Oracle Cloud met document-georiënteerde databases aan de slag te gaan, en andersom.

Een van de basisbeginselen van de databasestrategie van Oracle is dat het alles binnen een enkele databaseomgeving aanbiedt. Hiermee neemt het een radicaal andere route dan bijvoorbeeld AWS. Dat zet juist in op verschillende databases, elk met een specifiek doel. Die laatste route maakt het toevoegen van andere typen databases aan een IT-omgeving eenvoudig. Aan de andere kant is het dan wel lastiger om de verschillende typen te integreren dan wanneer je alles in een enkele omgeving doet.

Wat de beste insteek is, hangt ongetwijfeld af van veel verschillende factoren. Bij Oracle zijn ze er in ieder geval van overtuigd dat het centraal aanbieden van alle functionaliteit in een enkele omgeving de beste optie is. Dit houdt dus ook in dat niet-relationele databases toegankelijk moeten zijn binnen de omgeving. Document-georiënteerde JSON-databases zijn hier een goed voorbeeld van. Die zijn fundamenteel anders ingericht dan relationele databases. Vandaag kondigt Oracle een API aan waarmee JSON MongoDB-databases en SQL Autonomous Databases aan elkaar gekoppeld kunnen worden.

MongoDB workloads op Oracle Cloud (en andersom)

De aankondiging van de Oracle Database API voor MongoDB lijkt op het eerste gezicht wellicht iets kleins. Het gaat immers maar om een API. De impact van deze API is echter best groot. Het stelt ontwikkelaars namelijk in staat om MongoDB JSON-databases te integreren met de Oracle Cloud. Geen enkele DBA wil een volledige database opnieuw opbouwen in een nieuwe omgeving. Er komt verder ook vrijwel geen ETL aan te pas. In dat licht beschouwd, is dit dus best een grote aankondiging. Daarnaast geeft het Oracle zelf ook een betere positie in de JSON-wereld. Enkele jaren geleden al voegde het ondersteuning voor JSON toe aan de Autonomous Database, deze aankondiging is een volgende stap.

Concreet betekent dit dat applicaties die gebruikmaken van MongoDB de mogelijkheid krijgen om naadloos te koppelen aan bijvoorbeeld een OLTP-database in de Oracle Cloud. Andersom maakt de API het ook mogelijk om relationele bronnen (Oracle SQL Databases) open te stellen voor MongoDB. De nieuwe API is compatible met MongoDB API 4.2. Het enige wat je volgens Oracle moet doen (en wat ook tijdens de demo werd getoond) is om naadloos van de ene naar de andere omgeving over te stappen, is het aanpassen van de connect string.

Het exposen van het ene type database voor de andere omgeving en andersom is op zich handig. Als dit echter betekent dat je moet wisselen van tooling, dan worden ontwikkelaars al snel een stuk minder enthousiast. Dat hoeft bij dit nieuwe aanbod van Oracle dan ook niet. Dat wil zeggen, je kunt gewoon vanuit MongoDB-tools (Compass, Atlas) blijven werken om je databases in te richten voor je applicatie. Het maakt daarbij niet uit of je een Oracle-database of een MongoDB-database aanspreekt.

Wederom kan het ook andersom, zoals ook tijdens een live demo werd getoond tijdens de briefing. Dat stelt ontwikkelaars die Oracle’s relationele database gebruiken om JSON binnen MongoDB in te zetten, vanuit de Oracle-omgeving. Interessant is dat je dan ook SQL-ondersteuning hebt. Je kunt SQL-queries draaien op JSON-data, waarna je het resultaat in relationele vorm terugkrijgt.

Oracle Autonomous Database-saus over MongoDB-bronnen

Technisch en theoretisch klinkt de aankondiging van de Oracle Database API voor MongoDB interessant. Volgens Oracle zijn er echter ook voldoende praktische redenen waarom je dit als ontwikkelaar zou willen. Allereerst voegt de Oracle-database het volledige scala aan mogelijkheden van Oracle SQL toe aan JSON-data. Dat wil zeggen dat je zaken zoals Machine Learning, Spatial Analysis voor GeoJSON, PL/SQL en Virtual Private Database tot je beschikking hebt. Dit stelt ontwikkelaars in staat om veel meer met JSON-data te doen dan ze voorheen konden doen.

Naast specifieke features, voegt Oracle ook nog andere wat meer basale dingen toe aan applicaties die gebruikmaken van MongoDB JSON-databases. We hebben het hierboven al gehad over het feit dat er vrijwel geen ETL gedaan hoeft te worden. In principe hoef je een collectie alleen maar te exposen. Daarnaast zijn er geen limieten op duur en formaat van transacties en is de maximale grootte van een document een stuk groter. Waar MongoDB Atlas gelimiteerd is tot 16 MB, gaat Oracle tot 32 MB. De documenten kunnen ook een stuk dieper ingesteld worden: 1024 ten opzichte van 100 levels. Daarnaast is het ook nog belangrijk om op te merken dat Oracle Autonomous JSON automatisch opschaalt en dat het goedkoper is dan MongoDB Atlas.

Timing

Uiteindelijk draait het echter niet alleen om de specs en features natuurlijk. De timing van een aankondiging moet ook kloppen. Volgens Oracle, dat de API al enkele maanden in preview had lopen bij enkele klanten, is die timing nu ook goed. Aan de ene kant vragen cloud databases om steeds meer automatisering. Dat is vanzelfsprekend waar de Autonomous Database voor bedacht is. Deze biedt niet alleen de elasticiteit waar we het hierboven over hadden. Hij tunet zichzelf ook als het ware en voegt alle security-features toe aan je MongoDB JSON-databases die ook in de Autonomous Database zitten.

Oracle ziet daarnaast ook meer en meer migraties van MongoDB-databases, geeft de woordvoerder tijdens de briefing aan. De reden hiervoor is dat die omgeving tekortschiet voor enterprise-omgevingen. Daarnaast zijn er sowieso vrijwel geen organisaties die alleen maar document-georiënteerde workloads hebben. Niemand gebruikt alleen JSON.

Wellicht het opvallendste van de hele aankondiging is dat datgene wat Oracle te bieden heeft voor MongoDB JSON-databases in haar eigen Autonomous Database ook nog eens minder kost. Althans, dat is wat men ons vanuit Oracle vertelt en voorrekent. Voor 16 vCPU’s en 1 TB opslag betaal je bij Oracle $2,94 per uur, een Nvidia M60 instance op AWS met evenveel vCPU’s en 320 GB opslag kost $3,95 per uur.

Alles komt uiteindelijk bij elkaar

De aankondiging van vandaag kun je tot slot ook in een wat breder perspectief plaatsen. Veel technologieën hebben de neiging om ergens op de route langzaam maar zeker te versmelten met elkaar en dus samen te gaan. Dat hebben we met XML bijvoorbeeld ook gezien. Dat stond eerst ook duidelijk apart van andere databasetypes, maar is langzaam maar zeker ook geïntegreerd in die andere types. Dat is in principe wat je nu met deze aankondiging ook ziet gebeuren met JSON.

Samenvattend moet de integratie van MongoDB- en Oracle-bronnen die nu mogelijk is met behulp van de nieuwe API ontwikkelaars een moderne omgeving geven, die geschikt is voor enterprise-omgevingen en gebruikmaakt van wat het Oracle Autonomous Database-platform te bieden heeft. Dit alles zonder dat iemand gedwongen wordt om andere tooling te gaan gebruiken. We zijn benieuwd of dit Oracle een volgende boost geeft in de JSON-wereld.