メインコンテンツまでスキップ

ClickHouseの代替

Apache DorisとClickHouseは、どちらも世界をリードするリアルタイムデータウェアハウスで、カラムナー形式のストレージと高速クエリをサポートしています。Dorisは、より高い同時実行性、効率的なjoin、保守の容易さ、MySQL風のSQLシンタックスなどの利点があり、使用と導入がより簡単です。

注目の移行事例

tencent-music

「Tencent Musicのデータプラットフォームは、ClickHouseからApache Dorisに移行し、データの適時性を改善し、メンテナンスコストを削減しました。Dorisの柔軟な取り込み方法と堅牢な一貫性プロトコルは、高い可用性と信頼性を確保します。」

ハイライト:

  • マルチテーブルjoinパフォーマンスの大幅な向上。
  • スケーリングとメンテナンスの容易さ。
  • 効率的なデータ処理とリアルタイム更新。
tencent-music

「Apache Dorisは、大多数のシナリオでClickHouseよりも高速なクエリレスポンス時間を持ち、特に複雑なjoinシナリオでは、ClickHouseよりもパフォーマンスが大幅に優れています。」

ハイライト:

  • コアビジネスクエリが2-3倍高速。
  • 複雑なjoinクエリが2-10倍高速。
  • すべてのClickHouse OOMクエリを実行可能。
tencent-music

「ClickHouseをDorisに置き換えることで、Kwaiはlakehouseアーキテクチャへのアップグレードに成功し、データパイプラインを簡素化し、Dorisがデータレイクデータに直接アクセスできるため、データインポートの必要性を排除しました。」

ハイライト:

  • データレイクデータの直接クエリ。
  • クエリパフォーマンスの向上。
  • マテリアライズドビューによる柔軟なデータガバナンス。

Apache Doris vs. ClickHouse

Apache DorisClickHouse
アーキテクチャ & SQL
  • MPPアーキテクチャベース
  • 標準SQLサポート、MySQL互換
  • Scatter-Gatherアーキテクチャを使用
  • SQL風の機能だが非標準SQL
クエリ
  • 分散join
  • Cost-Based Optimization (CBO)
  • クエリリライトとマルチテーブルマテリアライズドビュー
  • 高い同時実行パフォーマンス
  • join実装が貧弱
  • Cost-Based Optimizer (CBO)が欠如
  • シングルテーブルマテリアライズドビューのみサポート
  • 低い同時実行パフォーマンス
リアルタイム更新
  • 強い一貫性を持つプライマリキーストレージモデルを特徴とし、同期データ更新と削除をサポート
  • 非同期更新のみサポートし、更新後に古い値が読み取られる可能性がある
Data API
  • Arrow-flightベースの高スループットRead APIを提供し、データサイエンス/AIツールなどの他のエンジンとの統合を促進
  • JDBC APIを介した非効率的なデータ読み取りのみ
Open レイクハウスの構築
  • レイクハウス SQLエンジンとして機能し、Hive、Hudi、Iceberg、Parquetデータレイクフォーマットでのクエリをサポート
  • 限定的なレイクハウス統合機能
運用・保守
  • 自動スケールイン、スケールアウト、レプリカバランシングをサポート
  • スケーリング操作時に手動でのリバランシングが必要
パフォーマンス
  • ワイドテーブルベンチマーク(ClickBench)において、Dorisは2022年10月と2024年10月に1位または2位にランクされ、ClickHouseを上回った
  • 大規模TPC-HおよびTPC-DSテストにおいて、Dorisは業界をリードするパフォーマンスを達成
  • ClickBenchパフォーマンスに関して、ClickHouseとDorisは交互にリードしている
  • 大規模TPC-HおよびTPC-DSテストで多くのOOM(メモリ不足)クエリが発生

パフォーマンス比較

ClickBench Benchmark

ClickBenchは、ClickHouseチームが作成および保守する分析データベースのパフォーマンスを評価するベンチマークツールです。

複雑なマルチテーブルjoinではなく、大きなフラットテーブルのパフォーマンスをテストすることに焦点を当てています。主要なWebアナリティクスプラットフォームからの実世界のデータを使用し、クリックストリーム分析や構造化ログなどの典型的なシナリオをカバーしています。

ベンチマークは、複雑なjoinを伴わずに、集計操作とシングルテーブルのパフォーマンスをテストするクエリセットで構成されています。これにより、リアルタイム分析と大規模データ処理に最適化されたデータベースの評価に特に有用です。

ClickBench  Benchmark

SSB-Flat SF100 Benchmark

SSB-Flat SF100は、大きなワイドテーブルの処理において分析データベースのパフォーマンスをテストするために設計されたベンチマークです。

Star Schema Benchmark(SSB)から派生していますが、シングルテーブルクエリのパフォーマンスに焦点を当てるためにスタースキーマを単一のワイドテーブルにフラット化しています。

SF100は、データスケールがベースサイズの100倍であることを示し、クエリパフォーマンスとシステムスケーラビリティを評価するための重要なテストとなっています。

ClickBench  Benchmark

TPC-H SF100 Benchmark

スケールファクター100(SF100)のTPC-Hベンチマークは、データベースパフォーマンスを評価するために広く使用されている標準です。実世界のビジネスインテリジェンスワークロードをシミュレートするために設計された複雑なSQLクエリのセットが含まれています。

SF100は、データサイズがベースサイズの100倍であることを示し、クエリパフォーマンスとシステムスケーラビリティを測定する大規模テストとなっています。

注意:ClickHouseが7つのクエリの実行に失敗したため、総実行時間はDorisが全22クエリを実行した時間、ClickHouseが15クエリのみを実行した時間を指します。

ClickBench  Benchmark

TPC-DS 1TB Benchmark

TPC-DS 1TBは、データウェアハウスと分析データベースのパフォーマンスを評価するために広く認知されているベンチマークです。約1TBのサイズのデータセットを含み、24のテーブルに分散された約63億5000万レコードが含まれています。

ベンチマークには、join、集計、サブクエリなど、データベースパフォーマンスの様々な側面をテストするために設計された99の複雑なクエリが含まれています。

TPC-DSスキーマはスノーフレークスキーマに基づいており、Web、カタログ、店舗販売などの実世界のシナリオを表現しています。1TBスケールはデータウェアハウスにとって中程度のサイズと考えられていますが、クエリの複雑さと大量のレコード数により依然として困難です。

注意:TPC-DSは相関サブクエリを多用しますが、これはテスト時点(2024年9月)でClickHouseがサポートしていません。その結果、ベンチマーククエリの約50%がエラーで失敗します。

ClickBench  Benchmark

その他の移行事例