Vespa vs MyScale AIアプリケーションに適したベクターデータベースの選択
ベクターデータベースとは?
VespaとMyScaleを比較する前に、まずベクターデータベースの概念について説明します;
ベクトルデータベース](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)など。
- Faiss](https://zilliz.com/learn/faiss)やAnnoyのようなベクトル検索ライブラリ。
- Chroma](https://zilliz.com/blog/milvus-vs-chroma)やMilvus Liteのような軽量ベクトルデータベース。
- 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。
Vespaは専用のベクターデータベースです。MyScaleはClickHouse上に構築されたデータベースで、ベクトル検索とSQLアナリティクスを組み合わせ、アドオンとしてベクトル検索機能を備えている。この記事では、両者のベクトル検索機能を比較する。
Vespa概要とコアテクノロジー
Vespaは強力な検索エンジンとベクトルデータベースで、複数の種類の検索を一度に扱うことができます。ベクター検索、テキスト検索、構造化データによる検索に優れています。つまり、類似したアイテム(画像や商品など)を検索したり、テキスト内の特定の単語を検索したり、日付や数字に基づいて検索結果をフィルタリングしたりすることができます。Vespaは柔軟性があり、単純な数値から複雑な構造まで、さまざまな種類のデータを扱うことができます。
Vespaの際立った特徴のひとつは、ベクトル検索ができることです。ドキュメントにいくつでもベクトルフィールドを追加することができ、Vespaはそれらを素早く検索します。Vespaはテンソルと呼ばれる特殊なベクトルも扱うことができ、マルチパートのドキュメント埋め込みなどを表現するのに便利です。Vespaはこれらのベクトルをどのように保存し検索するかについてスマートなので、速度を落とすことなく本当に大量のデータを扱うことができます。
Vespaは超高速かつ効率的に構築されています。メモリを管理し、検索を行うためにC++で書かれた独自の特別なエンジンを使用しているため、複雑なクエリや大量のデータを扱ってもうまく動作します。新しいデータを追加したり、たくさんの検索を同時に処理したりしても、スムーズに動作し続けるように設計されています。そのため、多くのトラフィックやデータを処理する必要がある、大規模で現実的なアプリケーションに最適です。
Vespaのもう一つの優れた点は、より多くのデータやトラフィックを処理するために自動的にスケールアップできることです。Vespaのセットアップにコンピュータを追加すれば、自動的にそれらのコンピュータに作業を分散させることができる。これは、複雑なセットアップをすることなく、ニーズの成長に合わせて検索システムを成長させることができることを意味します。Vespaは、データ量やトラフィックの変化に対応するために自動的に調整することもでき、コスト削減に役立ちます。そのため、時間とともに成長する検索システムを必要とするビジネスには最適です。
MyScale とは?概要とコアテクノロジー
MyScaleはオープンソースのClickHouseデータベース上に構築されたクラウドベースのデータベースで、AIや機械学習のワークロード向けに設計されている。構造化データ、ベクトルデータ、リアルタイム分析、機械学習を扱うことができる。MyScaleは時系列、ベクトル検索、全文検索に重点を置いているため、リアルタイム処理やAI主導の洞察に適している。ClickHouseアーキテクチャを使用することで、MyScaleはAI向けに高性能でスケーラブルです。
MyScaleの主な特徴の1つはネイティブSQLのサポートで、ベクトル検索、全文検索、従来のSQLクエリを1つのシステムに統合することで、AI主導のクエリを簡素化します。これにより、複数のツールの必要性を減らし、AI向けのスケーラビリティを実現している。MyScaleは、ベクトル化されたデータを操作するためのOLAPデータベース・アーキテクチャを使用して、1つのプラットフォーム上で構造化データとベクトル化データの両方の分析処理をサポートし、管理します。開発者はSQLを使用してMyScaleとやり取りできるため、リレーショナルデータベースに精通したすべてのプログラマーがアクセス可能です。
MyScaleには複数のベクトルインデックスタイプと類似度メトリクスがあり、様々なユースケースをサポートします。ユークリッド距離(L2)、内積(IP)、余弦類似度といった一般的な距離メトリクスをサポートしています。データベースには複数のインデックス作成アルゴリズムがあります:MSTG(マルチスケールツリーグラフ)、ScaNN、IVFFLAT、IVFPQ、IVFSQ、HNSWがあり、それぞれパラメータを調整することができます。MyScale独自のMSTGベクトルエンジンは、NVMe SSDを使用してデータ密度を高めているため、パフォーマンスとコストの両面で特殊なベクトルデータベースを凌駕します。
SQLデータベース、ベクトルデータベース、全文検索エンジンの機能を1つのシステムに統合することで、MyScaleはインフラとメンテナンスコストを削減します。この統合により、共同データクエリーと分析が可能になり、AIアプリケーションのための単一のデータ基盤が実現します。MyScaleはまた、LLMシステムの完全な観測性を実現するMyScale Telemetryを備えているため、効率的なモニタリングとデバッグが可能です。データがより複雑になるにつれ、MyScaleは、異なるデータタイプ間のコンピューティング・パフォーマンスと統合性を維持しながら、より新しいデータ様式とデータベース・サイズに対応できる、将来性のあるソリューションです。
主な違い
適切なベクトル検索ソリューションの選択は、プロジェクトの成功の鍵となります。この比較では、ベクトル検索分野の2大プレイヤーであるVespaとMyScaleについて見ていきます。
検索
Vespaは、ベクトル検索、テキスト検索、構造化データ検索を1つに統合した検索アプローチを採用しています。ベクトル検索は、文書ごとに複数のベクトルフィールドをサポートし、複雑な文書の埋め込みに特化したテンソル処理を行う。検索エンジンは、メモリ管理とクエリ処理にカスタムC++エンジンを使用しています。
MyScaleはClickHouseの上に構築することで、異なるアプローチをとっている。MyScaleはClickHouseの上に構築することで、異なるアプローチをとっている:MSTG、ScaNN、IVFFLAT、IVFPQ、IVFSQ、HNSW。一般的な距離メトリクスをサポートしています:ユークリッド距離(L2)、内積(IP)、余弦類似度。MyScaleのMSTGベクトル・エンジンは、NVMe SSDを使用してデータ密度を高めます。
データ
Vespaは単純な数値から複雑な構造まで、様々なデータ型を扱うことができます。複数の検索タイプを同時に扱うことができるので、異なる検索アプローチを組み合わせる必要があるアプリケーションに適しています。
MyScaleは構造化データとベクトルデータに重点を置いており、時系列とリアルタイム分析に重点を置いている。ベクトル化されたデータ処理にOLAPデータベース・アーキテクチャを使用しているため、開発者は使い慣れたSQLクエリを使用して構造化データとベクトルデータの両方を扱うことができる。
パフォーマンスとスケーラビリティ
Vespaは複数のマシンで自動スケーリングが可能です。システムはワークロードを自動的に分散し、データ量やトラフィックパターンの変化に適応します。自動スケーリングにより、リソースの使用量とコストを最適化できます。
MyScaleは、スケーラビリティのためにクリックハウスの高性能アーキテクチャを採用している。同社独自のMSTGベクトルエンジンは、特にNVMe SSDを使用した場合、専用のベクトルデータベースと比較して、より優れたパフォーマンスとコスト効率を謳っている。
統合と開発者エクスペリエンス
Vespaは、追加ツールなしで複数の検索タイプを扱える完全な検索ソリューションである。しかし、他のシステムとの統合に関する情報はありません。
MyScaleはSQLファーストのアプローチで際立っている。SQLに精通した開発者は、新しいクエリ言語を学ぶことなくベクトル検索を使い始めることができる。LLMシステムのモニタリングとデバッグのためのMyScale Telemetryは、アプリケーションの保守と最適化を容易にします。
インフラストラクチャー
Vespa の自動スケーリングとワークロード分散により、リソースの使用量を最適化し、運用コストを削減できます。システムは実際の使用パターンに適応する。
MyScaleはSQLデータベース、ベクターデータベース、全文検索を1つのシステムに統合しており、インフラとメンテナンスコストを削減できる。同社のMSTGベクトルエンジンはNVMe SSDを効率的に使用し、コストパフォーマンスにも貢献する。
各テクノロジーを選択するタイミング
Vespaは、商品類似検索、テキスト検索、構造化フィルタを組み合わせたeコマースプラットフォームなど、複数の検索タイプをシームレスに連携させる必要があるアプリケーションで輝きを放ちます。自動スケーリングとカスタムC++エンジンにより、高いパフォーマンスを維持しながら、異なるデータタイプにまたがる複雑なクエリを処理する必要がある大規模アプリケーションに最適です。
MyScaleは、すでにSQLデータベースを使用しているチームが、新しいクエリ言語を学ぶことなくベクトル検索機能を追加したい場合に最適です。特に、LLMシステムの詳細なモニタリングが必要で、技術スタックをシンプルに保ちたい場合、時系列データ、リアルタイム分析、AI主導の洞察を含むアプリケーションに最適です。
結論
VespaとMyScaleはどちらもベクトル検索に魅力的な機能を提供しているが、そこに到達するまでの道のりは異なる。Vespaの強みは、統一された検索アプローチ、自動スケーリング、複数のベクトルフィールドを持つ複雑なドキュメント構造を扱う能力にあります。MyScaleは、SQLファーストのアプローチ、特化したベクトルインデキシングオプション、LLMシステム用のビルトインモニタリングツールで際立っている。MyScaleを選択する際には、チームの専門知識、既存のインフラ、データ処理、パフォーマンス、スケーラビリティに関する具体的な要件を考慮する必要があります。最終決定を下す前に、実際のデータと使用パターンでベンチマークを実行することを検討してください。
VespaとMyScaleの概要についてはこちらをお読みいただきたいが、これらを評価するには、ユースケースに基づいて評価する必要がある。それに役立つツールの一つが、ベクターデータベースの比較のためのオープンソースのベンチマークツールである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)
読み続けて

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

Balancing Precision and Performance: How Zilliz Cloud's New Parameters Help You Optimize Vector Search
Optimize vector search with Zilliz Cloud’s level and recall features to tune accuracy, balance performance, and power AI applications.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.
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.


