DocumentDB открыт для PostgreSQL и MongoDB, возможности и особенности

На днях, если честно, Microsoft, можно сказать, сделала довольно резкий поворот, и, что уж там, намекнула нам о своих больших планах, объявив об этом самом открытии исходного кода своего продукта под названием DocumentDB. Это, в общем-то, штука такая, которая, так скажем, помогает разбираться с данными типа NoSQL, и, что очевидно, использует такой, если можно выразиться, продвинутый формат, как BSON (это, конечно, Binary JSON, проще говоря). Ну, работает всё это дело на базе чего-то вроде PostgreSQL. Раньше DocumentDB была частью Microsoft Azure Cosmos DB для MongoDB, если помните такое дело, который изначально задумывался как сервис, практически идентичный MongoDB. А теперь, ну, вот вам подарок – всё это уже в открытом доступе под лицензией MIT, то есть, если сказать проще, берите и пользуйтесь бесплатно. Вообще, DocumentDB изначально была интегративным расширением для PostgreSQL, то есть, эта база всё равно главная.

На самом деле, DocumentDB, в каком-то смысле, можно приравнять к тому, что делает MongoDB, потому что там тоже всё крутится вокруг JSON данных. Хотя они там больше играют с BSON, что вроде как помогает уложить данные более компактно, быстрее их передавать и вообще проще с ними работать. Это, конечно, вместо классических вот этих таблиц баз данных, где надо всё чётко раскладывать по полочкам – тут такси, тут клиенты. JSON-формат, ну, он, честно говоря, более расслабленный, и если честно, идеально подходит для таких проектов, где часто требования к производительности, ну… немного зашкаливают, а структура данных просто как головоломка.

Ключевые блоки системы DocumentDB

Так, если говорить проще, DocumentDB можно рассматривать как составное решение, где взаимодействуют такие кусочки, как:

  • pg_documentdb_core, что это, фактически, главный базовый модуль, который берёт и подключает всё, что нужно, чтобы PostgreSQL видел BSON как свой родной формат.
  • pg_documentdb, который, скорее можно представить как библиотеку. Она добавляет дополнительные функции, а ещё помогает вам обращаться к DocumentDB через своё API.

Сейчас, нужно сказать, DocumentDB умеет выполнять все те дела, которые вы ожидаете: ну, создавать что-то там, читать что-то уже созданное, подправлять так же данные или просто убирать ненужное. Всё это, конечно, работает ещё и с индексами BSON. Если нужно чуть больше разнообразия – можно подключать те же PostgreSQL-инструменты, как RUM, pg_vector, PostGIS и так далее. Там ещё есть всякие штуковины для работы с GIS-данными, графами, а также с вещами, похоже, хоть немного связанными с искусственным интеллектом.

Кое-что про FerretDB и его конкуренцию

Тут, что уж таить, открытие DocumentDB добавило, так сказать, закваску в общий котёл конкуренции. Ведь на горизонте уже был FerretDB – это и есть такая, своего рода, платформа, которая нацелена на то же, что и DocumentDB, ну, то есть, на использование PostgreSQL вместо MongoDB. В общем-то, FerretDB появилась после того, как MongoDB решила поменять свою лицензию с AGPLv3 на SSPL, что многим компаниям казалось слегка ограничивающим в плане коммерческого использования. Да, SSPL, это как бы добавило условий тем, кто распространяет сервисы на базе MongoDB. Естественно, многим разработчикам это не понравилось.

FerretDB базируется на стандартных SQL-запросах, и стоит сказать, довольно глубоко связан с оптимизированной архитектурой PostgreSQL. На днях они выкатывали свою версию 2.0, уже, конечно, с добавленной поддержкой текста в этом формате BSON. В итоге эти платформы всё больше приближаются друг к другу по своим возможностям, и вот, кажется, DocumentDB, возможно, быстро догонит какие-то её функции.

Кстати, FerretDB, чтобы просто упомянуть, сделан на Go, а распространяется под лицензией Apache 2.0, что довольно неплохо.

Итак, это всё, безусловно, открывает новые пути для пользователей PostgreSQL, предлагая что-то реально стоящее для тех, кто ищет свежие подходы к обработке данных, однако, чтобы сказать больше, нужно будет смотреть, как это всё разовьётся в ближайшем будущем.

  • Аватар

    Андрей Силиванов

    Я — Андрей Силиванов, и я обожаю делиться самыми сочными новостями из мира азартных игр и гэмблы в целом. Пишу так, будто рассказываю друзьям, чтобы каждый текст не только заряжал интересом, но и был полезен и информативен!

    Related Posts

    Гутерриш на саммите ООН в Париже об ИИ рисках

    Генсек ООН Антониу Гутерриш присоединится к саммиту ИИ в Париже, чтобы обсудить ключевые вызовы быстро развивающихся технологий.

    Ядерные методы анализа в криминалистике и их применение

    Ядерные методы помогают криминалистам расследовать убийства, подделки искусства и наркопреступления – это тема исследований экспертов МАГАТЭ.