ClickHouseを使ったデータレイクの概要を解説する動画を紹介

2025年3月21日(金)
松下 康之 - Yasuyuki Matsushita
ClickHouseを使ったデータレイクの概要を解説する動画を紹介する。

オープンソースの高速なカラム指向データベースのClickHouseを使って、データレイクを解説する動画を紹介する。動画はAltinityのCEOであるRobert Hodges氏がデモとプレゼンテーションを行った約1時間に及ぶもので、2025年1月23日にYouTubeにて公開されたものだ。

●動画:What's a Data Lake (& What Does It Mean For My Open Source ClickHouse ® Stack)?

AltinityはClickHouseのクラウドサービスを提供するイギリスのサービスプロバイダーで、Altinity.Cloudと呼ばれるマネージドのClickHouseやバックアップ、Kubernetes用のオペレーターなども開発して提供しており、ClickHouseに特化したソフトウェア企業である。ClickHouseについては以下の記事を参照して欲しい。ここではClickHouseに関する概要を紹介する動画を解説している。

●参考:OLAPのための高速カラム指向データベースClickHouseの概要を紹介

「データレイクとは何か? それがClickHouseとどう関係するのか?」という動画

「データレイクとは何か? それがClickHouseとどう関係するのか?」という動画

タイトルは「What's Data Lake and What does It Mean for My Open Source ClickHouse Stack?」というもので、データレイクに関する解説とデータレイクをClickHouseで実装する際の概要を、デモを交えて紹介する内容となっている。

データ量の増加が加速していることを説明

データ量の増加が加速していることを説明

次にさまざまなアプリケーションによってデータベースが扱うデータ量が劇的に増加していることを説明。これはこの後のデータウェアハウスやデータレイクの登場に繋がる背景となる。興味深いのは、CDNの分析からLLMのモニタリング、そしてオブザーバービリティがその要因として挙げられていることだろう。ECなどのトランザクション処理よりも、それを観測するシステムが利用するログやメトリクスデータなどのオブザーバービリティによってデータ量の爆発的な増加が加速していると説明した。

データレイクをデータウェアハウスと比較して解説

データレイクをデータウェアハウスと比較して解説

そしてデータレイクについてはデータウェアハウスと比較して解説。ここではアプリケーションがクエリーエンジンを使って専用のデータストレージを使うという構成になっていることに比べて、データレイクはストレージが外部からアクセス可能であることを挙げている。ここでデータレイクハウスという名称が使われているのは、Databricksのエンジニアが2021年に公開した論文に「データレイクハウス」という名称が使われていることに敬意を示したということだろう。以下にその論文へのリンクを残しておく。

●参考(PDF):Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics

この論文は、Hodges氏のプレゼンテーションの最後にデータレイクの元のアイデアとしても紹介されている。

データレイクのポイントは他のアプリケーションからもアクセスできること

データレイクのポイントは他のアプリケーションからもアクセスできること

ここでHodges氏はデータウェアハウスとは異なり、データレイクがさまざまなアプリケーションからアクセス可能であること、データレイクがメタデータ、ファイルフォーマット、そしてオブジェクトストレージの3つのレイヤーから構成されることを説明した。ここではメタデータとしてIceberg、ファイルフォーマットとしてParquetがその代表的な実装例として挙げられている。

データレイクの典型的な構成を解説

データレイクの典型的な構成を解説

データレイクの典型的な構成について説明。Pythonのアプリケーションを例に挙げてカタログサービス、メタデータ、ホットデータ、S3互換のオブジェクトストレージに存在するコールドデータが主な構成要素となる。

Pythonアプリからのアクセスの実装例

Pythonアプリからのアクセスの実装例

ここでPythonからIcebergへのアクセスを可能にするために、PyIcebergからIcebergのカタログサービスを経由してメタデータにアクセスし、その先に存在するParquetファイルからデータを読み込むという実装例を説明した。

実際に作成されるデータの階層構造を解説

実際に作成されるデータの階層構造を解説

