
この連載ではMySQLの開発チームが開発、運用、サポートを行っているクラウド・データベースであるOracle MySQL Database Serviceと、分析処理を爆速化する分析エンジンHeatWaveについて、製品の特徴や使い方を解説していきます。第5回は、HeatWaveクラスターへのデータのロードについて解説します。
HeatWaveを利用している構成では、データの永続化やトランザクション処理はMySQLサーバーノードのInnoDBストレージエンジンが担当します。そのデータをHeatWaveノードのメインメモリにロードして高速な分析処理を実現しています。InnoDBストレージエンジンを利用したテーブルに対する変更点は、自動的にHeatWaveクラスターに反映されます。
HeatWaveクラスターへの初回ロード
第3回の記事でもご紹介したとおり、テーブルのデータをHeatWaveクラスターのメインメモリにロードするためには、ロード対象のテーブルに対して2つの作業が必要です。
-
テーブル定義に
SECONDARY_ENGINE RAPID
-
ALTER TABLE <テーブル名> SECONDARY_LOAD

図 HeatWaveクラスターにデータをロードする例
# CREATE TABLE文のオプションで指定
# 既存のテーブルに対してはALTER TABLE文で指定することも可能
mysql> CREATE TABLE t0 (a INT PRIMARY KEY, b VARCHAR(32)) SECONDARY_ENGINE RAPID;
Query OK, 0 rows affected (0.02 sec)
# HeatWaveクラスターにデータをロードする設定
# テーブルのデータサイズにより初回ロードの時間は異なる
mysql> ALTER TABLE t0 SECONDARY_LOAD;
Query OK, 0 rows affected (0.05 sec)

HeatWaveクラスターへのロードはInnoDBのテーブルをマルチスレッドでデータを読み込み、カラムナー形式に変換の上で複数のHeatWaveノードにネットワーク経由で転送していきます。データは主キーまたは「データ・プレイスメント・キー」と呼ばれる指定されたパーティションのキーを使って水平パーティショニングを行い、パーティションごとに各HeatWaveノードのメインメモリにロードされます。
なおデータのロード中は、Ctrl-Cを入力することで中止することもできます。
この記事は参考になりましたか?
- MySQLとHeatWaveが切り開くオープンソース・データベースの新基準連載記事一覧
- この記事の著者
-
梶山隆輔(カジヤマリュウスケ)
日本オラクル MySQL Global Business Unit Asia Pacific & Japan担当 MySQLソリューション・エンジニアリング・ディレクターオラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なM...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア