CData Sync DBアプライアンスのデータ抽出と加工(基本設定編)

[更新: 2025年8月14日]

本記事は、弊社で検証したデータの一部を公開しています。ご参考としてご活用ください。

1. はじめに

本記事は、CData Syncを用いたデータ抽出および加工の基本設定手順を解説します。

実際の検証データをもとに、設定例や操作手順をまとめています。

注釈

個別の要件定義や設計、開発・設定のサポートは、CData Syncのサービスには含まれませんのでご注意ください。


2. 検証環境の概要

2.1 検証条件

  • CData Syncバージョン: 25.1.9285.0

  • 仮想サーバーの作成やWindows Server OSの基本設定については、本記事では割愛します。

  • GUIは日本語表示で解説しています。

注釈

Windows Server OSのグループポリシーやセキュリティ設定は、OS管理者が別途設定する必要があります。


2.2 データベースの構成

本検証では、さくらのクラウド上に4台のデータベースアプライアンスを作成し、ローカル環境に配置しました。

構成図

構成図の画像

DBアプライアンスの役割

対象

説明

Win_CData_Sync

CData Syncをインストールし、各DBを操作する踏み台サーバー

test01

部署AのデータベースA'

test02

部署BのデータベースB'

test03

部署CのデータベースC'

test04

部署DのデータベースD(分析・統合用)'

注釈

本検証は、1社で複数DBを分散利用するケースを想定しています。


2.3 DBアプライアンスの詳細

データベースアプライアンスの構成は、下記の内容で作成・利用しました。

構成

対象

説明

対象

test01
test02
test03
test04

プラン

1Core-2GB 10GB

データベースエンジン

MariaDB(バージョン10.11)

ネットワーク設定

対象

IPアドレス

ゲートウェイアドレス

test01

192.168.0.10/24

192.168.0.1

test02

192.168.0.11/24

192.168.0.1

test03

192.168.0.12/24

192.168.0.1

test04

192.168.0.13/24

192.168.0.1


2.4 テーブル作成内容

各データベースには以下のテーブルを作成しました。

test01

契約管理用のcontract01テーブル

SELECT * FROM `contract01`;
contract_id contract_date   name    product_id  department_id   team_id
1   2025-08-01  株式会社うさぎ 1   1   1
2   2025-08-01  株式会社うさぎ 2   1   1
3   2025-08-05  株式会社ライオン    1   1   2

test02

契約管理用のcontract02テーブル

SELECT * FROM `contract02`;
contract_id contract_date   name    product_id  department_id   team_id
1   2025-08-01  株式会社まぐろ 1   2   1
2   2025-08-02  株式会社さば  5   2   2
3   2025-08-10  株式会社あじ  1   2   3

test03

製品管理用のproduct_masterテーブル

SELECT * FROM `product_master`
product_id   product_name    amount  eol     updateat
1    水       100     0       2025-08-02 13:32:22
2    肉       500     0       2025-08-02 13:32:47
3    卵       80      0       2025-08-02 13:33:50
4    大根      150     1       2025-08-02 13:36:22
5    ちくわ     100     0       2025-08-02 13:38:24
30   からし     100     0       2025-08-02 13:38:37

test04

分析・統合用の空のcontract01テーブルなど

SELECT * FROM `contract01`;
contract_id contract_date   name    product_id  department_id   team_id

注釈

テーブルのカラムやサンプルデータは省略しています。


3. CData Syncの概要と前提

CData Syncは、DBやSaaSサービス、ファイルのデータを抽出・加工・転送できるETL/ELTツールです。

本記事では、CData Syncがインストール済みのWindows Server OSサーバーを用い、サブスクリプションキーの設定が完了している前提で解説します。


4. CData Syncによるデータレプリケーション手順

4.1 単純なレプリケーション

4.1.1 シナリオ概要

部署Dが、test01データベースのcontract01テーブルをtest04データベースへ定期的にレプリケーションする必要がある、という想定で手順を説明します。

上記のシナリオを想定し、設定手順と結果を掲載します。


4.1.2 接続の追加

CData SyncのGUIで以下の手順に従い、 データソース(test01) 同期先(test04) の接続を設定します。

接続設定手順

・接続 >>> 接続を追加を表示
・コネクタ選択(MySQL)
・接続名、サーバーアドレス、ポート、認証方式、ユーザー名、パスワード、データベース名、SSL利用有無、ログレベルを入力

新しい接続画面(初期画面)

新しい接続画面の画像

対象項目

参考設定

説明

接続名

test01

CData Sync 接続画面上の名前を設定(任意)します。

Server

192.168.0.10

サーバーのアドレス、ホスト名を設定します。

Port

データベースのポート番号

データベースアプライアンス test01のポートを設定します。

Auth Scheme

認証方式を指定

データベースアプライアンス test01の認証方式を指定します。

