MangoDB: алтернатива с отворен код на MongoDB

MongoDB е документно-ориентирана NoSQL система за бази данни, която промени правилата на играта за много разработчици, позволявайки им да изграждат приложения по-бързо, отколкото с релационни бази данни. MongoDB обаче се отказа от своите корени с отворен код, преминавайки към SSPL лиценз, което я прави неизползваема за много търговски и проекти с отворен код.

В отговор беше представен MangoDB, което е перфектно решение за тези, които търсят опит в разработката на MongoDB, тъй като MangoDB предлага слой с имплементацията на документно-ориентирания протокол MongoDB, който работи върху PostgreSQL.

Проектът има за цел да осигури възможност за мигриране на MongoDB приложения към PostgreSQL и напълно отворен софтуерен стек. Кодът е написан на езика Go и се разпространява под лиценза Apache 2.0.

Важно е да се отбележи, че MongoDB е документно-ориентирана система за управление на бази данни , която може да бъде внедрена на произволен брой компютри и не изисква предварително дефинирана схема на данни. Това ѝ позволява да обработва структурирани обекти във формат BSON (бинарен JSON) без предварително дефинирана схема.

С други думи, ключовете могат да се добавят по всяко време „в движение“, без да се преконфигурира базата данни. Данните са под формата на документи, които се съхраняват в колекции – колекция, съдържаща произволен брой документи. Колекциите са като таблици, а документите са като записи в релационни бази данни.

Публичният лиценз от страна на сървъра (SSPL) е собственически софтуерен лиценз, разработен от MongoDB Inc. Според MongoDB, SSPL е базиран на лиценза AGPL3, с добавяне на нов раздел, който „ясно и изрично определя условията за разпространение на лицензираната програма като услуга на трета страна“, изисквайки целият изходен код да бъде предоставен, когато софтуерът се предоставя на обществеността като част от услуга.

Тази промяна беше въведена през октомври 2018 г., след което дистрибуциите на Debian, Red Hat Enterprise Linux и Fedora впоследствие изоставиха MongoDB, позовавайки се на опасения относно SSPL. Amazon стартира съвместима, но собствена услуга, наречена DocumentDB, и изглежда, че SSPL не успя да увеличи приходите от облачни услуги за MongoDB. Повечето потребители на MongoDB не се нуждаят от многото разширени функции, които MongoDB предлага, но се нуждаят от решение за бази данни с отворен код и тук се намесва MangoDB.

Ядрото на нашето решение е прокси без състояние, който преобразува заявките на протокола MongoDB в SQL и използва PostgreSQL като машина за база данни. Той ще бъде съвместим с драйвери на MongoDB и в много случаи трябва да работи като директен заместител на MongoDB.

MangoDB се стреми да се превърне в де факто алтернатива с отворен код на MongoDB. MangoDB е прокси с отворен код, който преобразува заявки към протокола на MongoDB в SQL и използва PostgreSQL като двигател за бази данни. MangoDB ще бъде съвместим с драйверите на MongoDB и ще функционира като директен заместител на MongoDB в много случаи.

Програмата функционира като прокси, преобразувайки заявките към MongoDB в SQL заявки към PostgreSQL, използвайки PostgreSQL като действително хранилище. Проектът поддържа MongoDB драйвери, но все още е в етап на прототип и все още не поддържа разширени функции на MongoDB протокола, въпреки че вече е подходящ за преобразуване на прости приложения.

Необходимостта от избягване на използването на СУБД MongoDB може да възникне поради преминаването на проекта към несвободен SSPL лиценз, който се основава на лиценза AGPLv3, но не е отворен, тъй като съдържа дискриминационно изискване за доставка по SSPL не само кода на самото приложение, но и изходните кодове на всички компоненти, участващи в предоставянето на облачни услуги.

И накрая, ако се интересувате да научите повече за MangoDB, можете да намерите подробностите на следния линк.


Добавяне като предпочитан източник в Google