Slide 1

Slide 1 text

ClickHouseのアーキテクチャと活用事例 1 2025

Slide 2

Slide 2 text

アジェンダ ClickHouseとは 01 アーキテクチャ 02 活用事例 03 2

Slide 3

Slide 3 text

01. ClickHouse とは

Slide 4

Slide 4 text

ClickHouse とは? オープンソース 列指向 分散 OLAPデータベース レプリケーション シャーディング マルチマスター クロスリージョン 2009年から開発開始 2016年にオープンソース化 36,000 GitHubスター 1,300 コントリビューター 500 リリース 集計に最適 カラムごとのファイル管理 ソートとインデックス バックグラウンドマージ 分析ユースケース 集計処理 データの可視化 ほぼイミュータブルなデータ

Slide 5

Slide 5 text

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 の歴史

Slide 6

Slide 6 text

✓ 36k以上のGitHubスター ✓ 6.4k以上のフォーク ✓ 1.3k以上のコントリビュータ ✓ 100k以上のコミット ✓ 114k のアクティブなコミュニティメンバー Cloud ✓ 高速、スケーラブル、そして信頼性が高い ✓ 柔軟で機能が豊富、かつ使いやすい ✓ 毎日数十億のクエリを処理 ClickHouse オープンソース ClickHouse Cloud

Slide 7

Slide 7 text

Cloud セルフマネージド セルフマネージドにおけるアーキテクチャのサンプル ClickHouse Cloud architecture ✓ オープンソース ✓ 柔軟なアーキテクチャ ✓ 効率的で堅牢 ✓ サポート契約が利用可能 ✓ 使いやすい ✓ 機能が豊富 ✓ 高速 ✓ スケーラブル ✓ 信頼性が高い ✓ PAYG マネージド型サービス クラウドファースト機能とツールを提供 自動的にパフォーマンスと効率を最適化 シームレスなスケーリング 高い信頼性を保証 利用量と容量に応じた料金設定

Slide 8

Slide 8 text

02. アーキテクチャ

Slide 9

Slide 9 text

ANSISQL の DDL やクエリは、 ClickHouse で動作しますか? ©2024 ClickHouse, Inc. All Rights Reserved

Slide 10

Slide 10 text

ANSISQL の DDL やクエリは、 ClickHouse で動作しますか? はい! ただし… ©2024 ClickHouse, Inc. All Rights Reserved

Slide 11

Slide 11 text

より高速な分析を実現するためのポイント ● ほぼ ANSI SQL と同様の構文 ○ SQLシンタックスはほぼ一緒 ○ 追加でデータ型や特殊関数をサポート ● 列指向ストレージの活用 ○ 必要なカラムだけを SELECT して I/O を最小化 ○ 大量データを扱う分析クエリで真価を発揮 ● 従来のRDBMSOLTP とは設計思想が異なる ○ 既存のクエリにおいても、列指向の恩恵で分析クエリは高速 ○ さらに高速化するにはテーブル設計やクエリの最適化が重要 ○ トランザクションについては、部分的にサポート(完全にサポートしていない)

Slide 12

Slide 12 text

12 行指向と列指向の違い

Slide 13

Slide 13 text

行指向と列指向の理解 id date user product price 1 20250101 やまだ リンゴ 200 2 20250101 さとう バナナ 80 3 20250102 すずき オレンジ 120 4 20250102 たかはし メロン 450 一般的な 行指向のテーブル

Slide 14

Slide 14 text

行指向と列指向の理解 一般的な 行指向のテーブル 一般的な RDBMS クエリ SELECT price FROM sales WHERE user=すずき id date user product price 1 20250101 やまだ リンゴ 200 2 20250101 さとう バナナ 80 3 20250102 すずき オレンジ 120 4 20250102 たかはし メロン 450

Slide 15

Slide 15 text

行指向と列指向の理解 列指向の テーブルの場合 product user date id 1 2 3 4 やまだ さとう すずき たかはし リンゴ バナナ オレンジ メロン 20250101 20250101 20250102 20250102 price 200 80 120 450

Slide 16

Slide 16 text

行指向と列指向の理解 列指向の テーブルの場合 product user date id 1 2 3 4 やまだ さとう すずき たかはし リンゴ バナナ オレンジ メロン 20250101 20250101 20250102 20250102 price 200 80 120 450 一般的な 分析クエリ SELECT avg(price) FROM sale

Slide 17

Slide 17 text

17 テーブルへの書き込みフロー

Slide 18

Slide 18 text

sales テーブル ID date user product price date user product price ID 2 1 3 4 20250101 20250101 20250102 20250102 さとう やまだ すずき たかはし バナナ リンゴ オレンジ メロン 80 200 120 450 part インサート ① Sort Keyで並べ替える (date, user) 書き込み ディスク ② 列単位に分割する date user product price ID 1 20250101 やまだ リンゴ  200 2 20250101 さとう バナナ 80 3 20250102 すずき オレンジ 120 4 20250102 たかはし メロン 450 ③ 列ごとに圧縮する date user product price ID 1 20250101 やまだ リンゴ  200 2 20250101 さとう バナナ 80 3 20250102 すずき オレンジ 120 4 20250102 たかはし メロン 450

Slide 19

Slide 19 text

インサートごとにパーツが作成される Time インサート インサート インサート インサート インサート インサート part part part part part part ©2024 ClickHouse, Inc. All Rights Reserved

