異種データベース間レプリケーションを行えるソフトウェアDBMoto。エージェントレスなアーキテクチャを採用しているので、データベースのプラットフォームに依存せず、例えばクラウド上のデータベースであってもレプリケーションを実施することができます。
今回は実際にDBMotoによる、Google Cloud SQLを使用したレプリケーションを試してみました。
現在Google Cloud SQLはMySQLとPostgreSQLから選択できますが、DBMotoではどちらのデータベースエンジンであってもレプリケーションを行えます。また連携元(先)のデータベースに関しては、同種のデータベースはもちろん、Oracle, SQL Server,DB2 (AS/400)といった異種データベースであってもレプリケーションを行うことが可能です。
まずは、Google Cloud SQLを作成します。
こちらよりGoogle Cloud SQLインスタンスの作成画面のスタートページを開きます。
「インスタンスを作成」ボタンを選択し、次の画面でデータベースエンジンを選択します。今回はMySQLを選択してみました。
インスタンス名やリージョン、rootパスワードを入力後、作成をクリックします。数分待つとインスタンスが立ち上がり、Google Cloud SQL MySQLのデプロイが完了します。
インスタンス起動後は接続先となるIPアドレスが表示されます。さらに、GUI上でユーザ作成や接続を承認するIPアドレスも指定できます。今回はオンプレミスのDBMoto<サーバから接続するため、承認済みネットワークにDBMotoサーバのグローバルIPアドレスを指定し、接続ユーザとして「dbmoto」ユーザを作成しました。
これでGoogle Cloud SQL側の設定は完了です。後はDBMotoの画面で接続設定を行うだけです。Google Cloud SQLのパブリックIPアドレスと作成した「dbmoto」ユーザを指定することで接続が完了し、Google Cloud SQLを使用したレプリケーションを行うことができます。
Cloud SQL ProxyをDBMotoサーバにインストールすることで、Cloud SQL Proxyを使用した接続を行うことも可能です。
もちろん、リアルタイムな連携目的で、レプリケーション元データベースからGoogle Cloud SQLへの差分レプリケーションも可能です。さらにデータベースエンジンがMySQLの場合は、バイナリログやトリガーを使用したGoogle Cloud SQL MySQLからの差分レプリケーションも可能です。
※トリガーを使用する場合は、Google Cloud SQL MySQL側のデータベースフラグの設定から「log_bin_trust_function_creators」パラメータを有効化することで可能です。
このように、DBMotoを使用することで、オンプレミスのあらゆるデータベースをGoogle Cloud SQL に移行することや、リアルタイムなデータ連携によりGoogle Cloud SQL 側でのアプリケーション開発などを行うことが可能です。DBMotoの詳細に関してはこちらよりお問い合わせください。
関連したトピックス
- Google Cloud SQL と オン・プレミス・データベース間でのデータ・レプリケーション【DBMoto】
- 進化するクエリと PostgreSQLの台頭:そのデータベー スパフォーマンス重要性
- PostgreSQLとMySQLのデータベースとしての機能の違い
- Webセミナー録画 『GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!』2020/03/26 開催
- SolarWinds Database Performance Analyzer (DPA) 2022.1のGA
- PostgreSQLパフォーマンス・チューニング・ツール(クエリアナライザ付き) [DPA]
- データ分析基盤へもSyniti Data Replication(旧DBMoto)で簡単レプリケーション! Google BigQueryへの接続方法
- DPA(Database Performance Analyzer) for Open-Source Database: MySQL, MariaDB, Percona, PostgreSQL
- 時代はマルチ・データベース管理へ
- Syniti Data Replication(旧DBMoto)でIBM Cloud上の DB2 Warehouse on Cloudへの接続