Projekt MangoDB rozwija implementację protokołu MongoDB DBMS na bazie PostgreSQL

Dostępna jest pierwsza publiczna wersja projektu MangoDB, oferująca warstwę z implementacją protokołu zorientowanego na dokumenty DBMS MongoDB, działającego na bazie DBMS PostgreSQL. Projekt ma na celu zapewnienie możliwości migracji aplikacji korzystających z MongoDB DBMS do PostgreSQL i całkowicie otwartego stosu oprogramowania. Kod napisany jest w Go i rozpowszechniany na licencji Apache 2.0.

Program działa w formie proxy, tłumacząc wywołania MangoDB na zapytania SQL do PostgreSQL, wykorzystując PostgreSQL jako rzeczywistą pamięć. Projekt jest kompatybilny ze sterownikami dla MongoDB, jednak znajduje się jeszcze w fazie prototypu i nie obsługuje zaawansowanych możliwości protokołu MongoDB, choć nadaje się już do tłumaczenia prostych aplikacji.

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

Przypomnijmy, że MongoDB zajmuje niszę pomiędzy szybkimi i skalowalnymi systemami obsługującymi dane w formacie klucz/wartość, a relacyjnymi systemami DBMS, które są funkcjonalne i łatwe w formułowaniu zapytań. MongoDB obsługuje przechowywanie dokumentów w formacie podobnym do JSON, posiada dość elastyczny język generowania zapytań, potrafi tworzyć indeksy dla różnych przechowywanych atrybutów, sprawnie zapewnia przechowywanie dużych obiektów binarnych, obsługuje logowanie operacji zmiany i dodawania danych do bazy danych, potrafi działa zgodnie z paradygmatem Map/Reduce, wspiera replikację i budowę konfiguracji odpornych na błędy.

Źródło: opennet.ru

Dodaj komentarz