EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

HeatWaveクラスターへのデータのロード 第5回

edited by DB Online   2021/07/16 16:00

 この連載ではMySQLの開発チームが開発、運用、サポートを行っているクラウド・データベースであるOracle MySQL Database Serviceと、分析処理を爆速化する分析エンジンHeatWaveについて、製品の特徴や使い方を解説していきます。第5回は、HeatWaveクラスターへのデータのロードについて解説します。

 HeatWaveを利用している構成では、データの永続化やトランザクション処理はMySQLサーバーノードのInnoDBストレージエンジンが担当します。そのデータをHeatWaveノードのメインメモリにロードして高速な分析処理を実現しています。InnoDBストレージエンジンを利用したテーブルに対する変更点は、自動的にHeatWaveクラスターに反映されます。

HeatWaveクラスターへの初回ロード

 第3回の記事でもご紹介したとおり、テーブルのデータをHeatWaveクラスターのメインメモリにロードするためには、ロード対象のテーブルに対して2つの作業が必要です。

  1. テーブル定義に
    SECONDARY_ENGINE RAPID
    を指定する
  2. ALTER TABLE <テーブル名> SECONDARY_LOAD
    を実行してデータをロードする設定に変更する
InnoDBストレージエンジンでのデータの永続化(データロード前)
InnoDBストレージエンジンでのデータの永続化(データロード前)

図 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)
02 HeatWaveクラスターへのデータロード後
HeatWaveクラスターへのデータロード後

 HeatWaveクラスターへのロードはInnoDBのテーブルをマルチスレッドでデータを読み込み、カラムナー形式に変換の上で複数のHeatWaveノードにネットワーク経由で転送していきます。データは主キーまたは「データ・プレイスメント・キー」と呼ばれる指定されたパーティションのキーを使って水平パーティショニングを行い、パーティションごとに各HeatWaveノードのメインメモリにロードされます。

 なおデータのロード中は、Ctrl-Cを入力することで中止することもできます。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


関連リンク

著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQLとHeatWaveが切り開くオープンソース・データベースの新基準
All contents copyright © 2007-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5