MySQL HeatWave Lakehouseとは
MySQL HeatWave LakehouseはMySQLのクラウドデータベースであるMySQL HeatWaveの最新の拡張機能です。MySQL HeatWaveではデータベース内のデータの分析を高速化するためにMySQLサーバーと連動するインメモリ・データストアのHeatWaveノードにデータをロードし、複数台のノードが並列で処理を実行するアーキテクチャとなっています。HeatWave Lakehouseではこの仕組みを拡張し、オブジェクト・ストレージ上のCSVファイルやParquetファイルのデータをHeatWaveノードのメモリにロードして、分散型インメモリ・データストアとしての処理性能を活用して高速なデータ分析を実現しています。
1つのクラスターにおけるHeatWaveノードの台数は64台が上限でしたが、HeatWave Lakehouseのリリースのタイミングで512台に引き上げられました。HeatWaveノードではデータを圧縮した状態でメモリ上に格納しますが、圧縮前のデータサイズで1ノードあたり約1TBのデータを保持することが可能です。このためHeatWave Lakehouseでは最大で500TBのオブジェクト・ストレージ上のデータを処理することが可能です。
HeatWaveノード上にロードされたオブジェクト・ストレージのデータにアプリケーションからアクセスする際には、MySQLサーバー上の通常のテーブルのように見えるようになっています。このために開発されたのがLakehouseストレージ・エンジンです。InnoDBのテーブルをHeatWaveノードにロードした場合と同様にデータの実体はHeatWaveノードのメモリ上に格納されています。
オブジェクト・ストレージ上のデータの分析
MySQLをはじめとするリレーショナル・データベース(RDBMS)でのデータの管理に加えて、RDBMS外にデータが置かれることも広がっており飛躍的に規模が増加しています。一方で収集されたデータの活用は進んでおらずGrow.comの調査によれば収集された99.5%のデータが活用されないままとなっているとされています。IoTデバイスやセンサーなどから生成されるデータはオブジェクト・ストレージに格納されることがありますが、オブジェクト・ストレージはデータ分析向けに最適化されたストレージではありません。オブジェクト・ストレージに直接分析クエリを実行できるサービスは複数あるものの、残念ながら処理性能がそこまで高いとはいえません。
MySQL HeatWave Lakehouseでは分析前にデータをHeatWaveノードのメモリにロードして、インメモリ・データストアの仕組みをフル活用することで性能の課題を解決しています。