User

データベースアプライアンス作成時に設定したユーザ名

データベースアプライアンス test01で作成・指定したユーザ名を指定します。

Password

データベースアプライアンス作成時に設定したパスワード

データベースアプライアンス test01で作成・指定したパスワードを指定します。

Database

test01

データベースアプライアンス test01に作成済みのデータベースを指定します。

Use SSL

False

SSLの利用を指定します(TIPSの検証環境ではFalse)。

ログ

info

接続に関するログ情報のレベルを指定します(TIPSの検証環境ではinfo)。

注釈

設定は、作成後に変更できます。

重要

test02以降も同様に設定します。操作が重複するため掲載は省略いたします。

注意

接続先の登録可能数はライセンスに依存します(Standard:最大5、Enterprise:制限なし)。


4.1.3 ジョブの追加

抽出や加工の指定、および同期先への転送設定は、ジョブによって管理・制御します。

ジョブの追加手順

・ジョブ >>> ジョブを追加を表示
・ジョブ名、データソース(test01)、同期先(test04)を指定

ジョブを追加画面

ジョブを追加画面の画像

ジョブを追加

対象項目

参考設定

説明

名前

任意ジョブ名

CData Sync ジョブ画面上の名前を設定(任意)します。

データソース

test01

データソースを予定する接続:test01を指定します。

同期先

test04

同期先を予定する接続:test04を指定します。

注釈

本TIPSは、標準を指定・作成します。


4.1.4 カラムの設定

ジョブ作成後、タスク画面で抽出対象テーブル(contract01)を指定します。

単純なレプリケーションの想定では、カラムマッピングはすべてデフォルト(全カラム)とし、その他の項目もデフォルト設定としました。

タスクを追加画面

タスクを追加画面の画像

4.1.5 プレビュー(テスト)

抽出・加工準備後、プレビュー機能で実行結果を確認します。

タスクを追加画面

タスクを追加画面の画像

4.1.6 同期先の指定

必要に応じて、同期先の接続に対し対象のデータベース名、テーブル名を指定します。

同期先情報画面

同期先情報画面の画像

4.1.7 タスクスケジュール指定

ジョブ画面に戻りスケジュールを指定します。cron設定同様に開始間隔、間隔値を指定します。

・ジョブ画面でスケジュールを設定(間隔指定、最小1分)

スケジュール編集画面

スケジュール編集画面の画像

注釈

実行時には大量のログが生成・読み込まれます。そのため、ログによるサーバーリソースの消費にご注意ください。

重要

スケジュールは、保存と同時に適用されます。スケジュールの設定は、ジョブやタスクの設定完了後に行ってください。


4.1.8 ジョブの実行

作成したジョブは、手動実行が可能です。作成したジョブをテストするため実行します。

ジョブ画面

ジョブ画面の画像

4.1.9 ジョブの結果

ジョブが成功すると、スケジュールに従ってテーブルがレプリケーションされます。

差分チェック用のカラムなどが未設定の場合、毎回すべてのデータが追加されます。

実行結果画面

実行結果画面の画像

注釈

高度な設定では、キャッシュや追加の前に、テーブルやテーブルデータを削除することが可能です。


4.2 差分レプリケーション

4.2.1 シナリオ概要

今後、contract01のレプリケーション量が増加することを見越し、差分のみをレプリケーションする場合の手順を説明します。


4.2.2 カラムの設定

既存ジョブのカラム設定で、差分チェック用カラム(例:contract_id)を設定します。

差分チェック用カラム設定手順

・ジョブ >>> 対象ジョブを選択 >>> 対象カラムを選択 >>> 概要 >>> データソース情報 編集画面を表示
・差分チェック用カラムにcontract_idを指定

データソース画面

実行結果画面の画像

4.2.3 ジョブの設定

ジョブ画面で「差分レプリケーション」を追加設定します。

差分レプリケーション編集手順

・ ジョブ >>> 差分レプリケーションを編集を表示
・ レプリケーション間隔を設定

差分レプリケーション画面

実行結果画面の画像

注釈

開始日/開始整数は、データソースの最小開始日または自動インクリメントカラムの最小整数値(データソースの最も古い利用可能なレコード)から、データのレプリケーションを開始します。開始日と開始整数のどちらを設定するかは、整数ベースの開始時間の設定状況に応じて選択します。


4.2.4 実行結果

設定を再度行い、実行します。再実行後は、設定したカラムと値を参照し、差分のみをレプリケーションします。

データソース画面

実行結果画面の画像

注釈

差分情報を掲載するため、test04に別のテーブル(contract_all)を作成、レプリケーションを実行しました。

注釈

古いテーブルやテーブルデータがキャッシュされていることなどが原因で、正常に動作しない可能性があります。エラーが発生した場合は、高度な設定からレプリケーション前に削除を実行してください。