Slide 20

Slide 20 text

時間の経過とともに、パーツがバックグラウンドでマージ ● これが MergeTree と呼ばれる理由です part part part part part part merged part merged part Time ©2024 ClickHouse, Inc. All Rights Reserved

Slide 21

Slide 21 text

マージされた part は引き続きマージされます part part part part merged part merged part merged part merged part ©2024 ClickHouse, Inc. All Rights Reserved part part part

Slide 22

Slide 22 text

マージ後、未使用の部分は最終的に削除される part part part part part part merged part merged part merged part インサート インサート インサート インサート ©2024 ClickHouse, Inc. All Rights Reserved

Slide 23

Slide 23 text

23 PRIMARY KEY による 高速なデータ READ

Slide 24

Slide 24 text

PRIMARY KEY のアーキテクチャ あべ あべ さとう すずき すずき たぐち いしい まつもと リンゴ バナナ オレンジ オレンジ メロン モモ ブドウ スイカ 100 80 120 120 450 250 1500 2000 20250101 20250101 20250101 20250102 20250102 20250104 20250109 20250110 date user product price … … … … … … … … … … … … sales テーブル ディスク Part Part Part Part Part Part …

Slide 25

Slide 25 text

PRIMARY KEY のアーキテクチャ あべ あべ さとう すずき すずき たぐち いしい まつもと リンゴ バナナ オレンジ オレンジ メロン モモ ブドウ スイカ 100 80 120 120 450 250 1500 2000 20250101 20250101 20250101 20250102 20250102 20250104 20250109 20250110 date user product price … … … … … … … … … … … … 0 1 2 8,191 8,192 16,383 81,920 90,111 行数 グラニュール0 8,192レコード) グラニュール1 8,192レコード) グラニュール10 8,192レコード)

Slide 26

Slide 26 text

PRIMARY KEY のアーキテクチャ あべ あべ さとう すずき すずき たぐち いしい まつもと リンゴ バナナ オレンジ オレンジ メロン モモ ブドウ スイカ 100 80 120 120 450 250 1500 2000 20250101 20250101 20250101 20250102 20250102 20250104 20250109 20250110 date user product price … … … … … … … … … … … … 0 1 2 8,191 8,192 16,383 81,920 90,111 行数 グラニュール0 8,192レコード) グラニュール1 8,192レコード) グラニュール10 8,192レコード)

Slide 27

Slide 27 text

PRIMARY KEY のアーキテクチャ あべ あべ さとう すずき すずき たぐち いしい まつもと リンゴ バナナ オレンジ オレンジ メロン モモ ブドウ スイカ 100 80 120 120 450 250 1500 2000 20250101 20250101 20250101 20250102 20250102 20250104 20250109 20250110 date user product price … … … … … … … … … … … … 0 1 2 8,191 8,192 16,383 81,920 90,111 行数 グラニュール0 8,192レコード) グラニュール1 8,192レコード) グラニュール10 8,192レコード) date user 20250101 あべ 20250102 すずき 20250104 たぐち … … 20250109 いしい … … Primary Index

Slide 28

Slide 28 text

各グラニュールはスレッドによって処理 ● Primry Keyを利用して、処理対象となるグラニュールを見つけ出し、 各スレッドで処理 ○ 各グラニュールは並行処理されます ○ 処理が速いスレッドが、遅れているスレッドのタスクを引き受けて処理する仕組みがあり、その結 果、全体の負荷を均等にして処理を高速化される ● 並行処理が ClickHouse の高速性を支える理由の1つとなっています https://www.youtube.com/watch?v=7QXKBKDOkJE

Slide 29

Slide 29 text

03. 活用事例

Slide 30

Slide 30 text

リアルタイム分析 大規模データのリアルタイム分析・集計が可能なイ ンタラクティブなアプリケーションとダッシュボードを 実現。社内の複雑な分析処理も、分や時間単位で はなく、ミリ秒単位での実行を実現。 ビジネスインテリジェンス データを自在に分析し、分析レポートや社内アプリ ケーションの構築に活用。ユーザー行動分析、広告 ・メディア効果測定、市場動向分析など、幅広い用 途に対応。 機械学習と生成 AI 高速かつ効率的なベクトル検索を実現。様々なプ ロバイダーの生成 AIモデルをすぐに利用可能。ペ タバイト規模のモデルトレーニングも、超高速な集 計処理で実現。 ログ、イベント、トレース ログ、イベント、トレースの確実な監視 を実現。異常検知や不正検知、ネット ワーク・インフラの問題など、様々な課 題を検出可能。 ユースケース

Slide 31

Slide 31 text

“ リアルタイム分析用データストア Lyftでは、毎日で数千万行のデータを ClickHouseに取り込み、数百万回のク エリを実行しています。 その処理量は増 加傾向にあります。 月単位では、25TB以上のデータ読み書 きを実現しています。

Slide 32

Slide 32 text

“ ClickHouseを活用することで、何兆件 規模のインターネットリクエストログ を 効率的かつ確実に分析し、悪意のある トラフィックの検出と、顧客への詳細な 分析データの提供を実現しています。 オブザーバビリティプラットフォームの バックエンド

Slide 33

Slide 33 text

ありがとう ございます Thank you 33 Keep in touch! clickhouse.com/slack #clickhouseDB @clickhouseinc clickhouse