Microsoft właśnie wydany standard bazy danych open source oparty na PostgreSQL. DocumentDB to platforma bazy danych dokumentów, która jest całkowicie open source, ponieważ jest udostępniana na licencji MIT.
Dokumentowa baza danych to rodzaj bazy danych NoSQL przeznaczonej do przechowywania, wyszukiwania i zarządzania danymi w postaci dokumentów. Dokumenty te mają strukturę w formatach takich jak JSON, BSON, XML lub parcidos. Ten typ bazy danych różni się od relacyjnych baz danych (SQL) tym, że nie wykorzystują tabel z wierszami i kolumnami, ponieważ organizują dane jako niezależne dokumenty, co skutkuje bardzo elastycznymi i skalowalnymi bazami danych.
Microsoft udostępnia standard baz danych typu open source
Nowa platforma Microsoftu umożliwia programistom korzystanie ze standardu łączącego moc baz danych NoSQL z elastycznością PostgreSQL. Microsoft obiecuje, że nie ma żadnych ukrytych ograniczeń ani dodatkowych kosztów. Będą mogli integrować DocumentDB, modyfikować go lub dostosowywać we własnych aplikacjach.
Optymalizacja przechowywania i operacji danych. DocumentDB składa się z dwóch głównych komponentów:
pg_documentdb_core
To niestandardowe rozszerzenie PostgreSQL umożliwia użytkownikowi pracę z formatem danych BSON (Binary JavaScript Object Notation), która jest szeroko stosowana w tego typu bazach danych. Dzięki temu rozszerzeniu możesz:
- Zapewnia obsługę zaawansowanego zarządzania dokumentami BSON, w tym głęboko zagnieżdżonymi strukturami.
- Obsługuje wiele indeksów: prosty, złożony, wielopolowy, tekstowy i geoprzestrzenny (obsługiwane przez rozszerzenie PostGIS).
- Umożliwia wyszukiwanie wektorów zapytań wykorzystywanych w generatywnych aplikacjach sztucznej inteligencji, wykrywaniu oszustw i anomalii, wyszukiwaniu podobieństw i systemach rekomendacji w aplikacjach do handlu elektronicznego i przetwarzania języka naturalnego.
pg_documentdb_ap
Dzięki temu modułowi możemy wdrożyć ważne operacje NoSQL, takie jak CRUD plus zaawansowane funkcje indeksowania. Z drugiej strony zawiera mechanizm uwierzytelniania oparty na mechanizmie uwierzytelniania SCRAM (Salted Challenge Response Authentication) w celu wzmocnienia bezpieczeństwa baz danych.
Wyjaśnijmy pojęcia:
OKRUTNY
CRUD to akronim używany do opisania czterech podstawowych operacji wykonywanych na danych:
- Aby stworzyć: Jest to operacja dodania nowego dokumentu do bazy danych.
- Czytać): Jest to operacja odzyskiwania dokumentu z bazy danych.
- Aktualizacja: Jest to operacja modyfikacji bazy danych.
- Usuwać: Operacja usunięcia dokumentu z bazy danych.
SCRAM
Mechanizm uwierzytelniania SCRAM składa się z bezpiecznego protokołu uwierzytelniania, którego zadaniem jest ułatwienie wymiany danych uwierzytelniających pomiędzy serwerem a klientem, minimalizując ryzyko ujawnienia haseł i zapewniając, że hasła nie są wysyłane bezpośrednio przez sieć, ale są najpierw przetwarzane przy użyciu technik kryptograficznych.
Jak przetestować DocumentDB?
Programiści chcący pracować z tą platformą mogą pobrać kod źródłowy z oficjalnego repozytorium na GitHub. Inną alternatywą jest instalacja za pomocą Dockera lub inne metody konfiguracji środowiska lokalnego, które znajdziesz w linku na początku artykułu. Ponadto możliwe jest uczestniczenie w dyskusjach na temat projektu i wnoszenie wkładu w projekt oraz uzyskiwanie aktualnych informacji za pośrednictwem kanałów Discord.
Dla użytkowników, którzy potrzebują gotowego do użycia środowiska, mogą łatwo zintegrować DocumentDB z FerretDB, które jest również rozwiązaniem do obsługi dokumentów typu open source i jest oparte na silniku DocumentDB. FerretDB posiada interfejs, który implementuje protokół bazy danych dokumentów i został zaprojektowany tak, aby zapewnić doświadczenie NoSQL bez znajomości PostgreSQL.
Bez wątpienia ambitnym zobowiązaniem Microsoftu jest uczynienie DocumentDB otwartym standardem dla baz danych dokumentów. Projekt zakłada, że DocumentDB będzie odpowiednikiem standardu ANSI dla relacyjnych baz danych. Celem jest zminimalizowanie różnic między implementacjami baz danych NoSQL i stworzenie bardziej spójnego doświadczenia dla programistów.