MongoDBとValdの比較:GenAIアプリケーションに適したデータベースの選択
AI主導のアプリケーションが進化する中、これらの進化をサポートするベクトル検索機能の重要性はいくら強調してもし過ぎることはない。このブログ記事では、ベクトル検索機能を持つ2つの著名なデータベースについて説明する:MongoDBとValdである。MongoDBとVald**である。各データベースは、推薦エンジン、画像検索、セマンティック検索などのアプリケーションに不可欠なベクトル検索を扱うための堅牢な機能を提供している。私たちのゴールは、開発者やエンジニアに明確な比較を提供し、どのデータベースが彼らの特定の要件に最も合致するかを決定する手助けをすることです。
ベクターデータベースとは?
MongoDBとValdを比較する前に、まずベクターデータベースの概念について説明します;
ベクトルデータベース](https://zilliz.com/learn/what-is-vector-database)は、特に高次元のベクトルを格納し、クエリするように設計されています。ベクトルは非構造化データの数値表現です。これらのベクトルは、テキストの意味、画像の視覚的特徴、または製品属性などの複雑な情報を符号化する。効率的な類似検索を可能にすることで、ベクトルデータベースはAIアプリケーションにおいて極めて重要な役割を果たし、より高度なデータ分析と検索を可能にしている。
ベクトルデータベースの一般的なユースケースには、電子商取引の商品推奨、コンテンツ発見プラットフォーム、サイバーセキュリティにおける異常検知、医療画像分析、自然言語処理(NLP)タスクなどがある。また、AI幻覚のような問題を軽減するために、外部知識を提供することによって大規模言語モデル(LLM)の性能を向上させる技術であるRAG(Retrieval Augmented Generation) において重要な役割を果たす。
市場には、以下のような多くの種類のベクトル・データベースがある:
- Milvus](https://zilliz.com/what-is-milvus)、Zilliz Cloud(フルマネージドMilvus)など。
- Faiss](https://zilliz.com/learn/faiss)やAnnoyのようなベクトル検索ライブラリ。
- Chroma](https://zilliz.com/blog/milvus-vs-chroma)やMilvus Liteのような軽量ベクトルデータベース。
- 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。
MongoDBは、ベクトル検索をアドオンとして持つNoSQLデータベースである。Valdは専用のベクトル・データベースである。この投稿では、それらのベクトル検索機能を比較する。
MongoDB: 基礎編
MongoDB Atlasのベクトル検索は、MongoDB Atlasに保存されたデータに対してベクトルの類似性検索を行う機能です。ドキュメントデータと一緒に高次元のベクトル埋め込みデータをインデックス化してクエリし、データベース内でAIや機械学習を行うことができます。
Atlas Vector Searchの中核は、HNSW(Hierarchical Navigable Small World)アルゴリズムを使ったベクトルデータのインデックス化と検索です。これによりベクトル空間の多階層グラフが作成され、近似最近傍(ANN)検索が可能になる。これは大規模なベクトル検索におけるスピードと精度のバランスです。Atlas Vector Search は、10,000 ドキュメントまでのクエリに対して、パフォーマンスよりも精度を優先する Exact Nearest Neighbors (ENN) 検索もサポートしています。
Atlas Vector Searchの大きな利点の一つは、MongoDBの柔軟なドキュメントモデルとの統合です。ベクトル埋め込みを他のドキュメントデータと一緒に保存できるので、より文脈に沿った正確な検索ができます。最大4096次元まで埋め込むことができ、どのようなデータでもクエリできます。アトラスベクター検索では、ベクトルの類似検索と従来の文書フィルタリングを組み合わせることができます。例えば、商品のセマンティック検索は、カテゴリー、価格帯、在庫状況でフィルタリングすることができます。
また、Atlas Vector Searchはハイブリッド検索にも対応しており、ベクトル検索とフルテキスト検索を組み合わせることで、より詳細な検索結果を得ることができます。これは、キーワードベースの検索に特化したAtlas Searchとは異なる。このプラットフォームは一般的なAIサービスやツールと統合されているため、OpenAIやVoyageAI、その他Hugging Faceに掲載されている多くのプロバイダーのモデルを埋め込んで使用することができる。また、大規模言語モデル(LLM)を使用するアプリケーションを構築するためのLangChainやLlamaIndexのようなオープンソースのフレームワークもサポートしています。
スケーラビリティとパフォーマンスを保証するために、MongoDBアトラスは、アトラスサーチとベクターサーチのワークロード専用のインフラを提供するサーチノードを提供しています。これにより、最適化されたコンピュートリソースと、検索ニーズの独立したスケーリングが可能になり、スケール時のパフォーマンスが向上します。
これらの機能をMongoDBエコシステム内に持つことで、Atlas Vector SearchはAIを活用したアプリケーション、レコメンデーションシステム、高度な検索機能を構築する開発者にとって完全なソリューションとなります。ベクターデータベースを別途用意する必要がなく、MongoDBのスケーラビリティと豊富な機能をベクター検索と共に利用することができます。
Vald:基本
Vald は膨大なベクトルデータを高速に検索するための強力なツールです。何十億ものベクトルを扱えるように作られており、ニーズが大きくなれば簡単に拡張できます。Valdの素晴らしいところは、NGTと呼ばれる超高速アルゴリズムを使って類似ベクトルを見つけることです。
Valdの最も優れた特徴の一つは、インデックスの処理方法です。通常、インデックスを作成する場合、すべてを停止しなければならない。しかし、Valdは賢い。インデックスを異なるマシンに分散させるので、インデックスが更新されている間も検索を続けることができる。さらに、Valdはインデックス・データを自動的にバックアップするので、何か問題が発生してもすべてを失う心配はない。
Valdは様々なセットアップにフィットするのが素晴らしい。データの出入りをカスタマイズできるので、gRPCとの相性も良い。また、クラウド上でスムーズに動作するように構築されているため、必要なときにコンピューティングパワーやメモリを簡単に追加することができる。Valdはデータを複数のマシンに分散させるので、膨大な量の情報を処理するのに役立つ。
Valdが持つもうひとつの巧妙なトリックは、インデックスの複製だ。各インデックスのコピーを異なるマシンに保存する。つまり、1台のマシンに問題が発生しても、検索は問題なく行えるということだ。Valdは自動的にこれらのコピーのバランスをとるので、心配する必要はない。これらのことから、Valdは大量のベクターデータを迅速かつ確実に検索する必要がある開発者にとって、確かな選択肢となる。
主な相違点
ベクトル検索のニーズに対して MongoDB Atlas Vector Search と Vald のどちらかを選ぶ場合、その違いを理解する必要があります。どちらも強力なベクトルデータの取り扱いを提供しますが、アプローチや強みが異なります。いくつかの重要な点から両者を比較してみましょう。
検索方法
MongoDB Atlas Vector Search は、HNSW (Hierarchical Navigable Small World) アルゴリズムを使ってベクトルデータのインデックス化と検索を行います。これにより、近似最近傍 (ANN) 検索用のベクトル空間の多階層グラフが作成されます。また、より小規模なデータセットのための厳密最近傍(ENN)検索もサポートしています。
Valdは、高速なベクトル類似検索のためにNGTアルゴリズムを使用しています。これは数十億のベクトルを処理できるように設計されている。
データの取り扱い
MongoDBはベクトル検索をその柔軟なドキュメントモデルと統合しています。ベクトル埋め込みデータを他のドキュメントデータと一緒に保存し、より文脈に沿った正確な検索を行うことができます。ベクターの類似検索をドキュメントフィルタリングと組み合わせたり、ベクター検索と全文検索を組み合わせたハイブリッド検索も可能です。
Valdはベクトルデータに特化しており、大量のデータを扱うように設計されている。非ベクトルデータに対する柔軟性はMongoDBに劣るかもしれないが、純粋なベクトル検索は他の追随を許さない。
スケーラビリティとパフォーマンス
MongoDB Atlasには、ベクター検索ワークロード専用の検索ノードがあるので、データや検索のニーズに合わせて検索リソースを拡張できます。
Vald はゼロからスケーラブルに設計されています。インデックス作成を複数のマシンに分散するため、インデックス更新中に検索を行うことができます。Valdの分散アーキテクチャは、数十億のベクトルを処理し、必要に応じて水平方向に拡張することができます。
柔軟性とカスタマイズ
MongoDBのドキュメントモデルは、データモデリングとクエリにおいて非常に柔軟です。最大 4096 次元までのベクトルを保存してクエリできますし、ベクトル検索を他のクエリタイプと組み合わせることもできます。
Valdはデータ入出力のカスタマイズオプションがあり、gRPCのサポートも充実している。データモデリングの柔軟性はMongoDBに劣るかもしれないが、純粋なベクトル検索は他の追随を許さない。
統合とエコシステム
MongoDB Atlas Vector Searchは、より広範なMongoDBエコシステムと統合されています。OpenAIのモデルや、LangChainやLlamaIndexのようなフレームワークの組み込みなど、一般的なAIサービスやツールとうまく連携します。
Valdはクラウドで動作するように設計されており、データハンドラを通じて他のシステムと統合することができる。しかし、MongoDBほど大きなエコシステムはないかもしれない。
使いやすさ
MongoDBには豊富なドキュメントがあり、大きなコミュニティがあるので、学ぶのも使うのも簡単だ。すでにMongoDBを知っているなら、ベクトル検索を追加するのは簡単だろう。
Valdは強力だが、特にベクターデータベースに慣れていない人には学習曲線が急かもしれない。しかし、ベクトル検索に特化しているので、あなたのユースケースにはよりシンプルかもしれない。
コスト
MongoDB Atlasはマネージドサービスなので、運用はシンプルになりますが、その分コストがかかります。価格は利用状況や要件によって異なります。
Valdはオープンソースなので安価ですが、インフラを自分で運用・保守するコストを考慮する必要があります。
セキュリティ
MongoDB Atlasには、暗号化、認証、ベクトル検索にまで及ぶきめ細かいアクセス制御など、強固なセキュリティ機能がある。
Valdのセキュリティは実装とそれを取り巻くインフラに依存します。
いつ使うか
ベクトル検索とドキュメントデータベースを組み合わせたソリューションが必要な場合は MongoDB Atlas Vector Search を使いましょう。ベクターの類似性とドキュメントの属性の両方を考慮する必要があるような、コンテキスト検索が必要なアプリケーションに最適です。MongoDBは、データ型が混在していたり、ハイブリッド検索が必要だったり、MongoDBのエコシステムをフル活用したい場合に適しています。AIを活用したアプリケーションやレコメンデーションシステム、既存のMongoDBデータと連携する必要がある高度な検索機能を構築する場合は、MongoDBを使う。
Valdは、大規模で高性能なベクトル検索を主な要件とする場合に選択します。何十億ものベクトルを持ち、高速で効率的な類似検索が必要なアプリケーションに最適です。Valdは、検索操作を中断することなく継続的なインデックス作成が必要な場合や、複数のマシンにまたがって水平方向に拡張できるシステムが必要な場合に適しています。大規模な画像検索エンジンや動画検索エンジン、コンテンツ推薦システムなど、純粋なベクトル検索のパフォーマンスが最優先されるアプリケーションを構築する際には、Valdをご利用ください。
結論
MongoDB Atlas Vector Search は、ベクトル検索と柔軟なドキュメントデータベース、豊富なエコシステムとハイブリッド検索オプションを組み合わせた完全なソリューションです。Valdは、大規模かつ継続的なインデックス作成のための高性能ベクトル検索です。これらのどちらを選択するかは、ユースケース、扱うデータの種類、パフォーマンス要件に基づいて決める必要がある。ベクターデータと非ベクターデータの両方を扱うことができ、エコシステムを強力にサポートするデータベースが必要であれば、MongoDBが適しているかもしれない。大規模で高速なベクトル検索を重視し、独自のインフラ管理に慣れているのであれば、Valdの方が良いかもしれない。既存の技術スタック、チームの専門知識、将来のスケーラビリティ・ニーズを考慮して決定してください。
これを読めばMongoDBとValdの概要がわかるが、これらを評価するにはユースケースに基づいて評価する必要がある。それに役立つツールの一つが、ベクターデータベースを比較するためのオープンソースのベンチマークツールであるVectorDBBenchだ。最終的には、独自のデータセットとクエリーパターンを使って徹底的にベンチマークを行うことが、分散データベースシステムにおけるベクトル検索に対する、強力だが異なるこの2つのアプローチのどちらを選ぶかを決める鍵となるだろう。
オープンソースのVectorDBBenchを使ってベクトルデータベースを評価・比較する
VectorDBBenchは、高性能なデータ保存・検索システム、特にベクトルデータベースを必要とするユーザーのためのオープンソースのベンチマークツールです。このツールにより、ユーザはMilvusやZilliz Cloud(マネージドMilvus)のような異なるベクトルデータベースシステムを独自のデータセットを使ってテストし比較し、自分のユースケースに合うものを見つけることができます。VectorDBBenchを使えば、ユーザーはマーケティング上の主張や伝聞ではなく、実際のベクターデータベースのパフォーマンスに基づいて決定を下すことができます。
VectorDBBenchはPythonで書かれており、MITオープンソースライセンスの下でライセンスされています。VectorDBBenchは、その機能と性能の改善に取り組む開発者のコミュニティによって活発にメンテナンスされています。
VectorDBBenchをGitHubリポジトリ**からダウンロードして、我々のベンチマーク結果を再現したり、あなた自身のデータセットでパフォーマンス結果を得てください。
VectorDBBench Leaderboard](https://zilliz.com/vector-database-benchmark-tool?database=ZillizCloud%2CMilvus%2CElasticCloud%2CPgVector%2CPinecone%2CQdrantCloud%2CWeaviateCloud&dataset=medium&filter=none%2Clow%2Chigh&tab=1)で、主流のベクトルデータベースの性能を簡単に見てみましょう。
ベクターデータベースの評価については、以下のブログをお読みください。
- ベンチマーク・ベクター・データベースのパフォーマンス:テクニックと洞察](https://zilliz.com/learn/benchmark-vector-database-performance-techniques-and-insights)
- VectorDBBench: Open-Source Vector Database Benchmark Tool](https://zilliz.com/learn/open-source-vector-database-benchmarking-your-way)
- ベクターデータベースを他のデータベースと比較する](https://zilliz.com/comparison)
VectorDB、GenAI、MLに関するその他のリソース
- ジェネレーティブAIリソースハブ|Zilliz](https://zilliz.com/learn/generative-ai)
- あなたのGenAIアプリのためのトップパフォーマンスAIモデル|Zilliz](https://zilliz.com/ai-models)
- RAGとは](https://zilliz.com/learn/Retrieval-Augmented-Generation)
- 大規模言語モデル(LLM)を学ぶ](https://zilliz.com/learn/ChatGPT-Vector-Database-Prompt-as-code)
- ベクトルデータベース101](https://zilliz.com/learn/what-is-vector-database)
- 自然言語処理(NLP)](https://zilliz.com/learn/introduction-to-natural-language-processing-tokens-ngrams-bag-of-words-models)
読み続けて

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are GA—delivering security, compliance, and transparency at scale with real-time visibility and enterprise-ready audit trails.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving is data-bound. Vector databases unlock deep insights from massive AV data, slashing costs and accelerating edge-case discovery.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.