MangoDB: open source alternativa MongoDB-u

MongoDB je NoSQL sustav baza podataka orijentiran na dokumente koji je promijenio pravila igre za mnoge programere, omogućujući im bržu izgradnju aplikacija nego s relacijskim bazama podataka. Međutim, MongoDB je napustio svoje korijene otvorenog koda, prešavši na SSPL licencu, što ga čini neupotrebljivim za mnoge komercijalne i open-source projekte.

Kao odgovor na to, predstavljen je MangoDB, što je savršeno rješenje za one koji traže iskustvo razvoja MongoDB-a, jer MangoDB nudi sloj s implementacijom dokumentno orijentiranog MongoDB protokola koji radi na PostgreSQL-u.

Projekt ima za cilj omogućiti migraciju MongoDB aplikacija na PostgreSQL i potpuno otvoreni softverski paket. Kod je napisan u Go jeziku i distribuira se pod Apache 2.0 licencom.

Važno je napomenuti da je MongoDB sustav za upravljanje bazama podataka orijentiran na dokumente koji se može primijeniti na neograničen broj računala i ne zahtijeva unaprijed definiranu shemu podataka. To mu omogućuje rukovanje strukturiranim objektima u BSON (binarni JSON) formatu bez unaprijed definirane sheme.

Drugim riječima, ključevi se mogu dodati u bilo kojem trenutku "u hodu", bez ponovne konfiguracije baze podataka. Podaci su u obliku dokumenata, koji se pohranjuju u kolekcije - kolekcije koje sadrže bilo koji broj dokumenata. Kolekcije su poput tablica, a dokumenti su poput zapisa u relacijskim bazama podataka.

Server-Side Public License (SSPL) je vlasnička softverska licenca koju je razvio MongoDB Inc. Prema MongoDB-u, SSPL se temelji na AGPL3 licenci, uz dodatak novog odjeljka koji "jasno i eksplicitno određuje uvjete za distribuciju licenciranog programa kao usluge treće strane", zahtijevajući da sav izvorni kod bude dostupan kada se softver stavi na raspolaganje javnosti kao dio usluge.

Ova promjena je implementirana u listopadu 2018., nakon čega su distribucije Debiana, Red Hat Enterprise Linuxa i Fedore naknadno napustile MongoDB, navodeći zabrinutost zbog SSPL-a. Amazon je pokrenuo kompatibilnu, ali vlasničku uslugu pod nazivom DocumentDB, a činilo se da SSPL nije uspio povećati prihode MongoDB-a od clouda. Većini korisnika MongoDB-a ne trebaju mnoge napredne značajke koje MongoDB nudi, ali im je potrebno rješenje za bazu podataka otvorenog koda, i tu dolazi do izražaja MangoDB.

Jezgra našeg rješenja je proxy bez stanja, koji pretvara upite MongoDB protokola u SQL i koristi PostgreSQL kao motor baze podataka. Bit će kompatibilan s MongoDB drajverima i u mnogim slučajevima trebao bi raditi kao izravna zamjena za MongoDB.

MangoDB ima za cilj postati de facto open-source alternativa MongoDB-u. MangoDB je open-source proxy koji prevodi MongoDB-ove tvrdo ožičene protokolske upite u SQL i koristi PostgreSQL kao svoj mehanizam baze podataka. MangoDB će biti kompatibilan s MongoDB upravljačkim programima i u mnogim će slučajevima funkcionirati kao izravna zamjena za MongoDB.

Program funkcionira kao proxy, prevodeći pozive MongoDB-a u SQL upite za PostgreSQL, koristeći PostgreSQL kao stvarnu pohranu. Projekt podržava MongoDB upravljačke programe, ali je još uvijek u fazi prototipa i još ne podržava napredne značajke MongoDB protokola, iako je već prikladan za prevođenje jednostavnih aplikacija.

Potreba za izbjegavanjem korištenja DBMS-a MongoDB može se pojaviti zbog prelaska projekta na neslobodnu SSPL licencu, koja se temelji na AGPLv3 licenci, ali nije otvorena, jer sadrži diskriminirajući zahtjev za isporuku pod SSPL-om ne samo kod same aplikacije, već i izvorni kod svih komponenti uključenih u pružanje usluga u oblaku.

Konačno, ako ste zainteresirani saznati više o MangoDB-u, detalje možete pronaći na sljedećoj poveznici.


Dodaj kao preferirani izvor na Googleu