Microsoft リリースされたばかり PostgreSQL に基づくオープンソース データベース標準。 DocumentDB は、MIT ライセンスの下でリリースされている完全にオープンソースのドキュメント データベース プラットフォームです。
ドキュメント データベースは、ドキュメントの形式でデータを保存、取得、管理することを目的とした NoSQL データベースの一種です。 これらのドキュメントは、JSON、BSON、XML、パルシドなどの形式で構造化されています。このタイプのデータベースは、データを独立したドキュメントとして編成するため、行と列を含むテーブルを使用しないという点でリレーショナル データベース (SQL) とは異なり、その結果、非常に柔軟でスケーラブルなデータベースが得られます。
Microsoftがオープンソースデータベース標準をリリース
Microsoft の新しいプラットフォームにより、開発者は NoSQL データベースの能力と PostgreSQL の柔軟性を組み合わせた標準を利用できるようになります。。 Microsoft は、隠れた制限や追加コストがないことを約束します。 DocumentDB を統合し、独自のアプリケーションで変更またはカスタマイズできるようになります。
データのストレージと運用を最適化するため。 DocumentDB は、次の 2 つの主要コンポーネントで構成されています。
pg_documentdb_core
このカスタム PostgreSQL 拡張機能を使用すると、ユーザーは BSON データ形式を操作できるようになります。 (Binary JavaScript Object Notation)。このタイプのデータベースで広く使用されています。この拡張機能を使用すると、次のことが可能になります。
- 深くネストされた構造を含む、高度な BSON ドキュメント管理のサポートを提供します。
- 単純、複合、マルチフィールド、テキスト、地理空間 (PostGIS 拡張機能でサポートされている) など、多くのインデックスをサポートしています。
- これにより、電子商取引および自然言語処理アプリケーションにおける生成人工知能アプリケーション、詐欺および異常検出、類似性検索、推奨システムで使用されるベクトル検索クエリが可能になります。
pg_documentdb_ap
このモジュールを使用すると、CRUD などの重要な NoSQL 操作を実装できます。 さらに高度なインデックス作成機能も備えています。一方で、SCRAM(Salted Challenge Response Authentication Mechanism)をベースとした認証機構を搭載し、データベースのセキュリティを強化しています。
用語を説明しましょう。
残酷
CRUD は、データに対して実行される 4 つの基本操作を説明するために使用される頭字語です。
- 作成します。 新しい文書をデータベースに追加する操作です。
- 読む): データベースからドキュメントを回復する操作です。
- アップデート: データベースを変更する操作です。
- 消去: 文書をデータベースから削除する操作。
SCRAM
SCRAM 認証メカニズム これは、サーバーとクライアントの間で資格情報を簡単に交換できるように設計された安全な認証プロトコルで構成されています。、パスワード漏洩のリスクを最小限に抑え、パスワードがネットワークを使用して直接送信されるのではなく、最初に暗号化技術を使用して処理されるようにします。
DocumentDB をテストするにはどうすればよいですか?
このプラットフォームを使用したい開発者は、GitHub の公式リポジトリからソース コードをダウンロードできます。もう 1 つの方法は、Docker を使用したインストールです または、記事の冒頭のリンクにあるローカル環境を構成するその他の方法を参照してください。さらに、Discord チャンネルを通じてデザインに関するディスカッションに参加してプロジェクトに貢献したり、最新情報を入手したりすることも可能です。
すぐに使える環境が必要なユーザーは、DocumentDB を FerretDB と簡単に統合できます。 これもオープンソースのドキュメント ソリューションであり、DocumentDB エンジンに基づいています。 FerretDB にはドキュメント データベース プロトコルを実装するインターフェイスがあり、PostgreSQL の知識がなくても NoSQL エクスペリエンスを提供できるように設計されています。
疑いもなく、DocumentDB をドキュメント データベースのオープン スタンダードにしようとする Microsoft の野心的な取り組みです。このプロジェクトは、DocumentDB をリレーショナル データベースの ANSI 標準と同等にすることを目的としています。目標は、NoSQL データベース実装間の差異を最小限に抑え、開発者にとってより一貫したエクスペリエンスを提供することです。