MangoDB: avoimen lähdekoodin vaihtoehto MongoDB:lle

MongoDB on dokumenttikeskeinen NoSQL-tietokantajärjestelmä , joka on mullistanut monien kehittäjien toiminnan, sillä se on mahdollistanut sovellusten rakentamisen nopeammin kuin relaatiotietokannoilla. MongoDB on kuitenkin hylännyt avoimen lähdekoodin juurensa ja siirtynyt SSPL-lisenssiin, mikä tekee siitä käyttökelvottoman monissa kaupallisissa ja avoimen lähdekoodin projekteissa.

Vastauksena tähän esiteltiin MangoDB, joka on täydellinen ratkaisu MongoDB-kehityskokemusta etsiville, sillä MangoDB tarjoaa tason, jossa on toteutettu dokumenttikeskeinen MongoDB-protokolla, joka toimii PostgreSQL:n päällä.

Projektin tavoitteena on tarjota mahdollisuus migroida MongoDB-sovelluksia PostgreSQL:ään ja täysin avoimen lähdekoodin ohjelmistopinoon. Koodi on kirjoitettu Go-kielellä ja jaettu Apache 2.0 -lisenssillä.

On tärkeää huomata, että MongoDB on dokumenttikeskeinen tietokannan hallintajärjestelmä , jota voidaan ottaa käyttöön millä tahansa määrällä tietokoneita eikä se vaadi ennalta määritettyä datakaavaa. Tämä mahdollistaa sen, että se voi käsitellä BSON-muodossa (binäärinen JSON) olevia strukturoituja objekteja ilman ennalta määritettyä kaavaa.

Toisin sanoen avaimia voidaan lisätä milloin tahansa "lennosta" ilman tietokannan uudelleenmäärittelyä. Data on dokumenttien muodossa, jotka tallennetaan kokoelmiin – kokoelmiin, jotka sisältävät minkä tahansa määrän dokumentteja. Kokoelmat ovat kuin taulukoita ja dokumentit ovat kuin tietueita relaatiotietokannoissa.

Palvelinpuolen julkinen lisenssi (SSPL) on MongoDB Inc:n kehittämä omistusoikeudellinen ohjelmistolisenssi. MongoDB:n mukaan SSPL perustuu AGPL3-lisenssiin, johon on lisätty uusi osio, joka "selkeästi ja yksiselitteisesti määrittelee ehdot lisensoidun ohjelman levittämiselle kolmannen osapuolen palveluna" ja edellyttää, että kaikki lähdekoodi on asetettava saataville, kun ohjelmisto asetetaan yleisön saataville osana palvelua.

Tämä muutos toteutettiin lokakuussa 2018, minkä jälkeen Debian, Red Hat Enterprise Linux ja Fedora-jakelut hylkäsivät MongoDB:n vedoten huoleen SSPL:stä. Amazon lanseerasi yhteensopivan mutta omaperäisen palvelun nimeltä DocumentDB, ja näytti siltä, ​​että SSPL ei onnistunut lisäämään MongoDB:n pilvituloja. Useimmat MongoDB:n käyttäjät eivät tarvitse MongoDB:n tarjoamia monia edistyneitä ominaisuuksia, mutta he tarvitsevat avoimen lähdekoodin tietokantaratkaisun, ja tässä kohtaa MangoDB astuu kuvaan.

Ratkaisumme ydin on tilaton välityspalvelin, joka muuntaa MongoDB-protokollakyselyt SQL:ksi ja käyttää PostgreSQL:ää tietokantamoottorina. Se on yhteensopiva MongoDB-ajureiden kanssa ja monissa tapauksissa sen pitäisi toimia suoraan MongoDB:n korvaajana.

MangoDB:n tavoitteena on tulla tosiasialliseksi avoimen lähdekoodin vaihtoehdoksi MongoDB:lle. MangoDB on avoimen lähdekoodin välityspalvelin, joka muuntaa MongoDB:n kiinteästi asennetut protokollakyselyt SQL:ksi ja käyttää PostgreSQL:ää tietokantamoottorinaan. MangoDB on yhteensopiva MongoDB-ajurien kanssa ja toimii monissa tapauksissa MongoDB:n suorana korvaajana.

Ohjelma toimii välityspalvelimena ja kääntää MongoDB-kutsuja SQL-kyselyiksi PostgreSQL:lle käyttäen PostgreSQL:ää varsinaisena tallennustilana. Projekti tukee MongoDB-ajureita, mutta on vielä prototyyppivaiheessa eikä vielä tue MongoDB-protokollan edistyneitä ominaisuuksia, vaikka se soveltuu jo yksinkertaisten sovellusten kääntämiseen.

Tarve välttää DBMS MongoDB:n käyttöä voi syntyä, koska projekti siirtyy ei-vapaaseen SSPL-lisenssiin, joka perustuu AGPLv3-lisenssiin, mutta ei ole avoin, koska se sisältää syrjivän vaatimuksen toimittaa SSPL:n alla. ei vain itse sovelluksen koodia, vaan myös kaikkien pilvipalvelujen tarjoamiseen osallistuvien komponenttien lähdekoodit.

Lopuksi, jos olet kiinnostunut oppimaan lisää MangoDB:stä, löydät tiedot seuraavasta linkistä.


Lisää ensisijaiseksi lähteeksi Googlessa