Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ClickHouse {Cloud} アップデート

Miki Matsumoto
March 12, 2025
6

ClickHouse {Cloud} アップデート

Miki Matsumoto

March 12, 2025
Tweet

Transcript

  1. ClickHouse とは? オープンソース 列指向 分散 OLAPデータベース レプリケーション シャーディング マルチマスター クロスリージョン

    2009年から開発開始 2016年にオープンソース化 36,000 GitHubスター 1,300 コントリビューター 500 リリース 集計に最適 カラムごとのファイル管理 ソートとインデックス バックグラウンドマージ 分析ユースケース 集計処理 データの可視化 ほぼイミュータブルなデータ
  2. 2023 6月 ClickHouse Cloudが GCP上で一般提供開始 2022 12月 ClickHouse Cloudが AWS上で一般提供開始

    2021 10月 シリーズB資金調達 ラウンドで、 250Mドルを 調達 2021 9月 シリーズA資金調達ラウンドで、 50Mドルを調達 正式にサービスを公開 2021 8月 ClickHouse, Inc. をアメリカで設立 2009 ClickHouseの プロトタイプを開発 2016 6月 ClickHouseを Apache 2.0ライセンスの 下で公開 100 リリース 2024 4月 ClickHouse Cloudが AWSの東京リージョンを サポート開始 2024 6月 ClickHouse Cloudが Azure上で一般提供開 始 ClickHouse の歴史
  3. ✓ 36k以上のGitHubスター ✓ 6.4k以上のフォーク ✓ 1.3k以上のコントリビュータ ✓ 100k以上のコミット ✓ 114k

    のアクティブなコミュニティメンバー Cloud ✓ 高速、スケーラブル、そして信頼性が高い ✓ 柔軟で機能が豊富、かつ使いやすい ✓ 毎日数十億のクエリを処理 ClickHouse オープンソース ClickHouse Cloud
  4. Cloud セルフマネージド セルフマネージドにおけるアーキテクチャのサンプル ClickHouse Cloud architecture ✓ オープンソース ✓ 柔軟なアーキテクチャ

    ✓ 効率的で堅牢 ✓ サポート契約が利用可能 ✓ 使いやすい ✓ 機能が豊富 ✓ 高速 ✓ スケーラブル ✓ 信頼性が高い ✓ PAYG マネージド型サービス クラウドファースト機能とツールを提供 自動的にパフォーマンスと効率を最適化 シームレスなスケーリング 高い信頼性を保証 利用量と容量に応じた料金設定
  5. Refreshable Materialized View 11 23.12 - experimental featureとしてリリース 24.9 -

    append clauseのサポート 24.10  Replicated database engineをサポート 24.10でProduction readyとしてリリース!!
  6. 12 Materialized View とは - クエリ結果を リアルタイム で事前集計して、別テーブルに保存する機能 - クエリパフォーマンスの大幅向上

    - リアルタイムダッシュボードに最適 - 複雑な集計の再計算コスト削減 - データ依存アプリケーションの効率化 Source Table 計算 MV Target Table - 未加工データ - 加工済みデータ - リアルタイムに自動集計 - 集計結果は追記
  7. 13 Refreshable Materialized View とは - クエリ結果を 定期的 に事前集計して、別テーブルに保存する機能 -

    システムリソースの最適化 - バッチ処理による処理効率の向上 - 大量のMaterialized Viewによる負荷の分散 - 一貫性の保証 - マスターデータとのJOIN操作で整合性維持 Source Table 計算 MV Target Table - 未加工データ - リアルタイムに自動集計 - 集計結果は追記 or 総入替 - 加工済みデータ
  8. シャードとレプリカ 16 シャーディング Sharding): データを複数のノードに水平分割する技術 - クエリの並列処理によるパフォーマンス向上 - システム全体の処理能力と保存容量の拡張が可能 レプリケーション

    Replication): 同一のデータを複数のノードに複製する技術 - 高可用性の確保(一部のサーバーが故障してもシステムは稼働継続) - 読み取りクエリの負荷分散 - データの信頼性と耐障害性の向上
  9. 19 クライアント Share 1 Share 2 Distributed Table Distributed Table

    1 3 2 4 Distributed Tableを使用することで、データが分散されて保持される。 ただし、1nodeが離脱するとデータ欠損してしまう Node 1 Node 2 シャードとレプリカについて復習
  10. 20 クライアント Node 1 Share 1 Node 2 Share 2

    Distributed Table Distributed Table 1 3 2 4 Replicaを追加することで、高可用性を確保できる Node 3 Share 1 Node 4 Share 2 Distributed Table Distributed Table 1 3 2 4 Replica 1 Replica 1 Replica 2 Replica 2 シャードとレプリカについて復習
  11. 22 Parallel replicaで、リクエストを複数のノードで分散して処理できる。 ClickHouse Cloud のケースは? 1 2 3 4

    Object Storage Replica 1 Replica 2 Replica 3 Replica 4 クライアント ロードバランサー
  12. PeerDB とは 30 • PostgresなどのデータベースからClickHouseをはじめとする様々な宛先へデータ を高速かつコスト効率良くストリーミングするためのETLツール ◦ 簡単な設定と監視:UIとコマンドラインインターフェースで管理が容易 ◦ 柔軟なデプロイ:DockerやKubernetes(Helm

    Charts利用可能)など、複数の方法 ◦ オープンソース:誰でも利用・改善ができる形で公開されている( 2.4k+のGitHubスター) ◦ サービス: PeerDB Cloudでマネージドサービスも提供 • よく利用される使用用途 ◦ 地理的に分散したデータセンター間でデータを同期する ◦ 複数のアプリケーション間でデータを共有する ◦ 災害対策のためにバックアップデータベースを構築する
  13. 31

  14. ClickPipes • ClickHouse Cloudとの統合が簡単に行える • CDC(Change Data Capture)や一度限りのデータ移行に対応 • SSHトンネリングやAWS

    PrivateLinkを利用して、プライベートなPostgres インスタンスに接続可能 • スロット遅延やClickPipeエラーが発生した場合、 ClickHouse Cloudの通知センターやメールでアラートが届く • 全般的な 247 on-call サポート 32