Zilliz Cloud vs ClickHouse AIアプリに適したベクターデータベースの選択
ベクターデータベースとは?
Zilliz CloudとClickHouseを比較する前に、まずベクターデータベースの概念について説明します;
ベクトルデータベース](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のような軽量ベクトルデータベース。
- 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。
Zilliz Cloudは、専用のベクターデータベースである。ClickHouseはオープンソースの列指向データベースで、アドオンとしてベクトル検索機能を備えている。この記事では、両者のベクトル検索機能を比較する。
Zilliz Cloud:概要とコアテクノロジー
Zilliz Cloudは、オープンソースのMilvusエンジン上に構築されたフルマネージドベクターデータベースサービスです。ベクトル埋め込みデータを効率的に保存、管理、検索することで、開発者や組織が大規模なAIアプリケーションを扱えるよう支援します。Zillizクラウドがインフラを管理するため、データベースを管理する代わりにAI機能の構築に集中することができます。
Zilliz Cloudの主な利点の1つは、パフォーマンスの自動最適化です。このシステムにはAutoIndexテクノロジーが搭載されており、あなたのデータとユースケースに最適なインデックス作成方法を選択します。そのため、パラメータのチューニングや異なるインデックスタイプの比較に時間を費やす必要はありません。また、このプラットフォームはIVF(Inverted File)とグラフベースのテクニックを使い、大規模なデータセットの類似性検索を高速化します。
このプラットフォームにはエンタープライズ機能がある。AWS、Azure、Google Cloudにベクターデータベースを展開することができ、Zillizのフルマネージドサービスを利用することも、BYOC(Bring Your Own Cloud Account)を利用することもできる。機密データを扱う組織のために、Zilliz Cloudは暗号化、アクセス管理、コンプライアンスツールなどのセキュリティコントロールを備えている。また、さまざまな一貫性レベルをサポートしているため、ニーズに応じて高速更新と強力なデータ一貫性のバランスを取ることができます。
コスト管理はZilliz Cloudのもう一つの重要な側面である。このプラットフォームでは、階層型ストレージを使用して、アクセスの少ないデータをより安価なストレージオプションに自動的に移動させるため、パフォーマンスに影響を与えることなくコストを削減することができます。また、ワークロードに合わせてコンピュートリソースを選択することもできます。例えば、重い処理タスクにはより強力なインスタンスを使用し、単純なクエリにはより軽量なインスタンスを使用するといった具合です。この柔軟性により、パフォーマンスを維持しながらコストを最適化することができます。
異なるタイプのデータを一緒に検索する必要があるAIアプリケーションのために、Zilliz Cloudはハイブリッド検索をサポートしています。単一のクエリで、テキスト埋め込み、画像ベクトル、その他のデータタイプを横断的に検索できます。また、このプラットフォームは、コサイン、ユークリッド、内積などの様々な類似度メトリクスをサポートしているため、様々な機械学習モデルやユースケースに適している。データが増大するにつれて、システムは自動的にリソースを追加することで水平方向に拡張できるため、負荷の高い作業でも優れたパフォーマンスを維持することができます。
クリックハウス概要とコアテクノロジー
ClickHouseはオープンソースのリアルタイム分析用OLAPデータベースで、SQLをフルサポートしており、高速なクエリ処理が可能です。完全に並列化されたクエリパイプラインと高速なベクトル検索が可能なため、分析クエリに最適です。高い圧縮率(コーデックによってカスタマイズ可能)を持つため、大きなデータセットを保存してクエリすることができる。主な利点のひとつは、メモリに縛られることなく複数TBのデータセットを扱えることで、大規模なベクトルデータを扱うユーザーには最適なツールだ。また、メタデータのフィルタリングと集約をサポートしているので、ベクターとそのメタデータを照会することができます。
ClickHouseはSQLによるベクトル検索機能を備えており、ベクトル距離演算は他のSQL関数と同様です。そのため、従来のフィルタリングや集約と組み合わせることができます。メタデータやその他の情報とともにベクトルデータを照会する必要がある場合に最適です。また、実験的な近似最近傍(ANN)インデックスにより、より高速な(しかし近似的な)マッチングが可能です。また、並列処理による行のリニアスキャンによる厳密なマッチングにより、スピードと効率を向上させます。
ClickHouseは、ベクトルマッチングとメタデータのフィルタリングや集約を組み合わせる必要がある場合のベクトル検索に最適です。特に、複数のCPUコアで並列処理する必要がある非常に大きなベクトルデータセットに最適です。ClickHouseは、SQLサポートが必要で、ベクターデータセットが大きすぎてメモリのみのインデックスに収まらない場合にも適しています。また、既にClickHouseに関連データがある場合や、何百万ものベクトルを管理するために別のツールを習得したくない場合にも、ClickHouseは時間とリソースを節約することができます。ClickHouseが得意とするのは、並列化された高速な完全マッチングと大きなデータセットの処理なので、検索上級者向けです。
ClickHouseはベクトル検索の汎用プラットフォームで、特に並列処理が必要な大規模データセットや、ベクトル検索とSQLベースのフィルタリングや集計を組み合わせる場合に適しています。小規模なメモリバウンドデータセットや高QPSシナリオでは、特化したベクトルデータベースには劣るが、メタデータを含む複雑なクエリを扱えるので、SQLを知っていて高速なベクトル検索を必要とする開発者には最適だ。
主な違い
ベクトル検索ソリューションを選択する際、それぞれの長所を知っておくとより良い決断ができます。Zilliz CloudとClickHouseをベクトル検索に重要な側面から比較してみましょう。
検索方法とパフォーマンス
Zilliz CloudはIVFとグラフベースのアルゴリズムを検索に使用し、AutoIndexで最適なインデックス作成方法を自動的に選択します。手動でパラメータを調整する必要はありません。
ClickHouseでは、SQL関数によるベクトル検索を採用しています。並列リニアスキャンによる正確なマッチングと、実験的な近似最近傍(ANN)インデックスを備えています。CPUコアをまたいだ並列処理が得意なので、厳密なマッチングに適しています。
データ管理とハンドリング
Zilliz Cloudはベクトル埋め込み用に構築されており、異なるデータタイプ、テキスト埋め込み、画像ベクトルのハイブリッド検索をサポートしています。様々な機械学習モデルのための複数の類似性メトリクス(コサイン、ユークリッド、内積)。
ClickHouseは、ベクトル検索と従来のSQLを組み合わせることに優れています。メタデータと共にベクトルデータを扱うので、標準的なSQLのフィルタリングや集計でベクトルの類似度を問い合わせることができます。同じクエリでベクトルデータと非ベクトルデータの両方を扱う必要がある場合に適しています。
スケーラビリティ戦略
Zilliz Cloudは自動で水平スケールし、必要に応じてリソースを追加し、高負荷時のパフォーマンスを維持します。階層型ストレージにより、アクセス数の少ないデータをより安価なストレージに自動的に移動。
ClickHouseは、並列処理によって複数TBのデータセットを扱うように設計されている。メモリに縛られないので、利用可能なRAMを超えるような大規模なベクトルデータセットに適している。大きなデータセットを管理するために(カスタムコーデックによる)高圧縮を使用する。
使いやすさと管理
Zilliz Cloudは、主要なクラウドプロバイダー(AWS、Azure、Google Cloud)にまたがるフルマネージドサービスです。Zillizがインフラを管理するため、データベースの管理ではなく、AI機能の構築に集中することができます。
ClickHouseは、ベクトル操作に標準SQL構文を使用するため、SQLの専門知識を持つチームには馴染みやすい。しかし、Zilliz Cloudのマネージド・サービスに比べ、より実践的な管理が必要となる。
コストとリソースの最適化
Zilliz Cloudでは、必要に応じてリソースを割り当て、ワークロードに合ったコンピューティングを行うことができます。自動化された階層型ストレージは、アクセス数の少ないデータのコスト最適化に役立ちます。
ClickHouseのコストメリットは、その圧縮と、すべてのデータをメモリに置かずに大きなデータセットを処理できることにある。しかし、インフラと最適化は自分で管理する必要がある。
Zilliz Cloudを使うべき時
自動管理と自動最適化を備えた専用のベクトルデータベースが必要な場合、Zilliz Cloudをご利用ください。特にエンベッディングを扱うAIやMLアプリケーションなど、大規模なデータセットの純粋なベクトル類似検索が必要なシナリオに最適です。自動スケーリング、ハイブリッド検索、マネージド・サービス・モデルにより、インフラを管理せずにAI機能の構築に集中したいチームに最適です。クロスクラウド展開、強力なセキュリティ制御、自動パフォーマンス最適化などのエンタープライズ機能を必要とする組織にも最適です。
##クリックハウスを使うとき
ClickHouseは、ベクトル検索と複雑なSQL操作やメタデータ分析を組み合わせる必要がある場合に使用する。すでにSQLを多用しており、ベクトル検索を既存の分析ワークフローに統合する必要がある組織に適している。このプラットフォームは並列処理に強く、メモリ制約なしに複数TBのデータセットを扱えるため、ベクトルの類似性と従来のデータフィルタリングや集計を組み合わせた大規模な分析クエリに最適です。より広範なデータ分析の一環としてベクトル検索を行う必要がある場合や、ベクトルデータが大きすぎてメモリのみのインデックスでは対応できない場合に最適です。
結論
Zilliz CloudとClickHouseのどちらを選択するかは、技術的要件と組織能力によって決まります。Zilliz Cloudは自動最適化とエンタープライズ機能を備えたマネージドベクトルデータベースサービスであり、純粋なベクトル検索アプリケーションに最適です。ClickHouseはベクトル検索を備えた汎用分析データベースで、ベクトル操作とSQLベースの分析を組み合わせたシナリオに優れています。どちらもベクトル検索に対する強力なアプローチを持っていますが、異なるアプローチであるため、決定する際には、チームの専門知識、既存のインフラ、データ量、クエリーパターン、管理者の好みを考慮してください。
Zilliz CloudとClickHouseの概要についてはこちらをお読みいただきたいが、これらを評価するには、ユースケースに基づいて評価する必要がある。それに役立つツールの一つが、ベクターデータベースの比較のためのオープンソースのベンチマークツールである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 Enterprise Vector Search Powers High-Performance AI on AWS
Zilliz Cloud on AWS powers secure, scalable, ultra-fast vector search for enterprise AI apps, with BYOC, sub-10ms latency, and zero-DevOps simplicity.

What is the K-Nearest Neighbors (KNN) Algorithm in Machine Learning?
KNN is a supervised machine learning technique and algorithm for classification and regression. This post is the ultimate guide to KNN.

3 Key Patterns to Building Multimodal RAG: A Comprehensive Guide
These multimodal RAG patterns include grounding all modalities into a primary modality, embedding them into a unified vector space, or employing hybrid retrieval with raw data access.
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.