実際にデータの実体であるParquetファイルがどのように構成されているのかを解説。ここではデモで利用するデモデータを使って説明している。ここで「datetime_day=2019-08-07」という同じ表記が2つあるが、その後のデモで明らかになるようにこれは「datetime_day=2019-08-07」と「datetime_day=2019-08-09」の2つが存在することの誤表記と思われる。このデモではAppleの株価の売値・買値をデータとして使っている。

データレイクが「パンドラの箱」状態であると説明

データレイクが「パンドラの箱」状態であると説明

このスライドではデータレイクには多くの選択肢が存在することを「まるでパンドラの箱を開けてしまったようだ」と説明。特にメタデータのフォーマットとストレージのフォーマット、オブジェクトストレージなどにおいては多くの選択肢が存在するという。Hodges氏はこのスライドにおいて緑色で囲んだものが有望であると紹介した。前述のIceberg、Parquetなどがそれに相当する。

ClickHouseのアーキテクチャーを紹介

ClickHouseのアーキテクチャーを紹介

ここでClickHouseのアーキテクチャーを解説。クエリーエンジンとカラム指向のデータストアという構成だが、データストレージにはブロックストレージとオブジェクトストレージが併記されている。クラスターとして実装できるようにコンセンサスの実装はZooKeeperを使っていることが記されているが、特に深い説明は省略された。

ClickHouseからのアクセスは3種類存在することを説明

ClickHouseからのアクセスは3種類存在することを説明

そしてクエリーエンジンであるClickHouseからオブジェクトストレージに存在するデータに対するアクセスには3つの方法があることを紹介。S3に直接アクセス、Icebergのメタデータ経由、そしてIcebergのカタログ経由というのがその方法だ。

S3に直接アクセスする方法を紹介

S3に直接アクセスする方法を紹介

ここからはその3つの各方法について、実際にコードを見せながら紹介した。最初に説明したのはS3に直接アクセスする方法だ。

Icebergのメタデータからアクセスする方法

Icebergのメタデータからアクセスする方法

次はIcebergのメタデータからデータにアクセスする方法を紹介。カタログからのアクセスも解説された。

ターミナルを使ってデモを実施。ここではIcebergのカタログからのアクセスを実行

ターミナルを使ってデモを実施。ここではIcebergのカタログからのアクセスを実行

またClickHouseからParquetファイルへのアクセスを並列化する方法も簡単に解説。ここではInitiator Nodeから配下にあるクラスターを指定してアクセスを行うという方法だ。

クラスターを用いてデータアクセスの並列化を実行

クラスターを用いてデータアクセスの並列化を実行

また高速化には必須のキャッシュ機能と最適化についても説明。ここではS3でのキャッシュ機能とパーティションプルーニングなどがすでに実装されていると説明した。しかし工事中のアイコンが付けられたIcebergメタデータのキャッシュなどはまだ開発中であるという。パーティションプルーニングはOracleやPostgreSQLなどにも実装されているが、SQLからアクセスするパーティションを絞り込むことで高速化を行う機能だ。以下の富士通のサイトのPostgreSQLにおける解説が参考になるだろう。

●参考:パーティショニングにおける性能向上のしくみ

ホットデータとコールドデータを同時にアクセスできる機能を紹介

ホットデータとコールドデータを同時にアクセスできる機能を紹介

このスライドでは一つのSQL文でカタログを経由してすべてのテーブルにアクセスできることを説明し、ClickHouseが進化していることを解説した。

ClickHouseにできることとできないことを列挙

ClickHouseにできることとできないことを列挙

ここではClickHouseの機能としてすでに実装されていることと未実装の機能を説明。前に説明した3つのアクセス方法は当然実装されているが、Icebergへの書き込みやデータをホットデータからデータレイクにアーカイブする機能などは未実装であると説明した。大量のデータ分析には主に読み込みが必要な機能だと思われるが、アーカイブやデータの圧縮や変換なども今後は要求されてくるということだろう。

ClickHouse Inc.が予定している新機能の例

ClickHouse Inc.が予定している新機能の例

