CData Sync CLI で SingleStore のデータ を複数のデータベースにレプリケーションする方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
1つの設定ファイルでSingleStore のデータを複数の異なるデータベースにレプリケーションする方法をご紹介します。

常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for SingleStore を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにSingleStore のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのSingleStore のデータとの自動同期が可能です。

Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、SingleStore のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。

SingleStore のデータ に接続する

接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。

以下は、SQLite へレプリケーションする場合の設定例です。

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>User=myUser;Password=myPassword;Database=NorthWind;Server=myServer;Port=3306;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>User=myUser;Password=myPassword;Database=NorthWind;Server=myServer;Port=3306;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

データに接続するには、次の接続プロパティが必要です。

  • Server:SingleStore データベースをホスティングしているサーバーのホスト名またはIP アドレス。
  • Port:SingleStore データベースをホスティングしているサーバーのポート。

また、オプションで以下を設定することもできます。

  • SingleStore:SingleStore Server に接続する場合のデフォルトデータベース。設定されていない場合、すべてのデータベースのテーブルが返されます。

標準認証

標準認証で認証するには、次を設定します。

  • User:SingleStore サーバーに認証する際に使われるユーザー。
  • Password:SingleStore サーバーに認証する際に使われるパスワード。

統合セキュリティを使用した接続

標準のユーザー名とパスワードを提供する代わりに、Windows 認証を介して信頼されたされたユーザーをサーバーに認証できます。

SSL 認証

SSL 認証を活用してセキュアなセッションを介してSingleStore データに接続できます。次の接続プロパティを設定し、データに接続します。

  • SSLClientCert:クライアント証明書のための証明書ストア名に設定。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
  • SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
  • SSLClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
  • SSLClientCertType:クライアントストアの証明書タイプ。
  • SSLServerCert:サーバーが受け入れ可能な証明書。

SSH 認証

SSH を使用して、セキュアにリモートマシンにログインできます。SingleStore データにSSH 経由でアクセスするには、次の接続プロパティを設定します。

  • SSHClientCert:クライアント証明書のための証明書ストア名に設定。
  • SSHClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
  • SSHClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
  • SSHClientCertType:クライアントストアの証明書タイプ。
  • SSHPassword:SSH サーバーに認証するためのパスワード。
  • SSHPort:SSH 操作に使用するポート。
  • SSHServer:認証しようとしているSSH 認証サーバー。
  • SSHServerFingerPrint:接続先のホストの検証に使用するSSH サーバーのフィンガープリント。
  • SSHUser:SSH サーバーに認証するためのユーザー名。

レプリケーションクエリの設定

Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 SingleStore API がサポートする任意の SELECT クエリを定義できます。 以下の文は、SingleStore のデータ のテーブルをキャッシュし、差分更新を行います:

REPLICATE Orders;

レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。

Sync を実行する

接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:

Windows

SingleStoreSync.exe -g MySQLiteConfig.xml -f SingleStoreSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SingleStoreSync.jar -g MySQLiteConfig.xml -f SingleStoreSync.sql

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData Sync お問い合わせ