Microsoft только что выпущен стандарт баз данных с открытым исходным кодом, основанный на PostgreSQL. DocumentDB — это платформа базы данных документов с полностью открытым исходным кодом, поскольку она выпущена под лицензией MIT.
База данных документов — это тип базы данных NoSQL, предназначенный для хранения, извлечения и управления данными в виде документов. Эти документы структурированы в таких форматах, как JSON, BSON, XML или parcidos. Этот тип базы данных отличается от реляционных баз данных (SQL) тем, что они не используют таблицы со строками и столбцами, поскольку они организуют данные как независимые документы, в результате чего создаются очень гибкие и масштабируемые базы данных.
Microsoft выпускает стандарт баз данных с открытым исходным кодом
Новая платформа Microsoft позволяет разработчикам иметь стандарт, сочетающий в себе мощь баз данных NoSQL и гибкость PostgreSQL.. Microsoft обещает, что нет никаких скрытых ограничений или дополнительных затрат. Они смогут интегрировать DocumentDB, модифицируя или настраивая ее в своих приложениях.
Оптимизировать хранение данных и операции. DocumentDB состоит из двух основных компонентов:
pg_documentdb_core
Это специальное расширение PostgreSQL позволяет пользователю работать с форматом данных BSON. (Бинарная нотация объектов JavaScript), которая широко используется в базах данных этого типа. С помощью этого расширения вы сможете:
- Обеспечивает поддержку расширенного управления документами BSON, включая глубоко вложенные структуры.
- Он поддерживает множество индексов: простые, составные, многополевые, текстовые и геопространственные (которые поддерживаются расширением PostGIS).
- Он позволяет выполнять запросы векторного поиска, используемые в генеративных приложениях искусственного интеллекта, обнаружении мошенничества и аномалий, поиске по сходству и системах рекомендаций в приложениях электронной коммерции и обработки естественного языка.
pg_documentdb_ap
С помощью этого модуля мы можем реализовать важные операции NoSQL, такие как CRUD. плюс расширенные функции индексирования. С другой стороны, он включает механизм аутентификации, основанный на SCRAM (механизм аутентификации соленого запроса и ответа), для повышения безопасности баз данных.
Поясним термины:
ЖЕСТОКИЙ
CRUD — это аббревиатура, используемая для описания четырех основных операций, выполняемых с данными:
- Создание: Это операция добавления нового документа в базу данных.
- Читать): Это операция восстановления документа из базы данных.
- Обновлять: Это операция изменения базы данных.
- Удалить: Операция, при которой документ удаляется из базы данных.
SCRAM
Механизм аутентификации SCRAM Он состоит из безопасного протокола аутентификации, предназначенного для упрощения обмена учетными данными между сервером и клиентом., сводя к минимуму риски раскрытия паролей и гарантируя, что пароли не пересылаются напрямую по сети, а сначала обрабатываются с использованием методов криптографии.
Как протестировать DocumentDB?
Разработчики, желающие работать с этой платформой, могут скачать исходный код из официального репозитория на GitHub. Другой альтернативой является установка с помощью Docker. или другие способы настройки локального окружения, которые можно найти по ссылке в начале статьи. Кроме того, можно участвовать в обсуждениях дизайна, вносить свой вклад в проект и получать обновленную информацию по каналам Discord.
Пользователи, которым нужна готовая к использованию среда, могут легко интегрировать DocumentDB с FerretDB. который также является решением для документов с открытым исходным кодом и основан на движке DocumentDB. FerretDB имеет интерфейс, реализующий протокол базы данных документов и предназначенный для обеспечения работы с NoSQL без знания PostgreSQL.
Без сомнения, амбициозное обязательство Microsoft состоит в том, чтобы попытаться сделать DocumentDB открытым стандартом для баз данных документов. Проект заключается в том, чтобы DocumentDB стал эквивалентом стандарта ANSI для реляционных баз данных. Цель — свести к минимуму различия между реализациями баз данных NoSQL и создать более единообразный интерфейс для разработчиков.