MangoDB: odprtokodna alternativa MongoDB

MongoDB je sistem baz podatkov NoSQLdokumentno usmerjeno, za mnoge razvijalce spreminja življenje, kar jim omogoča, da gradijo aplikacije hitreje kot relacijske baze podatkov. Vendar je MongoDB opustil svoje odprtokodne korenine in spremenil licenco v SSPL, zaradi česar je neuporaben za številne komercialne in odprtokodne projekte.

Pred tem je bil predstavljen MangoDB, ki je odlična rešitev za tiste, ki iščejo razvojno izkušnjo MongoDB, saj MangoDB ponuja plast z dokumentno usmerjeno implementacijo protokola MongoDB, ki deluje na vrhu PostgreSQL.

Projekt Cilj je zagotoviti možnost selitve aplikacij MongoDB v PostgreSQL in popolnoma odprto programsko opremo. Koda je napisana v jeziku Go in se distribuira pod licenco Apache 2.0.

Upoštevajte, da je MongoDB dokumentno usmerjen sistem upravljanja baz podatkov Lahko se porazdeli na poljubno število računalnikov in ne zahteva vnaprej določene podatkovne sheme. Ki omogoča obdelavo strukturiranih predmetov v formatu BSON (binarni JSON), brez privzete sheme.

Z drugimi besedami, ključe lahko dodate kadar koli "na letenju", brez ponovne konfiguracije baze. Podatki so v obliki dokumentov, ki so shranjeni v zbirkah, zbirki, ki vsebuje poljubno število dokumentov. Zbirke so kot tabele, dokumenti pa kot zapisi v relacijskih bazah podatkov.

Javna licenca na strani strežnika (SSPL) je licenca za lastniško programsko opremo, ki jo je razvil MongoDB Inc. Po navedbah MongoDB SSPL temelji na licenci AGPL3, z dodatkom novega razdelka, ki "jasno in eksplicitno določa pogoje za distribucijo licenčnega programa kot storitve tretje osebe", ki zahteva, da je vsa izvorna koda na voljo, ko programska oprema je na voljo javnosti kot del storitve.

Ta sprememba je bil uveden oktobra 2018, na katerega so distribucije Debian, Red Hat Enterprise Linux in Fedora pozneje opustili MongoDB, navaja pomisleke glede SSPL. Amazon je izdal podprto, vendar lastniško storitev, imenovano DocumentDB, in izkazalo se je, da SSPL ni mogel povečati prihodkov v oblaku za MongoDB. Večina uporabnikov MongoDB ne potrebuje številnih naprednih funkcij, ki jih ponuja MongoDB, vendar potrebujejo odprtokodno rešitev baze podatkov in tukaj pride v poštev MangoDB.

Jedro naše rešitve je proxy brez stanja, ki pretvarja poizvedbe protokola MongoDB v SQL in uporablja PostgreSQL kot motor baze podatkov. Združljiv bo z gonilniki MongoDB in v mnogih primerih bi moral delovati kot neposredna zamenjava za MongoDB.

MangoDB želi postati de facto odprtokodna alternativa MongoDB. MangoDB je odprtokodni proxy, ki pretvarja poizvedbe ožičenega protokola MongoDB v SQL in uporablja PostgreSQL kot motor baze podatkov. MangoDB bo združljiv z gonilniki MongoDB in bo v mnogih primerih deloval kot neposredna zamenjava za MongoDB.

Program deluje kot proxy, ki prevaja klice MangoDB v poizvedbe SQL v PostgreSQL, uporaba PostgreSQL kot resničnega pomnilnika. Projekt podpira gonilnike za MongoDB, vendar je še v fazi prototipa in ne podpira naprednih funkcij protokola MongoDB, čeprav je že primeren za prevajanje preprostih aplikacij.

Potreba po izogibanju uporabi DBMS MongoDB se lahko pojavi zaradi prehoda projekta na neprosto licenco SSPL, ki temelji na licenci AGPLv3, vendar ni odprta, saj vsebuje diskriminatorno zahtevo za dobavo po SSPL ne samo kodo same aplikacije, temveč tudi izvorne kode vseh komponent, ki sodelujejo pri zagotavljanju storitev v oblaku.

Končno če vas zanima več o tem O MangoDB lahko preverite podrobnosti V naslednji povezavi.


Dodaj kot prednostni vir v Googlu