MangoDB: isang open source na alternatibo sa MongoDB

Ang MongoDB ay isang document-oriented, NoSQL database system na naging game-changer para sa maraming developer, na nagpapahintulot sa kanila na bumuo ng mga application nang mas mabilis kaysa sa mga relational database. Gayunpaman, tinalikuran na ng MongoDB ang open-source roots nito, at lumipat sa SSPL license, na ginagawa itong hindi magagamit para sa maraming komersyal at open-source na proyekto.

Bilang tugon, ipinakilala ang MangoDB, na isang perpektong solusyon para sa mga naghahanap ng karanasan sa pag-develop ng MongoDB, dahil nag-aalok ang MangoDB ng isang layer na may implementasyon ng document-oriented MongoDB protocol na tumatakbo sa ibabaw ng PostgreSQL.

Nilalayon ng proyektong ito na magbigay ng kakayahang ilipat ang mga aplikasyon ng MongoDB sa PostgreSQL at isang ganap na open-source software stack. Ang code ay nakasulat sa wikang Go at ipinamamahagi sa ilalim ng lisensyang Apache 2.0.

Mahalagang tandaan na ang MongoDB ay isang document-oriented database management system na maaaring i-deploy sa kahit anong bilang ng mga computer at hindi nangangailangan ng paunang natukoy na data schema. Pinapayagan nito itong pangasiwaan ang mga structured object sa BSON (binary JSON) na format nang walang paunang natukoy na schema.

Sa madaling salita, maaaring idagdag ang mga key anumang oras "nang mabilisan," nang hindi muling kino-configure ang database. Ang data ay nasa anyo ng mga dokumento, na nakaimbak sa mga koleksyon—isang koleksyon na naglalaman ng anumang bilang ng mga dokumento. Ang mga koleksyon ay parang mga talahanayan, at ang mga dokumento ay parang mga talaan sa mga relational database.

Ang Server-Side Public License (SSPL) ay isang proprietary software license na binuo ng MongoDB Inc. Ayon sa MongoDB, ang SSPL ay batay sa lisensya ng AGPL3, na may karagdagan na isang bagong seksyon na "malinaw at tahasang nagtatakda ng mga tuntunin para sa pamamahagi ng lisensyadong programa bilang isang serbisyo ng ikatlong partido," na nag-aatas na ang lahat ng source code ay dapat maging available kapag ang software ay ginawang available sa publiko bilang bahagi ng isang serbisyo.

Ipinatupad ang pagbabagong ito noong Oktubre 2018, at pagkatapos nito ay tinalikuran ng mga distribusyon ng Debian, Red Hat Enterprise Linux, at Fedora ang MongoDB, dahil sa mga pangamba tungkol sa SSPL. Naglunsad ang Amazon ng isang tugma ngunit proprietaryong serbisyo na tinatawag na DocumentDB, at tila nabigo ang SSPL na mapalakas ang kita sa cloud para sa MongoDB. Karamihan sa mga gumagamit ng MongoDB ay hindi nangangailangan ng maraming advanced na feature na inaalok ng MongoDB, ngunit kailangan nila ng isang open-source na solusyon sa database, at dito pumapasok ang MangoDB.

Ang core ng aming solusyon ay isang stateless proxy, na nagko-convert ng mga query sa protocol ng MongoDB sa SQL at gumagamit ng PostgreSQL bilang database engine. Magiging katugma ito sa mga driver ng MongoDB at sa maraming mga kaso dapat itong gumana bilang isang direktang kapalit para sa MongoDB.

Nilalayon ng MangoDB na maging de facto open-source na alternatibo sa MongoDB. Ang MangoDB ay isang open-source proxy na nagsasalin ng mga hardwired protocol query ng MongoDB sa SQL at gumagamit ng PostgreSQL bilang database engine nito. Ang MangoDB ay magiging tugma sa mga driver ng MongoDB at gagana bilang direktang kapalit ng MongoDB sa maraming pagkakataon.

Ang programa ay gumagana bilang isang proxy, isinasalin ang mga tawag sa MongoDB patungo sa mga SQL query sa PostgreSQL, gamit ang PostgreSQL bilang aktwal na imbakan. Sinusuportahan ng proyekto ang mga driver ng MongoDB ngunit nasa yugto pa rin ng prototype at hindi pa sumusuporta sa mga advanced na tampok ng protocol ng MongoDB, bagama't angkop na ito para sa pagsasalin ng mga simpleng aplikasyon.

Ang pangangailangang iwasan ang paggamit ng MongoDB DBMS ay maaaring lumitaw dahil sa paglipat ng proyekto sa isang hindi libreng lisensya ng SSPL, na nakabatay sa lisensya ng AGPLv3, ngunit hindi bukas, dahil naglalaman ito ng diskriminasyong kinakailangan upang ibigay sa ilalim ng SSPL hindi lamang ang code ng application mismo, kundi pati na rin ang source code ng lahat ng mga bahaging kasangkot sa pagbibigay ng mga serbisyo sa cloud.

Panghuli, kung interesado kang matuto nang higit pa tungkol sa MangoDB, makikita mo ang mga detalye sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google