Syniti Replicateではテーブルのフィールド単位でマッピングやデータ変換などの細かな設定を行うことが可能です。
Syniti Replicateではテーブルのフィールド毎にマッピングの設定が可能です。例えばレプリケーションするフィールド、しないフィールドを設定したり、ソースとターゲットでテーブル構造が異なる場合の複雑なマッピング設定が可能です。
また、フィールド名や序数での自動マッピング機能も搭載しておりますので、同一テーブル構成でレプリケーションを実施する場合は、手間なくマッピング可能です。
双方のテーブル構造が同一の場合のマッピング設定例
双方のテーブル構造が異なる場合のマッピング設定例
Syniti ReplicateはソースDBから取得したデータをUnicodeへ変換し、ターゲットDBの文字コードに合わせて自動変換します。
このためDBの文字コードの差異を意識する必要はありません。
AS/400の対応文字コード詳細:https://www.climb.co.jp/soft/dbmoto/as400/
フィールドマッピング画面にて、マッピング単位で関数を設定することで、データ変換しつつレプリケーションを実施できます。関数はVBとC#の標準関数を使用できる他、スクリプト画面で定義したオリジナルのユーザ関数を使用することもできます。
これにより、例えばTrim関数を使用し、前後の空白を除去してレプリケーションを実施するといったことが可能です。
参考記事:https://www.climb.co.jp/blog_dbmoto/archives/951
Syniti Replicateではスクリプトを使用した条件付きのレプリケーションや、スケジュール設定を行うことも可能です。これにより要件にあった柔軟なレプリケーションを実施できます。
Syniti ReplicateではC#またはVB .NETのいずれかでのスクリプトをサポートしており、複雑なレプリケーションを実施することが可能です。
例えば、テーブルやカラムを結合したレプリケーションを実施することや、Delete(削除)操作はレプリケーションしないといった、条件付きのレプリケーションを行うこともできます。
参考記事:https://www.climb.co.jp/blog_dbmoto/archives/4659
Syniti Replicateでは次のスケジュール設定が可能です。
リフレッシュ(全件)・・・定期リフレッシュ実行スケジュール
ミラーリング・シンクロナイゼーション(差分)・・・レプリケーション除外スケジュール
Syniti Replicateでは、様々なテーブル構成のレプリケーションに対応しており、仮想的なPKを指定し差分レプリケーションを実施することや、複数テーブルをグループ化しレプリケーションすることも可能です。
Syniti Replicateは差分レプリケーション実施の際、対象レコード識別のためにレプリケーション先のテーブルにPKが設定されている必要があります。しかしPK設定されていない場合でも、Syniti Replicateから対象レコードをWHERE句指定するための仮想PKを設定することで差分レプリケーションを使用可能となります。
※仮想PKを使用する場合でも、レコードの値は一意である必要があります。また複合キーとして仮想PKの複数指定が可能です。
レプリケーションクエリ:update TABLE ~ where C1=xx
⇒where句にPKが指定されるため、そのまま差分レプリケーション可能
レプリケーションクエリ:update TABLE ~
⇒where句にPKが指定されないため、そのままでは差分レプリケーション不可ですが・・・
仮想PKを設定することで、
レプリケーションクエリ:update TABLE ~ where C1=xx
⇒where句にPKが指定され、差分レプリケーション可能に
※テーブルへの変更は一切加えません
Syniti Replicateはテーブル単位で作成したレプリケーション定義(ジョブ)をグループにまとめることができます。グループ化によって以下のメリットがあります。
・DBサーバへのアクセスセッション数の削減(ジョブ単位⇒グループ単位に変更されます)
・レプリケーション設定情報の一元化
・外部参照キーを持った親子テーブルのレプリケーションの実現