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
システムを起動すると、問題なく起動し、データベースにてデータがアクセス可能になっています。
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.