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

ClickHouseの代替手段

Apache DorisとClickHouseは、どちらも世界をリードするリアルタイムデータウェアハウスであり、カラムナーストレージと高速クエリをサポートしています。Dorisには、より高い同時実行性、より効率的な結合、簡単なメンテナンス、MySQLライクなSQL構文などの利点があり、より簡単に使用および展開できます。

主要な移行事例

tencent-music

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

ハイライト:

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

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

ハイライト:

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

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

ハイライト:

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

Apache Doris vs. ClickHouse

Apache DorisClickHouse
アーキテクチャ & SQL
  • MPPアーキテクチャベース
  • 標準SQLサポート、MySQL互換
  • Scatter-Gatherアーキテクチャを使用
  • SQLライクな機能があるが、非標準SQL
クエリ
  • 分散結合
  • コストベース最適化(CBO)
  • クエリ書き換えとマルチテーブルマテリアライズドビュー
  • より高い同時実行パフォーマンス
  • 不十分な結合実装
  • コストベースオプティマイザー(CBO)の欠如
  • 単一テーブルマテリアライズドビューのみをサポート
  • より低い同時実行パフォーマンス
リアルタイム更新
  • 強い一貫性を持つプライマリキーストレージモデルを特徴とし、同期的なデータ更新と削除をサポート
  • 非同期更新のみをサポートし、更新後に古い値が読み取られることがある
データAPI
  • Arrow-flightベースの高スループット読み取りAPIを提供し、データサイエンス/AIツールなどの他のエンジンとの統合を促進
  • JDBC APIによる非効率的なデータ読み取りのみ
オープンレイクハウスの構築
  • レイクハウス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ベンチマーク

ClickBenchは、解析データベースのパフォーマンスを評価するために、ClickHouseチームによって作成され維持されているベンチマークツールです。

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

ベンチマークは、集計操作と単一テーブルパフォーマンスをテストするクエリセットで構成されており、複雑な結合は含まれません。これにより、リアルタイム解析と大規模データ処理に最適化されたデータベースの評価に特に有用です。

ClickBench  Benchmark

SSB-Flat SF100ベンチマーク

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

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

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

ClickBench  Benchmark

TPC-H SF100ベンチマーク

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

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

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

ClickBench  Benchmark

TPC-DS 1TBベンチマーク

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

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

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

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

ClickBench  Benchmark

その他の移行ストーリー