Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DocumentDB основана на DocumentDB, платформе базы данных документов с открытым кодом. В этой статье представлен обзор DocumentDB, его функций, архитектуры и способов использования этой технологии.
Что такое DocumentDB?
DocumentDB — это полностью разрешительная платформа с открытым исходным кодом для хранилищ данных документов, построенных на подсистеме PostgreSQL. Он служит основой для Azure DocumentDB, предоставляя мощное и гибкое решение для потребностей базы данных NoSQL.
DocumentDB — это действительно Open-Source реализация MongoDB
В отличие от других подсистем MongoDB с ограничивающим лицензированием, например SSPL, DocumentDB использует неизрешительную лицензию MIT. Это означает, что разработчики имеют полную свободу использования, изменения и распространения программного обеспечения без каких-либо коммерческих лицензий или ограничений на использование. В отличие от общедоступной лицензии mongoDB на стороне сервера (SSPL), которая может ограничить определенные возможности использования, лицензия MIT DocumentDB гарантирует истинную свободу с открытым исходным кодом.
DocumentDB является мультиоблаком с независимостью от поставщиков.
DocumentDB предоставляет переносимое и совместимое решение для хранилищ данных документов. На основе PostgreSQL разработчики могут развертывать свои приложения в разных облачных поставщиках или локальной среде, избегая блокировки поставщика. Эта гибкость позволяет организациям выбирать оптимальную инфраструктуру для своих потребностей без ущерба для возможностей базы данных.
DocumentDB разработана на основе PostgreSQL, что является революционным изменением для баз данных NoSQL
По мере того как различие между NoSQL и реляционными базами данных становится более размытым, DocumentDB мостит этот разрыв, чтобы обеспечить более высокий интерфейс базы данных документов для большинства масштабируемых рабочих нагрузок. Он объединяет сильные стороны, предлагая гибкость и масштабируемость, как правило, связанные с базами данных NoSQL, при использовании возможностей и обширного набора функций PostgreSQL — одной из самых принятых и уважаемых баз данных с открытым исходным кодом сегодня. Эта основа обеспечивает надежность, устойчивость и доступ к экосистеме инструментов и расширений PostgreSQL. Разработчики могут воспользоваться непрерывной эволюцией PostgreSQL и обширной поддержкой сообщества при использовании гибкости базы данных документов.
Ключевые функции
DocumentDB предлагает несколько ключевых функций, которые делают его надежным выбором для операций с базами данных документов:
- Синтаксический анализ и манипуляция документа BSON: Эффективная обработка документов двоичного JSON (BSON) на всех уровнях вложенности.
- Расширенные возможности индексирования: Поддержка отдельных полей, нескольких ключей, составных, текстовых и геопространственных индексов.
- Векторные поисковые запросы: На базе расширения pg_vector PostgreSQL можно использовать различные приложения искусственного интеллекта и машинного обучения.
- Механизм проверки подлинности: Включает аутентификацию SCRAM (Механизм аутентификации с соленым вызовом).
- Геопространственные запросы: Использование возможностей расширения PostGIS.
- Полная поддержка Decimal128: На базе библиотеки математики с плавающей запятой Intel.
- Поддержка regex: Использование проекта PCRE2
Architecture
DocumentDB состоит из двух основных компонентов:
- pg_documentdb_core: настраиваемое расширение PostgreSQL, оптимизированное для поддержки типов данных BSON в PostgreSQL.
- pg_documentdb_api: плоскость данных, реализующая операции CRUD, функции запросов и управление индексами.
Эта архитектура позволяет создавать комплексный интерфейс пользователя базы данных NoSQL на основе ядра PostgreSQL.
Участие в DocumentDB
В качестве проекта с открытым исходным кодом DocumentDB приветствует вклад сообщества. Вы можете внести свой вклад:
- Добавление в избранное, форк и отправка пулл-реквестов на GitHub
- Создание отчетов о проблемах или предложениях по улучшению
- Участие в обсуждениях на канале #documentdb на сервере Microsoft OSS Discord
Начало работы с DocumentDB
Чтобы начать использовать DocumentDB локально, выполните следующее:
2. Клонирование репозитория DocumentDB.
git clone https://github.com/documentdb/documentdb.git
3. Создайте образ Docker. Перейдите к клонированному репозиторию.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Запустите образ Docker в качестве контейнера.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Создание и развертывание двоичных файлов.
cd code
make
sudo make install
6. Инициализация сервера DocumentDB и управление зависимостями.
./scripts/start_oss_server.sh -t documentdb
7. Подключитесь к оболочке psql.
psql -p 9712 -h localhost -d postgres
После выполнения этих действий вы готовы использовать DocumentDB локально.
FAQs
Что такое DocumentDB и как он связан с Azure DocumentDB?
DocumentDB — это полностью разрешительная платформа с открытым исходным кодом для хранилищ данных документов, построенных на подсистеме PostgreSQL. Он служит основой для Azure DocumentDB, предоставляя мощное и гибкое решение для потребностей базы данных NoSQL.
Как лицензирование DocumentDB сравнивается с другими реализациями MongoDB?
DocumentDB использует неизменяемую лицензию MIT, которая позволяет разработчикам полностью свободно использовать, изменять и распространять программное обеспечение без каких-либо коммерческих лицензий или ограничений на использование. Это контрастирует с некоторыми поставщиками MongoDB с общедоступной лицензией на стороне сервера (SSPL), что может ограничить определенные возможности использования.
Можно ли использовать DocumentDB для разных поставщиков облачных служб?
Да, DocumentDB поддерживает работу в разных облачных платформах и независим от конкретных поставщиков. На основе PostgreSQL разработчики могут развертывать свои приложения в различных облачных поставщиках или локальной среде, избегая блокировки поставщика и обеспечивая гибкость в выборе оптимальной инфраструктуры для своих потребностей.
Каковы ключевые функции DocumentDB?
DocumentDB предлагает несколько ключевых функций, включая анализ документов BSON и манипуляцию, расширенные возможности индексирования (одно поле, многоключевые, составные, текстовые и геопространственные), векторные поисковые запросы на основе pg_vector, механизмы проверки подлинности, включая SCRAM, геопространственные запросы с помощью PostGIS, полную поддержку Decimal128 и поддержку регулярных выражений с помощью PCRE2.
Как разработчики могут внести свой вклад в DocumentDB?
Разработчики могут внести свой вклад в DocumentDB, добавляя в избранное, форкая и отправляя пулл-реквесты на GitHub, сообщая о проблемах или предлагая улучшения, а также участвуя в обсуждениях на канале #documentdb на сервере Microsoft OSS Discord.