MongoDB este un sistem de baze de date NoSQL, orientat pe documente, care a schimbat regulile jocului pentru mulți dezvoltatori, permițându-le să construiască aplicații mai rapid decât cu bazele de date relaționale. Cu toate acestea, MongoDB și-a abandonat rădăcinile open-source, trecând la licența SSPL, ceea ce îl face inutilizabil pentru multe proiecte comerciale și open-source.
Ca răspuns, a fost introdus MangoDB, care este o soluție perfectă pentru cei care caută o experiență de dezvoltare MongoDB, deoarece MangoDB oferă un strat cu implementarea protocolului MongoDB orientat pe documente care rulează pe PostgreSQL.
Proiectul își propune să ofere posibilitatea de a migra aplicații MongoDB către PostgreSQL și o stivă de software complet open-source. Codul este scris în limbajul Go și distribuit sub licența Apache 2.0.
Este important de menționat că MongoDB este un sistem de gestionare a bazelor de date orientat pe documente , care poate fi implementat pe orice număr de computere și nu necesită o schemă de date predefinită. Acest lucru îi permite să gestioneze obiecte structurate în format BSON (JSON binar) fără o schemă predefinită.
Cu alte cuvinte, cheile pot fi adăugate oricând „din mers”, fără a reconfigura baza de date. Datele iau forma unor documente, care sunt stocate în colecții - o colecție care conține orice număr de documente. Colecțiile sunt ca tabelele, iar documentele sunt ca înregistrările din bazele de date relaționale.
Licența publică server-side (SSPL) este o licență software proprietară dezvoltată de MongoDB Inc. Conform MongoDB, SSPL se bazează pe licența AGPL3, cu adăugarea unei noi secțiuni care „stabilește clar și explicit termenii de distribuire a programului licențiat ca serviciu terț”, impunând ca tot codul sursă să fie pus la dispoziție atunci când software-ul este pus la dispoziția publicului ca parte a unui serviciu.
Această modificare a fost implementată în octombrie 2018, după care distribuțiile Debian, Red Hat Enterprise Linux și Fedora au abandonat ulterior MongoDB, invocând îngrijorări legate de SSPL. Amazon a lansat un serviciu compatibil, dar proprietar, numit DocumentDB, iar se pare că SSPL nu a reușit să stimuleze veniturile din cloud pentru MongoDB. Majoritatea utilizatorilor MongoDB nu au nevoie de numeroasele funcții avansate oferite de MongoDB, dar au nevoie de o soluție de baze de date open-source, iar aici intervine MangoDB.
Miezul soluției noastre este un proxy fără stat, care convertește interogările din protocolul MongoDB în SQL și utilizează PostgreSQL ca motor de bază de date. Va fi compatibil cu driverele MongoDB și, în multe cazuri, ar trebui să funcționeze ca un înlocuitor pentru MongoDB.
MangoDB își propune să devină alternativa open-source de facto la MongoDB. MangoDB este un proxy open-source care traduce interogările protocolului MongoDB în SQL și folosește PostgreSQL ca motor de baze de date. MangoDB va fi compatibil cu driverele MongoDB și va funcționa ca un înlocuitor direct pentru MongoDB în multe cazuri.
Programul funcționează ca un proxy, traducând apelurile către MongoDB în interogări SQL către PostgreSQL, folosind PostgreSQL ca spațiu de stocare propriu-zis. Proiectul acceptă drivere MongoDB, dar este încă în stadiul de prototip și nu acceptă încă funcții avansate ale protocolului MongoDB, deși este deja potrivit pentru traducerea aplicațiilor simple.
Necesitatea de a evita utilizarea DBMS MongoDB poate apărea din cauza tranziției proiectului la o licență SSPL non-liberă, care se bazează pe licența AGPLv3, dar nu este deschisă, deoarece conține o cerință discriminatorie de a furniza sub SSPL nu numai codul aplicației în sine, dar și codurile sursă ale tuturor componentelor implicate în furnizarea serviciilor cloud.
În cele din urmă, dacă sunteți interesați să aflați mai multe despre MangoDB, puteți găsi detalii la următorul link.