大容量データを高速に分析できるClickHouse
次に紹介されたのが、オンラインのクエリ分析処理を行うAiven for ClickHouseだ。これはOLAP用の列指向型データベースで、「パフォーマンスは他のあらゆる列指向データベースを上回っており、1サーバー当たり数10億行、数10ギガバイトのデータを1秒で処理できます」と三谷氏は言う。
ClickHouseには、ベクトル計算型エンジンが搭載されている。各カラムのデータは独立したファイルで保存し、任意のクエリに対し、使用するカラムのデータファイルのみディスクから読み出しベクトル計算型エンジンで個別ではなくブロックごとに並列処理する。これによりCPUリソース効率を向上し、レイテンシーを低く抑えられる。
さらに一般的な方法に加え、データをよりコンパクトにする特殊な圧縮方法もある。これを使うことで、PostgreSQLと比較して同様のプランで1テラバイトのデータを圧縮すると3分の1程のサイズになることもある。またスパース・インデックスと呼ばれるマージツリー型インデックスを採用し、8192行ごとにインデックスを作成することで膨大なデータ処理に最適化されている。「毎秒数100万行の挿入を受け、数100ペタバイトレベルの非常に大きなボリュームのデータを保存できるように設計されています」と三谷氏は説明する。
一致する値がないことが保証されるデータブロックの読み取りをスキップするスキップ・インデックスも採用されている。データの階層構造を維持することで、クエリ・オプティマイザがテーブルのどの部分をスキップするかを迅速に判断する。これらで読み込む必要のあるデータ量を削減し、クエリ性能は大幅に向上する。「PostgreSQLと比較したら、GROUP BYを使った集計処理でClickHouseが18倍以上高速となりました」と三谷氏は言う。
Apache Kafkaに送信されたストリーミングメッセージを、ClickHouseのApache Kafkaエンジンを用いリアルタイムに永続保存もできる。「Apache KafkaとClickHouseを使えば、IoTなどのストリーミングの時系列データ処理が可能です。そのデータを使いインサイトを得て、リアルタイムな意思決定ツールの作成もできます」と三谷氏。ClickHouseは人気が高まっており、テスラやeコマースのeBay、金融機関など多くのユースケースがあると言う。
Aivenでは、各サービスのインテグレーションは極めて容易に実現できる。前述のTwitterのメッセージを取得しフィルタリングして格納したものにClickHouseを組み合わせ、クエリを発行しGrafanaで簡単に可視化できる。5秒ごとにクエリを発行すれば、ほぼリアルタイムにTwitterのメッセージが増えていく様子もデモで示された。
Aivenでは、オープンソースのデータインフラに関するミートアップグループをMeetup.comで作成し、オープンソースデータベースに関するさまざまな情報や意見交換の場も新たに設けている。「イベントなどを通じ皆さんと交流を図っていきたいです」と言い、興味のある人は是非参加して欲しいとのこと。最後に改めてAivenが企業のデータインフラをシンプルにする会社だということを伝え、セッションは締めくくられた。
IDCホワイトペーパー:Aivenデータクラウドソリューションのビジネスバリュー
IDCホワイトペーパーをダウンロードし、Aivenソリューションの真の価値についてご確認ください。チーム効率を48%向上し、真のビジネス成果につながるような高価値のアクティビティにメンバーが集中できるよう支援するAivenのストラテジーに関してもご説明しています。