ClickHouse と Phoenix の比較
どちらも可観測性 / 評価に分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | ClickHouse | Phoenix |
|---|---|---|
| ライセンス | Apache-2.0 | ソース公開型 |
| 言語 | C++, Python | Python, TypeScript |
| 提供形態 | セルフホスト / ローカル実行 / マネージドクラウド | セルフホスト / ローカル実行 / マネージドクラウド |
| 成熟度 | 安定 | 安定 |
| スター | 49.3k | 11.1k |
| 直近7日間のスター増加数 | — | +2 ★ |
| フォーク | 8.8k | 1.1k |
| オープンIssue | 6.9k | 922 |
| 最終コミット | 2026年8月16日 | 2026年8月15日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
ClickHouse
追記が中心で値の種類が多いデータ——モデル呼び出しごとに1行を記録し、後からモデル名やコスト、エラーで絞り込む——に向いた列指向エンジンです。Langfuseは2024年12月にトレースの保存先をPostgreSQLからClickHouseへ移し、2026年1月にはClickHouseがLangfuseを買収したため、セルフホストの可観測性基盤を組むと下層にこれが入る構成が増えています。一方でトランザクション処理には向かず、更新や削除は行の書き換えではなく列パート単位の再作成になるため、アプリケーションの状態を書き込む先ではなく、エージェントの実行記録が着地する場所として扱ってください。
詳細を見る →Phoenix
OpenTelemetryベースのため、トレースが特定ベンダーに固定されず可搬です。デバッグ中のコードの隣でローカル実行できます。ライセンスはElastic 2.0で、社内利用には問題ありませんが、マネージドサービスとして提供する場合には制約があります。
詳細を見る →できること
ClickHouse
- モデル呼び出し1回を1行として保存 — 列指向のため、モデル名やコスト、エラー状態で絞り込むクエリは該当する列だけを読み、数MBに及ぶ入出力の本文はディスクに残ります。書き込みも1行ずつではなく大きなバッチを取り込んで背後で統合する設計で、キューに溜めてから流すトレース収集の書き込み方と噛み合います。
- Langfuseの下層をそのまま使う — Langfuseは2024年12月にトレースの保存先をPostgreSQLからClickHouseへ移し、2026年1月16日にClickHouseがLangfuseを買収しました。買収の発表では、コア機能はMITライセンスのまま本番規模のセルフホストが可能だと明言されています。ClickHouse自身のOpenTelemetry準拠の可観測性スタックであるClickStackも同じエンジン上で動きます。
- ベクトル検索用のDBを別に建てない —
vector_similarityインデックスはArray(Float32)、Array(Float64)、Array(BFloat16)の列にHNSWグラフを構築し、距離関数はL2Distance、cosineDistance、dotProductから選べます。バージョン25.8以降で利用でき、検索時にはインデックス全体をディスクからメモリへ読み込む必要があるほか、構築コストが挿入とマージを遅くします。 - 絞り込むと全件走査に落ちる — メタデータによる事前絞り込みは公式ドキュメント自身が未解決の問題だと述べており、ClickHouseは厳密な近傍探索へフォールバックします。事後絞り込みの場合は、候補が
WHERE条件を満たさなかった分だけLIMITで要求した件数に届かないことがあります。大規模なコレクションを狭い条件で絞り込む用途が中心なら、専用のベクトルストアのほうが適しています。 - MCP経由でエージェントに問い合わせさせる — ClickHouseは別リポジトリで
mcp-clickhouseを公開しており、list_databases、list_tables、run_queryに加え、組み込みエンジンchDB向けのツールを提供します。既定では読み取り専用で、書き込みはCLICKHOUSE_ALLOW_WRITE_ACCESS=true、DROPとTRUNCATEはさらに別のフラグを立てない限り実行できません。
Phoenix
- 計装の自動セットアップ —
npx @arizeai/phoenix-cli setup(Phoenix 導入済みならpx setup)がフレームワークと LLM プロバイダを検出し、対応する OpenInference の計装導入からトレース送信の設定までを行います。 - ローカル環境での起動 —
uvx arize-phoenix serveでインストールなしにプラットフォーム全体を起動でき、同じものを Docker Hub のイメージや Helm チャートとしてクラスタへ展開できます。 - 記録した呼び出しの再実行 — Playground では取得済みの LLM 呼び出しをプロンプトやモデル、パラメータを変えて再生でき、その変更はプロンプト管理側でバージョン管理とタグ付けの対象になります。
- 変更を実験として計測 —
arize-phoenix-evalsで応答品質と検索品質を評価し、バージョン付きデータセットに対する実験としてプロンプトや検索の変更を比較できます。 - コーディングエージェントからの照会 — Phoenix 内蔵のリモート MCP サーバーが
/mcpエンドポイントを提供し、Claude Code や Cursor からトレース・データセット・実験を直接読み出せます。