WeaviateとMyScaleの比較:ニーズに合ったベクターデータベースの選択
AIやデータ駆動型テクノロジーの進歩に伴い、アプリケーションに適切なベクターデータベースを選択することがますます重要になってきている。WeaviateとMyScaleは、この分野における2つの選択肢です。本記事では、これらのテクノロジーを比較し、プロジェクトのための十分な情報に基づいた意思決定を支援します。
ベクターデータベースとは?
Weaviateと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)、Weaviateなど。
- Faiss](https://zilliz.com/learn/faiss)やAnnoyのようなベクトル検索ライブラリ。
- Chroma](https://zilliz.com/blog/milvus-vs-chroma)やMilvus Liteのような軽量ベクトルデータベース。
- 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。
Weaviateは専用のベクターデータベースであり、MyScaleは従来のデータベースにベクター検索機能をアドオンしたものである。この記事では、両者のベクトル検索機能を比較する。
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 のエンジニアのサポートが必要であり、自動的には行えない。
この最後の点は特に注目すべき点である。つまり、組織は事前に計画を立て、スケーリングオペレーションのための時間を割り当て、適切な準備なしにシステムの限界に近づかないようにする必要があるということだ。
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は、異なるデータタイプ間のコンピューティング・パフォーマンスと統合性を維持しながら、より新しいデータ様式とデータベース・サイズに対応できる、将来性のあるソリューションです。
主な違い
ベクトル検索ツールを選択する際には、WeaviateとMyScaleの違いを理解することが重要です。この比較は、開発者やエンジニアが十分な情報を得た上で決定するのに役立ちます。
検索方法
Weaviate は、HNSW (Hierarchical Navigable Small World) インデックスを使用して、高速かつ正確な類似検索を行います。ベクトル検索と従来のフィルタを組み合わせたハイブリッドクエリをサポートしています。これにより、意味的類似性と特定のデータ属性の両方に関する柔軟な検索が可能になります。
MyScaleには複数のベクトルインデックスタイプと類似度メトリクスがあります。ユークリッド距離、内積、コサイン類似度などの一般的な距離メトリクスを備えています。MyScaleには複数のインデックス作成アルゴリズムがあります:MSTG(マルチスケールツリーグラフ)、ScaNN、IVFFLAT、IVFPQ、IVFSQ、HNSW。各アルゴリズムには調整可能なパラメータがあり、ユースケースに合わせてカスタマイズできます。
データ
Weaviateは、構造化データおよび半構造化データの取り扱いに優れています。マルチモーダルデータをサポートしており、使用するベクトル化モジュールに応じて、テキスト、画像、音声、動画など、さまざまなデータタイプを扱うことができます。
MyScaleは構造化データとベクトルデータの両方を扱えるように設計されている。MyScaleは、SQLデータベース、ベクトルデータベース、全文検索エンジンを1つのシステムに統合したものです。この統一されたアプローチにより、共同データクエリーと分析が可能になり、AIアプリケーションのための単一のデータ基盤が実現します。
スケーラビリティとパフォーマンス
Weaviateは水平方向にスケーラブルで、クラスタ内の複数のノードにデータを分散させることができる。しかし、数十億ベクトル規模のデータセットでは苦戦する可能性があり、水平スケールアップにはWeaviateのエンジニアの助けが必要である。
ClickHouseの上に構築されたMyScaleは、高いパフォーマンスとスケーラビリティを実現するように設計されている。独自のMSTGベクトルエンジンは、NVMe SSDを使用してデータ密度を高め、パフォーマンスとコストの両面で特殊なベクトルデータベースを凌駕する可能性があります。MyScaleのアーキテクチャは、大規模なデータセットと高いクエリ負荷を処理できます。
柔軟性とカスタマイズ性
Weaviateは、ハイブリッド検索と複数のデータ型による柔軟性を備えている。RESTful APIとGraphQL APIの両方が用意されているため、開発者はデータベースと対話するためのオプションを利用できる。
MyScaleはネイティブSQLをサポートしており、ベクトル検索、全文検索、従来のSQLクエリを1つのシステムで行うことができる。これにより、クエリが簡素化され、複数のツールの必要性が減少する。開発者はSQLを使ってMyScaleとやりとりできるので、リレーショナル・データベースを知っているプログラマーにはなじみやすい。
統合とエコシステム
WeaviateはGenAIのエコシステムの一部であり、AIアプリケーションの開発に適している。エンベッディングとリランキング用のプラグインが組み込まれており、開発プロセスを簡素化します。
MyScaleは、独自のシステム内での異なるデータタイプ間の統合に重点を置いている。LLMシステムの完全な観測性を実現するMyScale Telemetryを備えており、AIアプリケーションの監視とデバッグが可能です。
使いやすさ
Weaviate は開発者に優しく、セットアップが簡単で、API のドキュメントも充実している。小規模なプロジェクトやPoCに適している。
MyScaleのSQLクエリは、SQLの経験がある開発者には馴染みがあるかもしれない。しかし、多くのインデックス作成アルゴリズムとチューニングオプションを最適化するには、もう少し学習が必要かもしれない。
コスト
どちらもコア部分はオープンソースだが、運用コストは異なる。Weaviateは、非常に大きなデータセットに対するスケーラビリティの問題があり、場合によってはコスト増につながる可能性がある。MyScaleは、1つのシステムに複数のデータベース機能を持たせることで、インフラとメンテナンスのコストを削減できると主張している。
セキュリティ機能
Weaviateには、エンタープライズグレードのセキュリティはない。
それぞれを選択するタイミング
Weaviateは、高速な類似検索や、ベクトル検索とフィルタを組み合わせたハイブリッドクエリを必要とするプロジェクトに適している。特にセマンティック検索、推薦システム、コンテンツ分類など、高速なセットアップと反復が必要なAIアプリケーションに適しています。Weaviateは、マルチモーダルデータ(テキスト、画像、音声、動画)や小規模なプロジェクト、AIや機械学習のPoCに適しています。開発者に優しく、GenAIエコシステムの一部なので、データベースの専門家でなくてもベクトル検索を追加したいチームに最適です。
MyScaleは、構造化データ、ベクトルデータ、全文検索を1つのシステムで処理する統一された方法を必要とするプロジェクトに適している。MyScaleは、複雑なデータからリアルタイム処理やAIによる洞察を必要とするアプリケーションに最適です。MyScaleはネイティブSQLをサポートしているため、SQLの専門知識を持つチームに最適で、使い慣れたクエリ構造にベクトル検索を追加することができる。MyScaleのスケーラビリティとパフォーマンス機能は、特に大規模なデータセットに優れているため、高性能なアナリティクスや機械学習ワークロードを必要とするエンタープライズレベルのアプリケーションに最適です。MyScaleは、LLMシステムの完全な観測性を必要とするプロジェクトにも適しています。
結論
Weaviateは、高速な類似検索、ハイブリッドクエリ、AIエコシステムとの容易な統合など、ベクトル検索へのユーザーフレンドリーなアプローチに適している。マルチモーダルデータに最適で、参入障壁が低い。MyScaleは、構造化データ、ベクトルデータ、全文検索を、SQLインターフェースと複雑なエンタープライズレベルのAIやアナリティクスアプリケーション向けの高度なパフォーマンス機能を備えた拡張性の高い1つのシステムに統合するのに適している。MyScaleとMyScaleのどちらかを選択する際には、使用するケース、データの種類、パフォーマンス要件を考慮する必要がある。Weaviateは、迅速な導入と様々なデータタイプへの柔軟性を求めるチームに適しているかもしれません。一方、MyScaleは、大規模なデータ処理とAI主導の分析用にSQLベースの完全なソリューションを必要とする組織に適しているかもしれません。チームの専門知識、データの性質、長期的なスケーラビリティ要件に合わせて決定する必要があります。
本記事ではWeaviateと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)
読み続けて

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

How to Build an Enterprise-Ready RAG Pipeline on AWS with Bedrock, Zilliz Cloud, and LangChain
Build production-ready enterprise RAG with AWS Bedrock, Nova models, Zilliz Cloud, and LangChain. Complete tutorial with deployable code.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.
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.


