MangoDB: alternatywa open source dla MongoDB

MongoDB to zorientowany na dokumenty system baz danych NoSQL , który odmienił oblicze wielu deweloperów, umożliwiając im szybsze tworzenie aplikacji niż w przypadku relacyjnych baz danych. Jednak MongoDB porzuciło swoje korzenie open source, przechodząc na licencję SSPL, co czyni go bezużytecznym w wielu projektach komercyjnych i open source.

W odpowiedzi na to wprowadzono MangoDB, które jest idealnym rozwiązaniem dla tych, którzy chcą rozwijać się w oparciu o MongoDB, ponieważ MangoDB oferuje warstwę z implementacją zorientowanego na dokumenty protokołu MongoDB, który działa w oparciu o PostgreSQL.

Projekt ma na celu umożliwienie migracji aplikacji MongoDB do PostgreSQL i całkowicie otwartego stosu oprogramowania. Kod jest napisany w języku Go i dystrybuowany na licencji Apache 2.0.

Należy zauważyć, że MongoDB to system zarządzania bazą danych zorientowany na dokumenty , który można wdrożyć na dowolnej liczbie komputerów i nie wymaga predefiniowanego schematu danych. Dzięki temu obsługuje on obiekty strukturalne w formacie BSON (binarny JSON) bez predefiniowanego schematu.

Innymi słowy, klucze można dodawać w dowolnym momencie „w locie”, bez konieczności rekonfigurowania bazy danych. Dane mają postać dokumentów, które są przechowywane w kolekcjach – kolekcjach zawierających dowolną liczbę dokumentów. Kolekcje są jak tabele, a dokumenty jak rekordy w relacyjnych bazach danych.

Licencja Publiczna Po Stronie Serwera (SSPL) to zastrzeżona licencja oprogramowania opracowana przez MongoDB Inc. Według MongoDB, SSPL opiera się na licencji AGPL3, z dodatkiem nowego paragrafu, który „jasno i wyraźnie określa warunki dystrybucji licencjonowanego programu jako usługi strony trzeciej”, wymagając, aby cały kod źródłowy był udostępniany publicznie w ramach usługi.

Zmiana ta została wprowadzona w październiku 2018 roku, po czym dystrybucje Debian, Red Hat Enterprise Linux i Fedora porzuciły MongoDB, powołując się na obawy dotyczące SSPL. Amazon uruchomił kompatybilną, ale zastrzeżoną usługę o nazwie DocumentDB i okazało się, że SSPL nie zwiększyło przychodów MongoDB z chmury. Większość użytkowników MongoDB nie potrzebuje wielu zaawansowanych funkcji oferowanych przez MongoDB, ale potrzebują rozwiązania bazodanowego typu open source – i właśnie tutaj pojawia się MangoDB.

Rdzeniem naszego rozwiązania jest bezstanowe proxy, które konwertuje zapytania protokołu MongoDB na SQL i wykorzystuje PostgreSQL jako silnik bazy danych. Będzie kompatybilny ze sterownikami MongoDB iw wielu przypadkach powinien działać jako bezpośredni zamiennik MongoDB.

MangoDB ma stać się de facto alternatywą open source dla MongoDB. MangoDB to serwer proxy open source, który tłumaczy zapytania protokołu MongoDB na SQL i wykorzystuje PostgreSQL jako swój silnik bazy danych. MangoDB będzie kompatybilny ze sterownikami MongoDB i w wielu przypadkach będzie pełnić funkcję bezpośredniego zamiennika MongoDB.

Program działa jako serwer proxy, tłumacząc wywołania MongoDB na zapytania SQL do PostgreSQL, wykorzystując PostgreSQL jako rzeczywistą bazę danych. Projekt obsługuje sterowniki MongoDB, ale wciąż znajduje się w fazie prototypu i nie obsługuje jeszcze zaawansowanych funkcji protokołu MongoDB, chociaż nadaje się już do tłumaczenia prostych aplikacji.

Konieczność uniknięcia korzystania z DBMS MongoDB może powstać w związku z przejściem projektu na niewolną licencję SSPL, która bazuje na licencji AGPLv3, ale nie jest otwarta, gdyż zawiera dyskryminujący wymóg dostarczania w ramach SSPL nie tylko sam kod aplikacji, ale także kody źródłowe wszystkich komponentów zaangażowanych w świadczenie usług w chmurze.

Jeśli chcesz dowiedzieć się więcej na temat MangoDB, szczegółowe informacje znajdziesz pod poniższym linkiem.


Dodaj jako preferowane źródło w Google