Weaviate vs Vald:ニーズに合ったベクターデータベースの選択
AIやデータドリブン・テクノロジーの進歩に伴い、アプリケーションに適切なベクター・データベースを選択することがますます重要になってきている。WeaviateとValdは、この分野における2つの選択肢です。本記事では、これらのテクノロジーを比較し、プロジェクトのための十分な情報に基づいた意思決定を支援します。
ベクターデータベースとは?
WeaviateとValdを比較する前に、まずベクターデータベースの概念について説明しましょう。
ベクトルデータベース](https://zilliz.com/learn/what-is-vector-database)は、特に高次元のベクトルを格納し、照会するために設計されている。ベクトルは非構造化データの数値表現である。これらのベクトルは、テキストの意味、画像の視覚的特徴、または製品の属性などの複雑な情報をエンコードします。効率的な類似検索を可能にすることで、ベクトルデータベースはAIアプリケーションにおいて極めて重要な役割を果たし、より高度なデータ分析と検索を可能にしている。
ベクトルデータベースの一般的なユースケースには、電子商取引の商品推奨、コンテンツ発見プラットフォーム、サイバーセキュリティにおける異常検知、医療画像分析、自然言語処理(NLP)タスクなどがある。また、AI幻覚のような問題を軽減するために、外部知識を提供することによって大規模言語モデル(LLMs)の性能を向上させる技術であるRAG(Retrieval Augmented Generation) において重要な役割を果たす。
市場には、以下のような多くの種類のベクトル・データベースがある:
- Milvus](https://zilliz.com/what-is-milvus)、Zilliz Cloud(フルマネージドMilvus)、Weaviateなど。
- Faiss](https://zilliz.com/learn/faiss)やAnnoyのようなベクトル検索ライブラリ。
- Chroma](https://zilliz.com/blog/milvus-vs-chroma)やMilvus Liteのような軽量ベクトルデータベース。
- 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。
WeaviateとValdはどちらも専用のベクターデータベースである。この記事では、両者のベクター検索機能を比較する。
Weaviate概要とコアテクノロジー
Weaviateは、AIアプリケーション開発を簡素化するために設計されたオープンソースのベクトルデータベースです。ビルトインのベクトルおよびハイブリッド検索機能、機械学習モデルとの容易な統合、データプライバシーへの配慮を提供します。これらの機能は、様々なスキルレベルの開発者がAIアプリケーションをより効率的に作成、反復、拡張できるようにすることを目的としています。
Weaviateの強みの一つは、高速かつ正確な類似検索である。HNSW(Hierarchical Navigable Small World)インデックスを使用し、大規模データセットでのベクトル検索を可能にしている。Weaviateはまた、ベクトル検索と従来のフィルタを組み合わせることもサポートしており、意味的類似性と特定のデータ属性の両方を活用した強力なハイブリッドクエリを可能にしている。
Weaviateの主な特徴は以下の通り:
1.PQ 圧縮による効率的な保存と検索 2.BM25検索とベクトル検索の間を調整するアルファ・パラメータを持つハイブリッド検索。 3.エンベッディングとリランキング用のプラグインを内蔵しており、開発が容易。
Weaviateは、開発者がベクトル検索を試すためのエントリー・ポイントである。簡単なセットアップと十分に文書化されたAPIにより、開発者に優しいアプローチを提供する。GenAIエコシステムと深く統合されているため、小規模なプロジェクトや概念実証に適している。Weaviateの対象者は、AIアプリケーションを構築するソフトウェアエンジニア、大規模データセットを扱うデータエンジニア、機械学習モデルを展開するデータサイエンティストである。Weaviateは、セマンティック検索、推薦システム、コンテンツ分類、その他のAI機能を簡素化します。
Weaviate は水平方向に拡張できるように設計されており、クラスタ内の複数のノードにデータを分散することで、大規模なデータセットや高負荷のクエリを処理できる。マルチモーダルデータをサポートし、使用するベクトル化モジュールに応じて様々なデータタイプ(テキスト、画像、音声、動画)を扱うことができる。WeaviateはRESTful APIとGraphQL APIの両方を提供しており、開発者が柔軟にデータベースとやり取りできるようになっている。
しかし、大規模なプロダクション環境においては、いくつかの留意点がある:
1.エンタープライズグレードのセキュリティ機能の制限 2.数十億ベクトル・データセットに対するスケーラビリティの潜在的課題 3.新しくリリースされた階層型ストレージ・オプションには手動管理が必要 4.水平方向のスケールアップには、Weaviate のエンジニアのサポートが必要であり、自動的には行えない。
この最後の点は特に注目すべき点である。つまり、組織は事前に計画を立て、スケーリングオペレーションのための時間を割り当て、適切な準備なしにシステムの限界に近づかないようにする必要があるということだ。
Vald:概要とコアテクノロジー
Vald は膨大なベクトルデータを高速に検索するための強力なツールです。何十億ものベクトルを扱えるように構築されており、ニーズが大きくなるにつれて簡単に拡張することができます。Vald の素晴らしいところは、NGT と呼ばれる超高速アルゴリズムを使って類似ベクトルを見つけることです。
Valdの最も優れた特徴の一つは、インデックスの処理方法です。通常、インデックスを作成する場合、すべてを停止しなければならない。しかし、Valdは賢い。インデックスを異なるマシンに分散させるので、インデックスが更新されている間も検索を続けることができる。さらに、Valdはインデックス・データを自動的にバックアップするので、何か問題が発生してもすべてを失う心配はない。
Valdは様々なセットアップにフィットするのが素晴らしい。データの出入りをカスタマイズできるので、gRPCとの相性も良い。また、クラウド上でスムーズに動作するように構築されているため、必要なときにコンピューティングパワーやメモリを簡単に追加することができる。Valdはデータを複数のマシンに分散させるので、膨大な量の情報を処理するのに役立つ。
Valdが持つもうひとつの巧妙なトリックは、インデックスの複製だ。各インデックスのコピーを異なるマシンに保存する。つまり、1台のマシンに問題が発生しても、検索は問題なく行えるということだ。Valdは自動的にこれらのコピーのバランスをとるので、心配する必要はない。これらのことから、Valdは大量のベクターデータを迅速かつ確実に検索する必要がある開発者にとって、確かな選択肢となる。
主な相違点
検索方法
Weaviate は、HNSW (Hierarchical Navigable Small World) を用いて高速な類似検索を行う。ベクトル検索とフィルタを組み合わせたハイブリッドクエリをサポートしています。そのため、意味的類似性と特定のデータ属性による検索が可能です。
ValdはNGT (Neighborhood Graph and Tree)を用いて近似最近傍探索を高速に行う。数十億のベクトルを扱うことができる。
データ
Weaviate は、テキスト、画像、音声、動画をサポートしています。マルチモーダルデータと柔軟なデータモデリング。データのスキーマを定義できるので、構造化データや半構造化データを扱うことができます。
Valdはベクトルデータに特化している。多くのベクトルを扱うことができるが、Weaviateのように他のデータタイプや構造化データをサポートしていない。
スケーラビリティとパフォーマンス
Weaviateは、クラスタ内の複数のノードにデータを分散させることで、水平方向に拡張することができる。しかし、非常に大規模なデータセット(数百万ベクトル)の場合、一部のユーザーからスケーリングの問題が報告されています。スケールアップにはWeaviateのエンジニアが必要であり、自動で行うことはできません。
Valdは最初から高いスケーラビリティのために構築されている。何十億ものベクトルを扱うことができ、お客様のニーズに応じて拡張することができます。Vald は分散インデックスを使用しているため、インデックスの更新中でも検索を継続することができます。
柔軟性とカスタマイズ
Weaviateは、GraphQLやRESTful APIを利用した柔軟性に優れている。エンベッディングやリランキングのための様々なプラグインがあり、検索設定をカスタマイズすることができる。
Valdはデータの入出力をカスタマイズでき、gRPCとうまく連携する。様々なセットアップやクラウド環境にフィットするように設計されている。
統合とエコシステム
WeaviateはGenAIエコシステムと深く統合されているため、AIアプリケーション、セマンティック検索、推薦システム、コンテンツ分類に適している。
Valdはクラウド環境とgRPCで動作するように設計されているが、WeaviateほどAIエコシステムと統合されていないかもしれない。
使いやすさ
Weaviateは、開発者に優しいアプローチ、シンプルなセットアップ、よく文書化されたAPIで知られている。ベクター検索を初めて使う開発者にとっては、良いエントリーポイントになるだろう。
Valdは強力ですが、高性能で大規模なベクトル検索に特化しているため、学習曲線はより急です。
コスト
WeaviateもValdもオープンソースであるため、主なコストはインフラとメンテナンスになる。Weaviateにはマネージド・サービスがあり、運用コストは削減できるが、直接コストは増加する。
非常に大規模なデータセットの場合は、Vald の方が費用対効果が高い。
セキュリティ機能
Weaviateにはいくつかのセキュリティ機能があるが、エンタープライズグレードではない。認証とアクセスコントロールはあるが、高度なセキュリティ機能は限られている。
それぞれを選択するタイミング
Weaviateは、AIエコシステムを強力に統合した、柔軟なベクターデータベースを必要とするプロジェクトに適した選択肢です。AIアプリケーション、セマンティック検索システム、レコメンデーションエンジンを構築する開発者が、テキスト、画像、音声などの異なるデータタイプを扱う場合に最適です。Weaviateは、ベクトル検索と従来のデータベースクエリを組み合わせる必要がある場合や、ベクトル検索を初めて使用するチームにとって使いやすいソリューションが必要な場合に最適です。
Valdは、膨大なベクターデータセットを扱うプロジェクト、特にスケーラビリティと検索スピードが重要な場合に適しています。電子商取引における大規模な類似検索、大規模プラットフォームにおけるコンテンツ推薦、巨大データセットにおけるリアルタイムの異常検知など、何十億ものベクトルを扱う必要があるアプリケーションに最適です。Valdの分散アーキテクチャは、堅牢なベクトル検索を必要とする高性能なクラウドネイティブアプリケーションを構築するチームに最適です。
要約
Weaviateは、使いやすさ、様々なデータタイプへの柔軟性、AIエコシステムとの強力な統合性において優れている。Valdは生のパフォーマンスとスケーラビリティに優れている。特に中小規模のプロジェクトで汎用性と統合の容易さが必要な場合はWeaviateを選択する。巨大なベクトルデータセットを高いパフォーマンスとスケーラビリティで処理する必要がある場合は、Valdを選択する。最適な選択は、データ量、検索の複雑さ、既存システムとの統合など、プロジェクト固有のニーズによって異なることを覚えておいてください。
本記事ではWeaviateと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 Delivers Better Performance and Lower Costs with Arm Neoverse-based AWS Graviton
Zilliz Cloud adopts Arm-based AWS Graviton3 CPUs to cut costs, speed up AI vector search, and power billion-scale RAG and semantic search workloads.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.

Empowering Innovation: Highlights from the Women in AI RAG Hackathon
On January 25, 2025, the inaugural Women in AI RAG Hackathon brought together a diverse group of women technologists at Stanford University
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.


