MangoDB: ett alternativ med öppen källkod till MongoDB

MongoDB är ett dokumentorienterat NoSQL-databas-system som har varit banbrytande för många utvecklare, vilket gör det möjligt för dem att bygga applikationer snabbare än med relationsdatabaser. MongoDB har dock övergett sina rötter med öppen källkod och bytt till SSPL-licensen, vilket gör det oanvändbart för många kommersiella och öppen källkodsprojekt.

Som svar introducerades MangoDB, vilket är en perfekt lösning för dem som söker erfarenhet av MongoDB-utveckling, eftersom MangoDB erbjuder ett lager med implementeringen av det dokumentorienterade MongoDB-protokollet som körs ovanpå PostgreSQL.

Projektet syftar till att möjliggöra migrering av MongoDB-applikationer till PostgreSQL och en helt öppen källkods-programvarustack. Koden är skriven i Go-språket och distribueras under Apache 2.0-licensen.

Det är viktigt att notera att MongoDB är ett dokumentorienterat databashanteringssystem som kan distribueras på ett valfritt antal datorer och inte kräver ett fördefinierat dataschema. Detta gör att det kan hantera strukturerade objekt i BSON-format (binärt JSON) utan ett fördefinierat schema.

Med andra ord kan nycklar läggas till när som helst "i farten", utan att databasen behöver konfigureras om. Data tar formen av dokument, som lagras i samlingar – en samling som innehåller valfritt antal dokument. Samlingar är som tabeller, och dokument är som poster i relationsdatabaser.

Server-Side Public License (SSPL) är en proprietär programvarulicens utvecklad av MongoDB Inc. Enligt MongoDB är SSPL baserad på AGPL3-licensen, med tillägg av ett nytt avsnitt som "tydligt och uttryckligen anger villkoren för distribution av det licensierade programmet som en tredjepartstjänst", vilket kräver att all källkod görs tillgänglig när programvaran görs tillgänglig för allmänheten som en del av en tjänst.

Denna förändring implementerades i oktober 2018, varefter Debian-, Red Hat Enterprise Linux- och Fedora-distributioner övergav MongoDB med hänvisning till oro kring SSPL. Amazon lanserade en kompatibel men proprietär tjänst som heter DocumentDB, och det verkade som att SSPL misslyckades med att öka molnintäkterna för MongoDB. De flesta MongoDB-användare behöver inte de många avancerade funktioner som MongoDB erbjuder, men de behöver en databaslösning med öppen källkod, och det är här MangoDB kommer in i bilden.

Kärnan i vår lösning är en tillståndslös proxy, som konverterar MongoDB-protokollförfrågningar till SQL och använder PostgreSQL som databasmotor. Den kommer att vara kompatibel med MongoDB-drivrutiner och i många fall bör den fungera som en direkt ersättning för MongoDB.

MangoDB strävar efter att bli det faktiska alternativet med öppen källkod till MongoDB. MangoDB är en proxy med öppen källkod som översätter MongoDBs hårdkodade protokollfrågor till SQL och använder PostgreSQL som databasmotor. MangoDB kommer att vara kompatibel med MongoDB-drivrutiner och kommer i många fall att fungera som en direkt ersättning för MongoDB.

Programmet fungerar som en proxy och översätter anrop till MongoDB till SQL-frågor till PostgreSQL, med PostgreSQL som faktisk lagring. Projektet stöder MongoDB-drivrutiner men är fortfarande i prototypstadiet och stöder ännu inte avancerade MongoDB-protokollfunktioner, även om det redan är lämpligt för att översätta enkla applikationer.

Behovet av att undvika användningen av DBMS MongoDB kan uppstå på grund av övergången av projektet till en icke-fri SSPL-licens, som är baserad på AGPLv3-licensen, men är inte öppen, eftersom den innehåller ett diskriminerande krav att leverera under SSPL inte bara koden för själva applikationen, utan även källkoderna för alla komponenter som är involverade i tillhandahållandet av molntjänster.

Slutligen, om du är intresserad av att lära dig mer om MangoDB, kan du hitta detaljerna på följande länk.


Lägg till som prioriterad källa i Google