【セッションレポート】 リアルタイム分析データベースで実現するSQLベースのオブザーバビリティ #devsumiE

【セッションレポート】 リアルタイム分析データベースで実現するSQLベースのオブザーバビリティ #devsumiE

リアルタイム分析を ClickHouse で実現するというセッションです

ウィスキー、シガー、パイプをこよなく愛する大栗です。

先日 Developers Summit 2025 に参加してきました。印象が強かったセッションについてレポートします。リアルタイム分析を行う ClickHouse についてのセッションです。

リアルタイム分析データベースで実現するSQLベースのオブザーバビリティ

リアルタイム分析データベースで実現するSQLベースのオブザーバビリティ

登壇資料

概要

エンジニアリングやコンピュータサイエンスにおける数々の革新は、異なるアプローチを組み合わせることで生まれてきました。本セッションでは、データベースとオブザーバビリティの歴史的な流れを振り返りつつ、超高速な列指向データベースであるClickHouseがリアルタイム分析を通じてオブザーバビリティにどのような変革をもたらしたのかを解説します。
また、実際に20PB規模のログデータを扱う大規模なリアルタイムなオブザーバビリティ環境をどのように安価に構築したかについて、アーキテクチャや技術的ポイントを紹介します。さらに、高速なリアルタイム分析について重要なポイントをデモなどを交えて解説します。
リアルタイム分析データベースが新たに切り開く可能性について、SQLベースのオブザーバビリティを参考に、どのように応用できるのかを考えるためのヒントをご提供するとともに、リアルタイムデータ分析に関心のあるすべての方に、新たな視点と具体的なノウハウをお持ち帰りいただける内容をお届けします。

登壇者

  • 松本 幹
    • ClickHouse
    • Senior Support Engineer
    • ClickHouseのシニアサポートエンジニア。大規模検索エンジンの開発および運用を経験したのち、外資ベンダーでプロフェッショナルサービスを中心に活動。現在、ClickHouseにて導入支援や技術サポートを担当。

セッション

歴史的な背景

SQL は 50 年以上前に開発されましたが、2024年の Stack Overflow の調査によるとプロフェッショナル開発者の中で依然として 2 番目に人気のあるプログラミング言語です。50 年前は一般的な SQL でしたが、25 年前に OLAP が生まれ、10 年前にクラウド DWH が登場、現在はリアルタイム分析として ClickHouse があり Druid や Pinot なども同様です。

DevOps も同様に 50 年前から進化しており、ログ収集を経て、10 年前に ELK Stack や Datadog が使われ始めオブザーバビリティという考え方が出てきましたが、データ量が増大したときに移動できずベンダーロックインされてしまいます、現在は OpenTelemetry などで標準化され Grafana での可視化などベンダーロックインから開放されました。

SQL ベースのオブザーバビリティが出てきています。オブザーバビリティは大量のデータが発生するため、その大量データを安価にパフォーマンスよく長期に保存できるのかが問題になります。ClickHouse への移行によりコストが 1/10 や 1/20 になる場合があります。オブザーバビリティのアーキテクチャはコレクション、ストレージ、可視化/アラートとシンプルで、ClickHouse はストレージに位置づけられます。

PXL_20250213_020630421

ClickHouseとは

2009 年から開発が開始され、2016 年に OSS 化しています。列指向で高圧縮のため分析に向いています。また分散構成を取れてデータを複数の場所に保存できる OLAP データベースです。AWS や Google Cloud、Azure 上でも ClickHouse Cloud を提供しています。

ClickHouse はモダンデータスタックでの PR 数は Spark に次ぐ 2 番目となっています。ClickHouse Cloud はマネージド型サービスで、UI やインテグレーション機能なども豊富にあります。

https://ossinsight.io/collections/modern-data-stack/?monthly-rankings=prs&historical-rankings=prs

ユースケースには様々あり、リアルタイム分析や BI、機械学習と生成 AI などでも利用されています。今回は、ログ、イベント、トレースについて話を行います。

PXL_20250213_021215798

ユースケース

Uber はログ分析プラットフォームで Elastic Search を使用していましたが、インデックスを貼るためロードに時間がかかるという問題がありました。 ClickHouse を採用して高速な取り込みとストレージの高い圧縮率によるコスト削減を実現できました。過去のクエリのユースケースからインデックスオプティマイザーがインデックスを自動で作成しています。

ClickHouse はオブザーバビエリティでドッグフーディングを行いました。元々 Datadog を使用していましたが、コストの問題により数ヶ月しかデータを保存していませんでした。半年のデータを保持すると 40 億円/月になってしまいます。OpenTelemetry のデータを ClickHouse でためて Grafana で可視化しました。3 ヶ月で構築し、保守に 1.5 ヶ月、マイグレーション含めて 1 年のプロジェクトでした。元々 19 PB であった 40 兆行の半年分のデータが 1.13 PB と17 倍に圧縮できました。 コストは 200 倍安く 実現できています。

PXL_20250213_021815518

Datadog より Elastic Cloud、Elastic Cloud より ClickHouse が安くなり、1TB 程度のデータでは移行が面倒ですが、5TB であれば移行する意味が出てくると思われます。

柔軟なスキーマへの対応

マイクロサービスアーキテクチャでオブザーバビリティ環境を構築する場合は、サービスごとに出力フォーマットが異なりログの項目や形式が統一されていないことが多く難易度が高くなります。そのため JSON を使用することが多くなります。

PXL_20250213_022020096

ClickHouse では JSON タイプをネイティブでサポートしており、自動的にスキーマを作成してカラムごとに圧縮を行います。ログのデータ型が動的に変化することがありますが、一般的にはフォーマットエラーになります。ClickHouse ではデータ型が動的に変化してもそのまま入り、内部的に適切な場所に保存します。

PXL_20250213_022316227

昨年流行った One Billion Row Challenge のように半構造化された JSON ドキュメントでどれだけ効率的に保存して、集計を行えるのかをチャレンジしました。ClickHouse、MongoDB、Elasticsearch、CuckDB、PostgreSQL について、10 億件 のBluesky イベントデータセット(非圧縮で 482GB、zstd で圧縮して 124GB)で検証しました。ClickHouse だけ通常の zstd 圧縮より小さいサイズの 99GB となりました。各種集計クエリで ClickHouse が一番高速であるという結果が出ました。この内容はブログで公開しています。

PXL_20250213_022733661

まとめ

  • リアルタイム OLAP とオープンソースの標準化により SQL ベースのオブザーバビリティが登場した
  • 高いコストパフォーマンスを誇るため、多くの注目を集めている
  • JSON のネイティブサポートにより、スキーマに依存しない柔軟なデータモデルに対応している

ClickHouse Cloud

クラウド版の ClickHouse Cloud は日本にのみ対応しており、$300分の無料クレジットですぐに試すことができます。

さいごに

ClickHouse は Cloudflare のログ分析基盤として使用されているので、名称だけは知っていたのですがどのような特徴のプロダクトなのか理解できていませんでした。本セッションではオブザーバビリティにおけるリアルタイム分析で効率出来なデータ保存と分析が行えることがよく分かりました。他のユースケースについても確認しておきたいと思いました。

また ClickHouse Cloud が無料で試せるため、少し触ってみようと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.