1月28日、Microsoftが「DocumentDBをリリースした」。
MicrosoftはリレーショナルデータベースであるPostgreSQLを基盤にしたドキュメントデータベースプラットフォーム「DocumentDB」を発表した。これは、完全にオープンソース(MITライセンス)として提供されている。
この取り組みは、Microsoftがオープンソースコミュニティに対してさらに受容的な姿勢を示したものだといえる。Microsoftは「完全にオープンソース化されたPostgreSQLによるプラットフォームを提供し、その上でエンドツーエンドのドキュメントデータベース体験を構築し、コミュニティのNoSQLニーズに応える」と説明している。
ドキュメントデータベースは約10年以上前から台頭してきたもので、MongoDBのようにスキーマを厳密に定義しなくても扱える点や、ウェブ中心のソフトウェアが生成する半構造化データを効率的に扱える点などが注目されてきた。Microsoftが今回表明したのは、まずデータベースの土台がリレーショナルシステムであることと、スタックのさまざまな部分においてオープンソースのガバナンスが行われていることである。
MicrosoftのプロダクトマーケティングマネージャーであるAbinav Rameesh氏は、公式ブログで「商用ライセンス料も使用制限もなく、プロジェクトへの変更や貢献を強制されることもない。MITライセンスはリポジトリのフォークや使用、配布に対して完全な自由を保証する」と述べている。
Microsoftが開発したPostgreSQL向け拡張機能は二つある。一つ目は、BSON(JSONドキュメントをバイナリ形式にエンコードしたもの)を最適化するためのPostgreSQL拡張機能「pg_documentdb_core」である。PostgreSQLは2013年からJSONドキュメントのサポートを進めており、過去には関連する更新が行われてきた。二つ目は、作成・読み取り・更新・削除(CRUD)操作に加えてクエリ機能とインデックス管理を実装するデータプレーン「pg_documentdb_api」である。
また、MicrosoftはFerretDBという既存のオープンソースインターフェイスを活用することも推奨している。FerretDB 2.0はドキュメントデータベースプロトコルに対応しており、Apacheライセンスのもとで提供され、PostgreSQLとNoSQLの両コミュニティで大きな存在感を示しているという。
NoSQL 標準の作成により、将来的には NoSQL エンジンの互換性と相互運用性が向上することが期待される。
FerretDB側は、今回のMicrosoftのオープンソース拡張を活用することで、特定のワークロードにおいて以前のバージョンよりも20倍の性能向上が期待できるとしている。BSONデータ型やドキュメントの操作機能をPostgreSQLに導入するDocumentDBの仕組みにより、より効率的なデータの保存とクエリが可能になったと説明しており、FerretDBはこれにより互換性とパフォーマンスを両立する形でMongoDBの代替としての地位を高めようとしているようだ。
またDocumentDBは、NoSQLにおける標準を作成することを目指している。 リレーショナル データベースにはANSI (米国規格協会) が定めたSQL標準が存在するが、NoSQLの世界にはそうした標準が不在であった。
Microsoft、PostgreSQL、そしてFerretDBによる共同開発は、ソースを完全にオープン化しない形をとるMongoDBやCouchbaseなどの他のドキュメントデータベースベンダーにとって脅威となるとみられる。新たにドキュメントデータベースを採用する開発者にとって、Microsoftのソリューションは新たな選択肢として十分検討する余地があるだろう。
詳細は[公式のリリースノート](https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/]を参照していただきたい。