MangoDB: et åpen kildekode-alternativ til MongoDB

MongoDB er et dokumentorientert NoSQL-databasesystem som har vært banebrytende for mange utviklere, og lar dem bygge applikasjoner raskere enn med relasjonsdatabaser. MongoDB har imidlertid forlatt sine åpen kildekode-røtter og byttet til SSPL-lisensen, noe som gjør det ubrukelig for mange kommersielle og åpen kildekode-prosjekter.

Som svar ble MangoDB introdusert, som er en perfekt løsning for de som søker MongoDB-utviklingserfaring, ettersom MangoDB tilbyr et lag med implementering av den dokumentorienterte MongoDB-protokollen som kjører oppå PostgreSQL.

Prosjektet har som mål å gi muligheten til å migrere MongoDB-applikasjoner til PostgreSQL og en fullstendig åpen kildekode-programvarestabel. Koden er skrevet i Go-språket og distribuert under Apache 2.0-lisensen.

Det er viktig å merke seg at MongoDB er et dokumentorientert databasehåndteringssystem som kan distribueres på et hvilket som helst antall datamaskiner og ikke krever et forhåndsdefinert dataskjema. Dette gjør at det kan håndtere strukturerte objekter i BSON-format (binær JSON) uten et forhåndsdefinert skjema.

Med andre ord kan nøkler legges til når som helst «på farten», uten å måtte konfigurere databasen på nytt. Data tar form av dokumenter, som lagres i samlinger – en samling som inneholder et hvilket som helst antall dokumenter. Samlinger er som tabeller, og dokumenter er som poster i relasjonsdatabaser.

Server-Side Public License (SSPL) er en proprietær programvarelisens utviklet av MongoDB Inc. Ifølge MongoDB er SSPL basert på AGPL3-lisensen, med tillegg av en ny seksjon som "tydelig og eksplisitt angir vilkårene for distribusjon av det lisensierte programmet som en tredjepartstjeneste", som krever at all kildekode gjøres tilgjengelig når programvaren gjøres tilgjengelig for publikum som en del av en tjeneste.

Denne endringen ble implementert i oktober 2018, hvoretter Debian-, Red Hat Enterprise Linux- og Fedora-distribusjoner senere forlot MongoDB, med henvisning til bekymringer om SSPL. Amazon lanserte en kompatibel, men proprietær tjeneste kalt DocumentDB, og det så ut til at SSPL ikke klarte å øke skyinntektene for MongoDB. De fleste MongoDB-brukere trenger ikke de mange avanserte funksjonene MongoDB tilbyr, men de trenger en åpen kildekode-databaseløsning, og det er her MangoDB kommer inn i bildet.

Kjernen i løsningen vår er en statsløs proxy, som konverterer MongoDB-protokollspørringer til SQL og bruker PostgreSQL som databasemotor. Den vil være kompatibel med MongoDB-drivere og i mange tilfeller bør den fungere som en direkte erstatning for MongoDB.

MangoDB har som mål å bli det faktiske åpen kildekode-alternativet til MongoDB. MangoDB er en åpen kildekode-proxy som oversetter fastkoblede protokollforespørsler fra MongoDB til SQL og bruker PostgreSQL som databasemotor. MangoDB vil være kompatibel med MongoDB-drivere og vil i mange tilfeller fungere som en direkte erstatning for MongoDB.

Programmet fungerer som en proxy, og oversetter kall til MongoDB til SQL-spørringer til PostgreSQL, med PostgreSQL som faktisk lagringsplass. Prosjektet støtter MongoDB-drivere, men er fortsatt i prototypefasen og støtter ennå ikke avanserte MongoDB-protokollfunksjoner, selv om det allerede er egnet for å oversette enkle applikasjoner.

Behovet for å unngå bruk av DBMS MongoDB kan oppstå på grunn av overgangen av prosjektet til en ikke-fri SSPL-lisens, som er basert på AGPLv3-lisensen, men som ikke er åpen, da den inneholder et diskriminerende krav om å levere under SSPL ikke bare koden til selve applikasjonen, men også kildekodene til alle komponentene som er involvert i leveringen av skytjenester.

Til slutt, hvis du er interessert i å lære mer om MangoDB, kan du finne detaljene på følgende lenke.


Legg til som foretrukket kilde i Google