Asopitech VS
Azure Cosmos DB vs Alopex DB
Azure Cosmos DBの複数のAPI、トランザクション、NoSQL APIのベクトル検索を、Alopex DBと比べて紹介します。
更新: 2026/10/12
Azure Cosmos DBとは
Azure Cosmos DBは、Azureのマネージドデータベースです。NoSQL、MongoDB、Apache Cassandra、Apache Gremlin、Table、PostgreSQLのAPIを持ちます。
仕組み
- API:APIごとに、保存の形式と通信のプロトコルが異なります。Microsoftは、1つのアカウントのデータには同じAPIでアクセスするよう勧めています。
- トランザクション:コンテナの論理パーティションの中の操作を、ACIDのトランザクションとして実行します。複数の項目にまたがる処理は、JavaScriptのストアドプロシージャやトリガーで書きます。
- ベクトル検索:NoSQL APIで、文書の中にベクトルを持ち、VectorDistance関数で検索します。索引は、flat、quantizedFlat、diskANNから選びます。
主な機能
ベクトル検索は、WHERE句のフィルタや他の索引と組み合わせられます。ベクトルの型は、float32、float16、int8、uint8です。距離は、コサイン、内積、ユークリッドから選びます。
制限
- ベクトル検索は、共有スループットのアカウントでは使えません。コンテナで一度有効にすると、無効にできません。
- flat索引のベクトルは、505次元までです。
- quantizedFlatとdiskANNは、索引のベクトルが1,000個未満の間、全件走査になり、RUの課金が高くなることがあります。
- ベクトルのポリシーと索引の設定は、直接変えられません。消してから、作り直します。
- diskANNは近似検索で、同じ問い合わせでも、実行ごとに結果や順序が変わることがあります。
- トランザクションの範囲は、1つの論理パーティションです。
Alopex DBとの違い
どちらも、文書とベクトルを同じ場所に持ち、まとめて検索します。
Alopex DBは、SQLで問い合わせる組み込み型のデータベースです。データは .alopex の1つのファイルにまとまり、テーブルの行とベクトルを同じトランザクションで更新します。ソースコードはApache-2.0で公開しています。
どのクラウドでも手元でも同じように動くマルチモデルのAlopex DBを、データの層におすすめします。クイックスタートで手を動かせます。
参考資料
- Azure Cosmos DB documentation、Azure Cosmos DB FAQ、Transactions and optimistic concurrency control、Integrated vector store