機能


機能


差分更新

CData Sync はデータウェアハウスの差分更新をサポートしています。毎回すべてのデータをクエリする代わりに、最後のジョブ実行時から追加、変更されたデータだけをクエリしてデータウェアハウスに追加します。これによって通信量を抑え、スピーディな同期を実現します。

CData Sync は主に2つの差分更新の手法(差分チェックカラムとログベースレプリケーション)を使用してデータを取得します。これらの手法の概要は以下のとおりです。

差分チェックカラム

差分チェックカラムは、同期する際に新規または変更されたレコードを識別するためにSync が使用する、datetime またはinteger ベースのカラムです。ソースにレコードが追加または更新されるたびに、このカラムの値が増加します。Sync は抽出時にこのカラムを基準として使用し、新規または変更されたレコードのみが返されるようにすることができます。その後、Sync は次のレプリケーションで使用するためのカラムの新しい最大値を保存します。

差分チェックカラムによるレプリケーションは、2種類の異なるデータ型を使用して実行できます。

  • DateTime 差分チェックカラム: レコードが最後に更新された日時を表す”Last Modified” または”Date Updated” カラム。
  • 整数ベースの差分チェックカラム:レコードが追加または更新されるたびに増分する自動インクリメントID または行のバージョン。

ログベースレプリケーション

一部のソースではログベースのレプリケーションをサポートしており、ソースはログファイルを使用して、データベースに変更を加えるイベント(挿入、更新、または削除)をログに記録します。ソーステーブルに変更をクエリするのではなく、Sync はログファイルで変更イベントを読み取ります。次に、レプリケーションのためのそれらの変更を抽出し、次回のレプリケーション用に現在のログを保存します。

以下のソースはログベースのレプリケーションに対応しています。

削除のキャプチャ

CData Sync は自動で削除をキャプチャして、同期先データの精度を保ちます。Sync はAPI 呼び出しや変更の追跡機能を使用して、削除されたレコードのリストをソースから取得します。

ソースがCData Sync に対して削除されたデータの検出を許可している場合は、高度なジョブオプションセクションの[削除の挙動]オプションを使用して、CData Sync が削除を処理する方法を制御できます。

  • Hard Deleteデフォルト):ソースで削除が検出されると、Sync は同期先のテーブルからそのレコードを削除します。
  • Soft Delete:Sync は同期先テーブルに”_cdata_deleted” カラムを追加します。ソースで削除が検出されると、Sync は同期先の値を”true” に設定します。
  • Skip Delete:Sync はソースで削除されたレコードを無視します。

ソーステーブルの情報に記載されているとおり、API によっては削除されたレコードの検出をSync に許可しません。このようなケースでは、[削除の挙動]は無視されます。

データ型

CData Sync は多くのデータ型を認識し、データ型が厳密に定義できない場合には、データに基づいてデータ型を推論します。Sync は次のデータ型を認識します。

  • Boolean
  • Date
  • Time
  • TimeStamp
  • Decimal
  • Float
  • Double
  • SmallInt
  • Integer
  • Long
  • Binary
  • Varchar
  • GUID

既知のデータ型

多くのソースについて、そのほとんどがリレーショナルデータベースで、いくつかはAPI ですが、Sync は自動的にスキーマ用のデータ型を検出できます。例としては、SQL Server、Oracle、およびSalesforce です。ソースカラムのデータ型が既知の場合、Sync は自動で一致するデータ型を同期先に作成します。

推論されたデータ型

データ型が指定されていない場合、CData Sync はカラムのデータ型を決定するためにデータの最初の数行を解析して、データ型を推論できます。

Sync が不明なカラムサイズの文字列型を検出した場合、カラムのデフォルトサイズは2000となります。SQL Server のようなリレーショナルデータベースでは、Sync はこの型用にvarchar(2000) フィールドを作成します。

Sync は、厳密に定義されていないフィールドにデータ型を割り当てる際に、最小の型を選択します。Sync は最初の行を読み取り、各カラムに最小のデータ型を選択します。その後次の行を読み取り、データが選択したデータ型で格納できるかを確認します。格納できない場合、データ型のサイズを増やします。Sync はこの操作をRowScanDepth(50または100行)まで実行し、最後にはデータ型を指定します。

