MangoDB: альтернатива MongoDB с открытым исходным кодом

MongoDB — это документоориентированная NoSQL-база данных , которая произвела революцию для многих разработчиков, позволив им создавать приложения быстрее, чем с реляционными базами данных. Однако MongoDB отказалась от своих корней в области открытого исходного кода, перейдя на лицензию SSPL, что делает её непригодной для многих коммерческих и открытых проектов.

В ответ на это была представлена ​​MangoDB, которая является идеальным решением для тех, кто ищет опыт разработки на основе MongoDB, поскольку MangoDB предлагает уровень с реализацией документоориентированного протокола MongoDB, работающего поверх PostgreSQL.

Цель проекта — обеспечить возможность миграции приложений MongoDB на PostgreSQL и полностью открытый программный стек. Код написан на языке Go и распространяется под лицензией Apache 2.0.

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

Иными словами, ключи можно добавлять в любое время «на лету», без перенастройки базы данных. Данные представлены в виде документов, которые хранятся в коллекциях — коллекциях, содержащих любое количество документов. Коллекции похожи на таблицы, а документы — на записи в реляционных базах данных.

Лицензия Server-Side Public License (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