Została wydana pierwsza publiczna wersja projektu MangoDB, który oferuje warstwę implementującą protokół dokumentowej bazy danych MongoDB, działającą na bazie danych PostgreSQL. Projekt ma na celu umożliwienie migracji aplikacji korzystających z bazy danych MongoDB do PostgreSQL oraz zapewnienie całkowicie otwartego stosu oprogramowania. Kod został napisany w języku Go i jest dystrybuowany na licencji Apache 2.0.
Program działa w formie proxy, które translatuje zapytania do MangoDB na zapytania SQL do PostgreSQL, używając PostgreSQL jako rzeczywistego magazynu. Projekt jest kompatybilny z sterownikami dla MongoDB, ale obecnie znajduje się w fazie prototypu i nie obsługuje zaawansowanych funkcji protokołu MongoDB, chociaż jest już przydatny do portowania prostych aplikacji.
Potrzeba odejścia od korzystania z bazy danych MongoDB może wynikać z przejścia projektu na niedarmową licencję SSPL, która opiera się na licencji AGPLv3, ale nie jest otwarta, ponieważ zawiera dyskryminujące wymagania dotyczące dostarczania na licencji SSPL nie tylko kodu samej aplikacji, ale także kodów źródłowych wszystkich komponentów zaangażowanych w świadczenie usługi w chmurze.
Przypomnijmy, że MongoDB zajmuje niszę między szybkim i skalowalnym systemami zarządzania danymi w formacie klucz/wartość a relacyjnymi DBMS, które są funkcjonalne i wygodne w formułowaniu zapytań. MongoDB obsługuje przechowywanie dokumentów w formacie podobnym do JSON, ma dość elastyczny język do formułowania zapytań, może tworzyć indeksy dla różnych przechowywanych atrybutów, skutecznie zapewnia przechowywanie dużych obiektów binarnych, wspiera rejestrowanie operacji na zmianach i dodawaniu danych do bazy danych, może działać zgodnie z paradygmatem Map/Reduce, wspiera replikację i budowanie konfiguracji odpornych na awarie.
Źródło: opennet.ru
