HTAPシステムの特徴はシンプルなアーキテクチャー
HTAPシステムの特徴は
シンプルなアーキテクチャー
そこでLiu氏が使ったのは次のスライドだ。
ここではシンプルにオレンジ色の部分が中核となるHTAPデータベースを置き、その前後にデータ入力のトランザクションを行う部分とユーザーインターフェースとして様々な切り口で分析を行う機能などが並んでいる。しかしこのデータベースの中身を見てみると、シャーディングされた複数のデータベースのレプリカ、Kafkaなどのストリーミングデータサービスモジュール、そして分析用にETL加工されたうえでデータレイクに格納するまでが必要となると説明した。
この部分はHTAPとして機能することが期待されるが、従来のSQLデータベース、NoSQLなどでは複雑になるだけでスケーラブルに拡張できるとはとても思えないだろう。ではどうしてそれが可能になるのか、HTAPの実装例としてOSS Insightでも使われていたTiDBの中身を紹介していこう。
ここからはこのセッションから少し脱線して、PingCAPの日本法人、PingCAP株式会社のCTO、林 正記氏が2022年4月14日に行ったWebinarで公開したスライドから抜粋して、HTAPをPingCAPのテクノロジーであるTiDBがどうやって実装されているのかを紹介する。スライドの全体は以下を参照して欲しい。
【参考】「DB性能でお悩みの方必見。スケーラブルなRDB NewSQLはどこまでできるか。」
このユースケースでは、Oracle Exadataを使っていたユーザーが容量の上限、ピーク性能の限界、データベースシャーディングによるリアルタイム分析の限界などの問題点をHTAPシステムであるTiDBが解消したことが説明されている。
では、どのように容量、性能の限界を打ち破ったのか、シャーディングが不要なのはどうしてか? について説明しているのが次のスライドだ。
TiDBのアーキテクチャーを解説したスライドではGoogleがSpannerを開発する際の発想と同じでデータベースの役割を明確に分離したこと、それぞれが分散処理によってスケールアウトを可能にしたことを示している。この分散構造にはマスターとなるリーダーノードを固定せずに動的な分散処理を行うため「Raft」と呼ばれる分散合意アルゴリズムを利用している。これはクラウドネイティブなコンテナーオーケストレーションツールの代名詞であるKubernetesの中核であるデータストア、etcdも利用する堅牢かつ高速な分散処理技術だ。
また、TiDBではデータストアのメタデータなどを管理するPDクラスタにより複数のノードが自律的に運用できることを示している。
このように、TiDBそのものが水平にスケールできる分散データベースとしてHTAPに必要な要素を備えていることが解説されている。特にデータベースの分割、シャーディングはデータベース運用チームにとっては頭の痛い問題点であり、これが解決されることは要注目だろう。
分散データベースは全てHTAPになる
最後にもう一度、Liu氏のプレゼンテーションに戻ろう。
ここでは、これまでのHTAPの歴史を振り返った後にスケーラビリティやシンプルさ、高い費用対効果などが必要となると説明。特にSQLをインテリジェントに解析して最適化する機能が必須となると語った。
最後にLiu氏は「これは大胆な予言かもしれないが、3年から5年後には全ての分散データベースはHTAPデータベースとなるだろう」と語り、分散データべースの定義としてHTAPの要件を満たさない分散データベースは存在しなくなるとコメントしてセッションを終えた。OSS InsightやKNN3というWebサービスの例を示しながら、トランザクション処理とリアルタイム分析処理を同時に兼ね備えたHTAPデータベースに必要な要件と未来を示したMax Liu氏、そして日本語で解説されたTiDBの特長からHTAPの未来が少しでも垣間見えただろうか。
なお、「HTAP Summit 2022」は現在、オンラインセッション「VIRTUAL HTAP SUMMIT 2022」として公開されており、本記事で紹介したキーノート以外のセッションも視聴できる。ぜひ、こちらも参考にしてほしい。
- この記事のキーワード