Microsoft щойно випущений стандарт бази даних з відкритим кодом на основі PostgreSQL. DocumentDB — це платформа бази даних документів із повністю відкритим вихідним кодом, оскільки вона випущена за ліцензією MIT.
База даних документів — це тип бази даних NoSQL, призначений для зберігання, отримання та керування даними у формі документів. Ці документи структуровані в таких форматах, як JSON, BSON, XML або parcidos. Цей тип бази даних відрізняється від реляційних баз даних (SQL) тим, що вони не використовують таблиці з рядками та стовпцями, оскільки вони організовують дані як незалежні документи, що призводить до дуже гнучких і масштабованих баз даних.
Microsoft випускає стандарт бази даних з відкритим кодом
Нова платформа Microsoft дозволяє розробникам мати стандарт, який поєднує потужність баз даних NoSQL і гнучкість PostgreSQL. Microsoft обіцяє відсутність прихованих обмежень чи додаткових витрат. Вони зможуть інтегрувати DocumentDB, змінюючи або налаштовуючи його у своїх власних програмах.
Для оптимізації зберігання даних і операцій. DocumentDB складається з двох основних компонентів:
pg_documentdb_core
Це спеціальне розширення PostgreSQL дозволяє користувачеві працювати з форматом даних BSON (Binary JavaScript Object Notation), який широко використовується в цьому типі баз даних. За допомогою цього розширення ви можете:
- Забезпечує підтримку розширеного керування документами 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 і створити більш узгоджений досвід для розробників.