46.4kデモを予約するログイン無料で始める

オープンサーチとクリックハウス:GenAIアプリケーションに適したデータベースの選択

Oct 16, 20241 min read

AI主導のアプリケーションが進化する中、これらの進化をサポートするベクトル検索機能の重要性はいくら強調してもしすぎることはない。このブログ記事では、ベクトル検索機能を持つ2つの著名なデータベースについて説明する:OpenSearchとClickHouseである。それぞれ、レコメンデーション・エンジン、画像検索、セマンティック検索などのアプリケーションに必須の機能であるベクトル検索を扱うための堅牢な機能を提供している。私たちのゴールは、開発者やエンジニアに明確な比較を提供し、どのデータベースが彼らの特定の要件に最も合致するかを決定する手助けをすることです。

ベクターデータベースとは?

OpenSearchとClickHouseを比較する前に、まずベクターデータベースの概念を探ってみましょう。

ベクトルデータベース](https://zilliz.com/learn/what-is-vector-database)は、特に高次元のベクトルを格納し、クエリするように設計されています。ベクトルは非構造化データの数値表現です。これらのベクトルは、テキストの意味、画像の視覚的特徴、または製品の属性などの複雑な情報をエンコードします。効率的な類似検索を可能にすることで、ベクトルデータベースはAIアプリケーションにおいて極めて重要な役割を果たし、より高度なデータ分析と検索を可能にしている。

ベクトルデータベースの一般的なユースケースには、電子商取引の商品推奨、コンテンツ発見プラットフォーム、サイバーセキュリティにおける異常検知、医療画像分析、自然言語処理(NLP)タスクなどがある。また、AI幻覚のような問題を軽減するために外部知識を提供することで大規模言語モデル(LLMs)のパフォーマンスを向上させる技術である、検索拡張生成(RAG)でも重要な役割を果たしている。

市場には、以下のような多くの種類のベクトル・データベースがある:

  • 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のような軽量ベクトルデータベース。
  • 小規模なベクトル検索が可能なベクトル検索アドオンを備えた従来のデータベース**。

OpenSearchとClickHouseは、アドオンとしてベクトル検索機能を含むように進化した伝統的なデータベースである。

オープンサーチとは?概要

OpenSearch](https://opensearch.org/)は、構造化データ、半構造化データ、非構造化データなど、多様なデータタイプを管理する、堅牢なオープンソースの検索・分析スイートである。ElasticsearchとKibanaからコミュニティ主導のフォークとして2021年に開始されたこのOpenSearchスイートには、OpenSearchデータストアと検索エンジン、高度なデータ可視化のためのOpenSearchダッシュボード、効率的なサーバーサイドのデータ収集のためのData Prepperが含まれています。

Apache Luceneの強固な基盤の上に構築されたOpenSearchは、非常にスケーラブルで効率的な全文検索(キーワード検索)***を可能にし、大規模なデータセットを扱うのに理想的です。最新のリリースで、OpenSearch は検索機能を大幅に拡張し、追加プラグインを通じて ベクトル検索 を含むようになりました。OpenSearchは現在、従来の字句検索、k-nearest neighbors (k-NN)、意味検索、マルチモーダル検索、ニューラル・スパース検索、ハイブリッド検索モデルなど、機械学習を利用した検索手法の数々をサポートしている。これらの機能強化により、ニューラル・モデルが検索フレームワークに直接統合され、データ取り込みの時点でオンザフライの埋め込み生成と検索が可能になります。この統合により、プロセスが合理化されるだけでなく、検索の関連性と効率が著しく向上します。

最近のアップデートでは、OpenSearchの機能がさらに進化し、ディスク最適化ベクトル検索、バイナリ量子化、k-NN検索におけるバイトベクトルエンコーディングなどの機能が導入された。機械学習タスク処理と検索クエリ性能の改善とともに、これらの追加機能は、OpenSearchがデータをフル活用することを目指す開発者や企業にとって最先端のツールであることを再確認させる。ダイナミックで協力的なコミュニティに支えられ、OpenSearchは進化を続け、アプリケーションに高度な検索機能を必要とする開発者にとって最良の選択肢として際立つ、包括的でスケーラブル、かつ適応性の高い検索・分析プラットフォームを提供します。

クリックハウスとは?概要

ClickHouseはリアルタイム分析用のオープンソースOLAPデータベースで、SQLをフルサポートしており、高速なクエリ処理が可能です。完全に並列化されたクエリ・パイプラインを持ち、ベクトル検索を高速に実行できるため、分析クエリに最適です。高圧縮(コーデックによってカスタマイズ可能)なので、大きなデータセットも保存してクエリできる。主な利点のひとつは、メモリに縛られることなく複数TBのデータセットを扱えることで、大規模なベクトルデータを扱うユーザーには最適なツールだ。また、メタデータのフィルタリングと集約をサポートしているので、ベクターとそのメタデータを照会することができます。

**ClickHouseはSQLによるベクトル検索機能を備えており、ベクトル距離演算は他のSQL関数と同じです。メタデータやその他の情報とともにベクトルデータを照会する必要がある場合に最適です。また、実験的な近似最近傍(ANN)インデックスにより、より高速な(しかし近似的な)マッチングが可能です。また、並列処理による行のリニアスキャンによる厳密なマッチングにより、スピードと効率を向上させます。

ClickHouseは、ベクトルマッチングとメタデータのフィルタリングや集約を組み合わせる必要がある場合のベクトル検索に最適です。特に、複数のCPUコアで並列処理する必要がある非常に大きなベクトルデータセットに最適です。ClickHouseは、SQLサポートが必要で、ベクターデータセットが大きすぎてメモリのみのインデックスに収まらない場合にも適しています。また、既にClickHouseに関連データがある場合や、何百万ものベクトルを管理するために別のツールを習得したくない場合にも、ClickHouseは時間とリソースを節約することができます。ClickHouseが得意とするのは、並列化された高速な完全マッチングと大きなデータセットの処理なので、検索上級者向けです。

ClickHouseはベクトル検索の汎用プラットフォームで、特に並列処理が必要な大規模データセットや、ベクトル検索とSQLベースのフィルタリングや集計を組み合わせる場合に適しています。小規模なメモリバウンドデータセットや高QPSシナリオでは、特化したベクトルデータベースには劣るが、メタデータを含む複雑なクエリを扱えるので、SQLを知っていて高速なベクトル検索を必要とする開発者には最適だ。

オープンサーチとクリックハウスの比較:GenAIにとっての主な違い

検索方法

OpenSearch:ApacheLuceneをベースに構築されたOpenSearchは、その検索機能を大幅に進化させ、k-nearest neighbors (k-NN)、セマンティック検索、ハイブリッド検索モデルなどの様々な機械学習による手法をサポートしたベクトル検索を含むようになった。これらの機能により、ダイナミックな埋め込み生成のためのニューラル・モデルの直接統合が可能になり、検索操作の効率と関連性の両方が強化される。

ClickHouse:クリックハウスは、ベクトル検索機能を SQL エンジンに統合し、ベクトル距離演算を SQL 関数としてサポートしています。これにより、メタデータのフィルタリングや集計など、従来のSQLクエリと並行してベクトルデータを効率的にクエリできるようになりました。また、ClickHouse はベクトルデータの近似マッチングと完全マッチング機能を提供し、並列処理によって最適化され、大規模なデータセットを効率的に処理します。

データハンドリング

OpenSearch: 構造化、半構造化、非構造化データを含む幅広いデータタイプを管理します。ディスクに最適化されたベクター検索とバイトベクターエンコーディングの機能強化に よる最近のアップデートにより、特に AI 主導のアプリケーションにおいて、大規模で複雑なデータセットの処理能力が強化された。

ClickHouse:ClickHouseは、主にカラム型データモデルによるOLAP向けに最適化されていますが、現在では大規模なベクトルデータセットも効率的に処理できるようになり、高圧縮や並列データ処理をサポートしています。メモリに縛られることなく大量のデータを管理できるため、広範な分析クエリに適しています。

スケーラビリティとパフォーマンス

OpenSearch:スケーラビリティが高く、Lucene ベースを活用し、大規模データセットの全文検索とベクトル検索を効率的に実行する。このプラットフォームは水平方向に拡張できるように設計されており、データ量の増加にシームレスに対応する能力を高めています。

ClickHouse:完全に並列化されたクエリーパイプラインにより、クエリーを高速に処理する能力で知られるClickHouseは、特にマルチテラバイトデータセットのリアルタイム分析に優れたスケーラビリティを発揮します。そのアーキテクチャにより、大規模で複雑なデータセットに対しても高速なクエリ実行が可能です。

柔軟性とカスタマイズ

OpenSearch:豊富なAPIとプラグインでサポートされ、データモデリングとクエリに幅広い柔軟性を提供します。最近の検索機能の強化により、高度なカスタマイズが可能になり、多様で進化するアプリケーションのニーズに対応します。

ClickHouse:ベクトル検索用のSQL関数を通じて、強力なSQLサポートとカスタマイズオプションを提供する一方で、ClickHouseの柔軟性はテキスト検索よりもむしろ分析機能に重点を置いている。そのSQL中心のアプローチは、SQLの専門知識を持つ人々に使い慣れたツールを提供し、ベクトル操作と組み合わせた複雑なクエリを可能にします。

統合とエコシステム

OpenSearch: さまざまなデータ収集、処理、視覚化ツールと互換性のある強力な統合エコシステムを維持。このエコシステムは、継続的な進化に貢献するダイナミックで協力的なコミュニティに支えられています。

ClickHouse:また、特に分析やデータウェアハウスをサポートするツールとの重要な統合機能を誇っています。SQLクエリーを処理できるため、SQLベースの既存システムやワークフローと簡単に統合できる。

使いやすさ

OpenSearch:その高度な機能にもかかわらず、OpenSearchは管理しやすい学習曲線を維持し、セットアップとメンテナンスを容易にする包括的なドキュメンテーションとサポートコミュニティに支えられています。

ClickHouse:ClickHouseは、高度なSQLとデータベースの最適化に精通している必要があり、潜在的に学習曲線が急になる可能性がある。しかし、その詳細なドキュメントと活発なコミュニティは、新しいユーザーに貴重なサポートを提供します。

コストの考慮

OpenSearch: オープンソースのソリューションである OpenSearch は、自己管理であれば費用対効果が高い。しかし、特に大規模なデプロイメントでは、運用コストが大きくなる可能性があります。Amazon OpenSearch Service のようなマネージドサービスは便利ですが、コストがかさみます。

ClickHouse:ClickHouseの高いデータ圧縮率と効率的な処理能力は、大規模データ分析のための費用対効果の高い選択肢となる。特に大規模なデータセットを扱う際にはコスト面で有利だが、マネージド・サービスやプレミアム機能を利用すると全体的なコストが上昇する可能性がある。

セキュリティ機能

OpenSearch:暗号化、役割ベースのアクセス制御、監査ロギングを含む堅牢なセキュリティ機能を提供し、転送中および静止中のデータの包括的なセキュリティを確保します。

ClickHouse:SSL/TLS暗号化や役割ベースのアクセス制御など、必要不可欠なセキュリティ機能を提供します。OpenSearchが提供する包括的なセキュリティ機能に合わせて、追加のセキュリティ対策が必要になる場合があります。

GenAIにOpenSearchとClickHouseを選択する時

ベクター検索にOpenSearchを選択するのは以下のような場合である:

  • 統合検索のニーズ:** ベクトル検索と従来の全文検索機能を組み合わせたい場合。OpenSearchは、k-nearest neighbors (k-NN)、セマンティック検索、ハイブリッドモデルを含む様々な検索手法をサポートしており、高度な検索シナリオを可能にします。
  • リアルタイム検索と分析:*** リアルタイムでベクトル検索を実行する能力が必要であり、同時に分析とデータ可視化機能も必要です。OpenSearchはリアルタイムのデータ処理に対応し、即時のデータ可視化と洞察のためのツールを提供します。
  • 機械学習の強化:** 複雑なデータタイプを扱う場合や、オンザフライで埋め込みを生成する必要がある場合は特に、検索精度と関連性を向上させる機械学習モデルの恩恵を受けることができます。

以下のような場合に、ClickHouse for Vector Searchをお選びください:

  • 高性能分析:** 特に、ベクトルマッチングと詳細なSQLベースのデータフィルタリングおよび集計を組み合わせる必要がある場合、非常に大規模なデータセットに対する高速で効率的なクエリが必要です。
  • 大規模データセットの処理: ベクトル検索操作は、パフォーマンスを損なうことなく、大量のデータに対して拡張する必要があります。ClickHouseは、マルチテラバイトのデータセットを効率的に処理できるように最適化されており、大量の分析ワークロードに最適です。
  • SQLベースのベクトル操作:** ベクトル検索操作にSQLを使用し、ベクトル距離計算をSQLクエリに直接統合することができます。これは、ベクトル検索を大規模なデータセットを含む複雑なSQLクエリと組み合わせる必要がある場合に特に便利です。

特別なベクトルデータベースを選択するタイミングは?

OpenSearchやClickHouseは拡張機能としてベクトル検索機能を提供していますが、大規模で高性能なベクトル検索タスクには最適化されていません。画像認識、電子商取引のレコメンデーション、NLPタスクなど、数百万から数十億の高次元ベクトルに対する高速で正確な類似検索を必要とするアプリケーションには、MilvusやZilliz Cloud(マネージドMilvus)のような特化型ベクトルデータベースが適しています。これらのデータベースは、高度な近似最近傍(ANN)アルゴリズム(例、HNSW、IVF)を使用し、ハイブリッド検索(ハイブリッドスパースとデンス検索、マルチモーダル検索、メタデータフィルタリング付きベクトル検索、ハイブリッドデンス検索とフルテキスト検索を含む)、リアルタイムインジェスト、動的環境でのハイパフォーマンスのための分散スケーラビリティなどの高度な機能を提供しています。

一方、OpenSearchやClickHouseのような汎用システムは、ベクトル検索が主要な焦点ではなく、構造化または半構造化データを扱い、ベクトルデータセットが小さいか、性能要件が中程度の場合に適している。これらのシステムをすでに使用していて、新しいインフラストラクチャを導入するオーバーヘッドを避けたい場合、ベクトル検索プラグインはそれらの機能を拡張し、より単純で低スケールのベクトル検索タスクのための費用対効果の高いソリューションを提供することができます。

オープンソースの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)
    • 任意のベクトルデータベースを代替と比較する](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)
Updated on Jul 09, 2026

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.

Get the Free Guide