InfiniDB 4.xからMariaDB ColumnStoreへの移行

概要

カラム型ストレージのフォーマットはInfiniDB 4.xとMariaDB ColumnStoreの間では変わっていないため、バックアップリストアのロジックを使用して比較的簡単に移行することができます。このドキュメントでは、特定のニーズに合わせて意向を実行できるよう説明します。

InfiniDBでデータをバックアップ

もし稼働中のシステムの場合、書き込みをサスペンドします。

# cc suspendDatabaseWrites y

mysqldumpを使用し、当該データベースからスキーマファイルを生成します。

/usr/local/Calpont/mysql/bin/mysqldump --defaults-file=/usr/local/Calpont/mysql/my.cnf --skip-lock-tables --no-data loans > loans_schema.sql

スキーマファイルを修正し、エンジンの修正と、コメントとして"schema sync only"を追加します。

# sed "s/ENGINE=InfiniDB/ENGINE=columnstore COMMENT='schema sync only'/gI" loans_schema.sql > loans_schema_columnstore.sql

それぞれのパフォーマンスモジュールサーバーのdata<N>ディレクトリから、カラムデータファイルのバックアップを取得します。実際のフォルダ名称は、設定ファイル"/usr/local/Calpont/etc/Calpont.xml"の"SystemConfig"の箇所に記載されています。各data<N>ディレクトリは、000.dir内の実際のカラムデータとsystemFiles/dbrm内のシステムメタデータを含む特定のDBRootに対応しています。さらに、バルクロードのためのカスタムスクリプトを保持したい場合、バックアップを取得してください。

cp -r /usr/local/Calpont/data? .

ColumnStoreへバックアップをリストア

はじめに、ColumnStoreを新たにインストールし、(上記手順で作成した)mysqldumpのファイルを使用してスキーマを作成します。

# mcsmysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.19-MariaDB Columnstore 1.0.5-1

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database loans;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use loans
Database changed
MariaDB [loans]> source loans_schema_columnstore.sql
Query OK, 0 rows affected (0.00 sec)

...

MariaDB [loans]> exit

data<N>ディレクトリを、各パフォーマンスモジュールの各ディレクトリで置き換えます。

# mcsadmin shutdownSystem y
# cd /usr/local/mariadb/columnstore/
# mv data1 data1.bkp
# mv /backupdir/data1 .
# cd data1/systemFiles/dbrm/
# mv BRM_saves_current BRM_saves_current.bkp
# cp ../../../data1.bkp/systemFiles/dbrm/BRM_saves_current .
# mcsadmin startSystem

システムを起動すると、問題なく起動し、データベースにてデータがアクセス可能になっています。

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.