ここではClickHouseの開発元であるClickHouse社の今後のロードマップを紹介。Icebergへの書き込みなども予定されている。

Hodges氏のAltinityが予定している2025年のロードマップ

Hodges氏のAltinityが予定している2025年のロードマップ

AltinityはClickHouseのサービスプロバイダーとして、スケーラビリティや自社のクラウドサービスのAltinity.Cloudの機能強化などが行われると紹介。ここではあくまでも自社サービスの強化をメインとして開発に協力していくということがわかる。Icebergテーブルの圧縮機能はオープンソースとして公開されることも明記されている。

Databricksが提案しているデータの質を向上させるアーキテクチャーをClickHouseで可能か

Databricksが提案しているデータの質を向上させるアーキテクチャーをClickHouseで可能か

ここではDatabricksが提案しているデータの質を向上させていくための「Data Medallionアーキテクチャー」を、ClickHouseを使って実装することも可能だろうと説明。Delta LakeというDatabricksのデータレイクプロダクトの後追い感はあるが、良いものは積極的に取り入れていくという姿勢が見て取れる。

3つのアーキテクチャーでClickHouseのデータレイクを実装

3つのアーキテクチャーでClickHouseのデータレイクを実装

このスライドでは3つの構成例を示してClickHouseでデータレイクを実装する方法を説明した。最初の例はデータレイクとは言ってもホットデータをMergeTreeで実装し、外部にデータを持たないデータウェアハウスと同じ構成だ。2つ目がデータをS3互換のオブジェクトストレージにParquetフォーマットで保持する方法、そして3つ目がIcebergのメタデータ及びカタログを使ってアクセスする方法だ。3つ目の方法によって、より高速な読み込みとデータ共有が可能になると説明した。要はこの構成がデータレイクを構成する最適な方法論であると言うことだろう。

データレイクを利用するためのマネージドサービスも登場している

データレイクを利用するためのマネージドサービスも登場している

データレイクを自社で実装しなくてもパブリッククラウドやDatabricksなどのサービスを使うことが可能になりつつあることを紹介。ここではマネージドのストレージ、マネージドのカタログサービスなどを紹介した。

データレイクをClickHouseで実装する際のポイントを整理

データレイクをClickHouseで実装する際のポイントを整理

データレイクをClickHouseで実装する際のポイントを整理したスライドでは、ClickHouseによってより安価にデータレイクを実装できるようになったこと、IcebergとParquetが有力な選択肢であること、Icebergへの書き込みも2025年には実装される予定であること、ClickHouseの進化が止まることはないことなどを紹介してまとめとした。

参考となる文献やサイトなどを紹介

参考となる文献やサイトなどを紹介

最後にClickHouseに関しての参考となるサイトなどを紹介。ここではClickHouseのドキュメントやAltinityのブログなどに合わせて、前半で紹介したDatabricksの論文などを列挙している。データ分析のためのOLAPシステムとしてのClickHouseをデータレイクとして活用する可能性を解説した動画だが、開発元ではなくサービスプロバイダーの視点からの解説も客観的で興味深い内容となっている。データレイクを検討しているエンジニアはぜひ、Altinityのサイト、特にドキュメントサイトやナレッジベースと呼ばれるFAQサイトが充実しているので参考にして欲しい。

●ドキュメントサイト:https://docs.altinity.com/

●ナレッジベース:https://kb.altinity.com/

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

データベース技術解説

ClickHouseを使ったデータレイクの概要を解説する動画を紹介

2025/3/21
ClickHouseを使ったデータレイクの概要を解説する動画を紹介する。
セキュリティイベント

【いよいよ今週3/19開催!】ビジネスを守るセキュアな開発・運用事例に学ぶ「Think IT Day Security for Application」先着50名にAmazonギフト券1,000円分、100名に書籍をプレゼント!

2025/3/17
ThinkIT編集部は3/19(水)に東京・JA共済ビル カンファレンスホールで「Think IT Day Security for Application 〜 ビジネスを守るためのセキュアな開発・運用の道筋」を開催。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています