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

You are viewing an old version of this article. View the current version here.

概要

カラム型ストレージのフォーマットは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? .

Restoring Backup into ColumnStore:

First install a new fresh install of ColumnStore then create the schema using the mysqldump file:

# 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

Now replace the data<N> directories with the backup on each PM as appropriate for each directory:

# 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

The system should start cleanly and the data should now be accessible in the database.

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.