例えば、CSV のようなソースでは、Sync は”RowScan” を使用してファイルの最初の数行を読み取り、動的に各カラムのデータ型を決定します。

変換

データパイプラインにおいて変換は、レポーティングやデータ分析を容易にするためにデータを加工、整形、集計する方法の1つです。CData Sync はデータパイプラインを作成する際のデータ変換のアプローチとして、一般的な2つの手法をサポートしています。

ETL:ETL(Extract(抽出)、Transform(変換)、Load(ロード))は数十年にわたってアナリティクスの伝統的な手法となっています。この手法は、歴史的に市場を席巻してきたリレーショナルデータベースでの使用を想定して考案されました。ETL では、ロード処理の前に変換の実行が必要となります。データはデータソースから抽出され、ステージングエリアに格納されます。データは整形、修飾、変換されて最後にデータウェアハウスにロードされます。ETL の詳細は、ETL ドキュメントを参照してください。

ELT:ELT(Extract(抽出)、Load(ロード)、Transform(変換))はデータ抽出の方法の1つで、変換などのデータの変更がロード処理のあとに実行されます。現代のクラウドデータウェアハウスは膨大なストレージとスケーラビリティをそなえているため、データすべてを移動して、その後変更を加えることができます。ETL とELT の主な違いは、手順を実行する順序です。

ELT 変換はデータの同期先で実行されるSQL スクリプトです。変換はデータウェアハウスの処理能力を使って、アナリティクスとレポーティング面でのニーズに基づき素早くデータを集計、結合、整形します。データを変換とマッピングで整理することで、パイプラインの移動に合わせてデータを最も役立つ形式で取得できます。ジョブと同様に変換は、’,’ で区切られた複数のクエリ、スケジュールに従った実行、完了後のE メールによる通知をサポートしています。ELT の詳細は、ELT ドキュメントを参照してください。

API アクセス

CData Sync のビルトインREST API はアプリケーションの柔軟な管理を実現します。管理コンソールUI 内で実行可能なことは、RESTful API 呼び出しでも実行できます。

ジョブ管理API ではジョブの作成、更新、実行ができます。

アクション

  • ジョブの編集
  • ジョブの開始
  • ジョブステータスの取得
  • 接続の管理

API 接続について詳しくは、REST-APIドキュメントを参照してください。

ファイアウォールトラバーサル

CData Sync はどこでも実行できます。これは、いくつかのシステムがクラウドにあり、他のシステムは内部ネットワークにあるお客様に最適です。こうしたケースでは、お客様はSync をインストールしてご自身のネットワーク内で実行できるため、インターネット上にポートを公開したりファイアウォールを開いたり、VPN 接続を作成するなどの必要がなくなります。

CData Sync をソースや同期先に近い場所で実行することができるので、どこでも実行できるというSync の機能によって、遅延も大幅に減らすことができ、ETL またはELT ジョブのパフォーマンスも改善できます。

スキーマの変更

データは常に変化するものであり、Sync はこうした変化が常に正確に反映されるようにします。毎実行時、Sync はソースのスキーマと同期先のスキーマを比較して差分を探します。2つのスキーマ間で構造の違いが検出された場合、Sync は同期先のスキーマを変更し、カラムを追加したりカラムサイズを増やすことで、ソースのデータを格納できるようにします。

Sync はさまざまな変更を実行できます。次を含みます:

  • 同期先テーブルに存在しないカラムがソーステーブルに検出された場合、Sync はカラムを追加することで同期先テーブルを変更します。
  • ソースのデータ型のサイズが増える場合、Sync はカラムを更新することで同期先テーブルを変更します。これには、文字列カラムのカラムサイズを増やしたり(varchar(255) -> varchar(2000))、非文字列カラムのバイトサイズを増やす(smallint -> integer)、といった変更が含まれます。

Note:

  • Sync は、カラムがソーステーブルから削除されている場合でも、同期先テーブルからはカラムを削除しません。
  • Sync は、ソースでデータ型が更新されている場合でも、同期先カラムのサイズは小さくしません(varchar(2000) -> varchar(255))。

お問い合わせ

ご意見ご質問がございましたら、ぜひお聞かせください。E メールはこちらに送信をお願いします。