CData Sync 26.2 は、ここ数回のリリースの中でも特に充実した内容となりました。今回のリリースでは、パイプライン構成の Git バージョン管理、イベントでの Python スクリプト対応、大容量データベース向けの並列読み取り(UI から設定可能)、ビジュアルデザインの刷新、アプリケーションデータベースのガイド付き移行ウィザード、そして変更データキャプチャ(CDC)の幅広い改善が加わりました。本記事では、それぞれの新機能と、その魅力を詳しくご紹介します。
パイプライン構成をコードのように管理
本番環境で CData Sync を運用するチームにとって、構成変更の管理は常に手作業に頼らざるを得ない領域でした。構成をエクスポートし、変更内容を文書化し、何を変えたかを記憶に頼って思い出す、というのが従来の姿です。Sync 26.2 では、製品に直接組み込まれたネイティブな Git バージョン管理機能により、この状況を一新します。
ワークスペースを Git リポジトリに接続すると、ジョブ、接続、パイプライン設定に対するすべての変更が、バージョン管理されたアーティファクトとして扱われるようになります。メッセージを添えて変更をコミットしたり、チームからの更新を取得したり、ローカルの編集を破棄したり、過去のコミットを取り消したりといった操作を、すべて Sync の UI 内から行えます。コマンドラインの知識は必要ありません。
仕組み
OAuth、SSH、HTTP、ローカル Git の中からお好みの認証方法を選び、ワークスペースを任意の Git プロバイダー(GitHub、GitLab、Azure DevOps、Bitbucket)に接続します。そこから先は、おなじみのワークフローです。変更されたファイルは視覚的な差分表示付きのコミットパネルに表示されるので、メッセージを入力してリモートブランチにプッシュすれば、変更が追跡されます。チームメンバーからの更新を取り込みたい場合は、利用可能なコミットを作成者やメッセージで一覧から確認し、ワンクリックで適用できます。
変更を取り消したい場合は、履歴から任意のコミットを選択することで、影響を受けたすべてのファイルを以前の状態に復元できます。ローカルでの編集内容の破棄も同じ手軽さで行えます。各ワークスペースには、機密情報を保護するための独自の暗号化キーが割り当てられます。新しいリポジトリでは自動的に作成され、すでに Sync 設定が含まれているブランチに接続する際にはインポートされます。
その重要性
バージョン管理により、パイプライン管理はエンジニアリングの規律として扱えるようになります。規制環境下のチームは、誰が、何を、いつ変更したかという完全な監査証跡を取得できます。DevOps 志向のチームは、機能ブランチで開発し、レビューを経て本番環境にマージするというプロモーションワークフローを実装できます。そして、誤ったフィールドを編集してパイプラインを壊してしまった経験のある方なら、記憶を頼りに作り直すのではなく、わずか 2 クリックでロールバックできるありがたさが伝わるはずです。
並列読み取りで大容量テーブルを高速レプリケート
トランザクションデータベースから数億行規模のテーブルをレプリケートすることは、データ統合において最も一般的なパフォーマンス課題の一つです。Sync 26.2 では、新機能として「並列読み取りパーティショニング」を導入しました。大規模なソーステーブルをパーティションに分割し、複数のスレッドで同時に読み取れるようになるため、大容量ワークロードのレプリケーション時間を劇的に短縮できます。
設定はシンプルです。パーティションキー(日付または整数型のカラム)を選び、パーティションサイズと最大スレッド数を設定するだけで、あとは Sync が処理してくれます。各パーティションは独立して読み取られ、結果は到着次第、同期先に書き込まれます。たとえば 5 億行のテーブルを 5 つのチャンクに分割して 5 スレッドで処理した場合、シングルスレッドでの読み取りと比較して、レプリケーション時間が最大で 5 分の 1 程度まで短縮されることが期待できます。
対応ソース
並列読み取りパーティショニングは、SQL Server、Oracle、PostgreSQL、DB2、DB2 i、Informix、MySQL、MariaDB で利用できます。設定はタスク単位で行えるため、ジョブ内の他のタスクに影響を与えることなく、必要なテーブルに対してのみ選択的に有効化できます。
レプリケーション先として ClickHouse に対応
CData Sync 26.2 では、レプリケーション先として ClickHouse が追加されました。ClickHouse は、大規模データセットに対する高速な分析クエリのために構築されたカラムナ型のオープンソース OLAP データベースで、リアルタイム分析、可観測性パイプライン、イベント駆動型データプラットフォームを構築するチームにとって定番の選択肢になっています。
今回の対応により、Sync が対応するあらゆるソースから ClickHouse へ直接データをレプリケートできるようになりました。フルロード、増分、変更データキャプチャ(CDC)といった Sync 標準のレプリケーションモードがすべて利用できます。ClickHouse はカラムナストレージと圧縮により集計クエリが非常に高速で、これと Sync の信頼性の高い自動レプリケーションを組み合わせることで、トランザクションソースから ClickHouse のテーブルを常に最新の状態に保てます。
これにより実現できること
リアルタイム分析パイプライン: SQL Server、Oracle、Salesforce など、Sync が対応するあらゆるソースから ClickHouse にレプリケートすることで、業務データに対するサブ秒単位のクエリ性能を実現できます。
可観測性とイベントデータ: アプリケーションイベントやログデータを Sync 経由で ClickHouse にストリーミングし、高スループットでの取り込みと高速な分析アクセスを両立できます。
コスト効率の高いデータウェアハウジング: ClickHouse の圧縮率とカラムナフォーマットにより、行ベースの代替手段と比較してストレージ使用量を大幅に削減できます。
Python がイベントの第一級言語に
イベントでは、通知、検証、下流処理のトリガーなど、ジョブやタスクの前後にカスタムロジックを実行できます。これまで、そうしたロジックは JavaScript またはシェルスクリプトで記述する必要がありました。Sync 26.2 では、Python が完全にサポートされた選択肢として加わります。
多くのデータエンジニアリングチームにとって、これは自然な選択肢でしょう。Python はデータエコシステムにおける主流言語であり、わざわざ JavaScript にコンテキストスイッチする必要がなくなることで、イベントの自動化がより幅広いエンジニアに開かれることになります。
Python イベントでできること
レプリケーション完了後に下流の REST API を呼び出し、dbt の実行、Airflow DAG、その他最新データに依存するプロセスをトリガーします。
レプリケーション開始前にデータ品質チェックを実行します。行数の検証、NULL 値のチェック、チェックサムの比較などを行い、ソースが準備できていない場合はジョブをブロックできます。
Slack や Teams に、行数、実行時間、実行中に発生した警告などのジョブメトリクスを含む構造化通知を送信します。
Datadog、Splunk、OpenTelemetry などの外部可観測性プラットフォームに、拡張されたジョブメタデータを書き込みます。
刷新された UI とよりスマートなワークフロー
CData Sync の主要なページ(サインイン、ダッシュボード、パイプライン、ジョブ、接続、変換、ログ、設定、ユーザー詳細)は、新しいブランドに合わせてすべて刷新されました。よりクリーンで一貫性のあるデザインとなっており、今後のリリースにおける継続的な UI 改善の基盤となるものです。
ビジュアルの刷新に加え、お客様から分かりにくい、または時間がかかるとのご指摘をいただいていたいくつかのワークフローも、見直しを行いました。
タスクの再同期
ジョブ設定を変更することなく、ジョブビューから直接 1 つ以上のタスクを再同期できるようになりました。開始位置(先頭から、特定の日付または値から、または現在から)を選び、既存の同期先データに対して「MERGE」「TRUNCATE」「DROP」のいずれを行うかを指定できます。
よりスマートなテーブル検索
「タスクの追加」モーダルでテーブルをフィルタリングする際、一致する結果が含まれないスキーマが自動的に非表示になりました。エンタープライズ向けの Oracle や SQL Server 環境のように、数十から数百ものスキーマを持つソースでは、目的のテーブルを見つけるまでの時間が大幅に短縮されます。
プロキシ設定の簡素化
接続はデフォルトで、Sync 全体のグローバルプロキシ設定を継承するようになりました。必要に応じて、各接続のトグルを切り替えることでオーバーライドできますが、ほとんどの環境では、プロキシ設定は接続ごとに毎回行う作業ではなく、一度のグローバル設定で済むようになっています。
手作業なしでアプリケーションデータベースを移行
CData Sync は、ジョブ、接続、履歴、設定といった自身のアプリケーションデータをバックエンドデータベースに保存します。新規インストールでは H2 がデフォルトとなっており、導入初期には適していますが、大規模な本番環境での利用は推奨されません。これまで SQL Server、MySQL、PostgreSQL への移行には、ドキュメントの参照、手動でのファイル編集、そしてある程度の度胸が必要でした。
Sync 26.2 では、移行プロセス全体を UI から実行できるガイド付きの移行ウィザードを導入しました。移行先のデータベースを選び、接続情報を入力して、接続テストを実行します。ウィザードは、実行中のジョブやアクティブな CDC エンジンがないことを確認したうえで、進行状況をリアルタイムで表示しながら、データをテーブル単位で移行します。完了後は、新しい接続文字列が自動的に暗号化されたうえで、ワンクリックでコピーできるボタンとともに表示され、切り替え手順もインラインで案内されます。
元の Derby/H2 データベースは全工程を通じて保持されており、ウィザードは完全に非破壊的です。万が一問題が発生した場合でも、自動ロールバックによって移行前の状態に復元されます。また、複数回実行することも可能なので、本番適用前に複数の移行先データベースを試してみる用途にも適しています。
このウィザードに加え、CData AppDB 接続では接続プーリングがデフォルトで有効になりました。これは、AppDB として PostgreSQL を使用しているチームにとって特に重要なポイントです。これまでプーリングが無効だったことで、スループットが目に見えて低下していたケースがあったためです。
変更データキャプチャ(CDC): Oracle のサポート強化とツールの改善
変更データキャプチャ(CDC)はバージョン 26.2 で重点的な強化が行われ、特に Oracle と DB2 i への対応が拡充されたほか、CDC エンジン管理の操作性についてもいくつかの改善が施されています。
Oracle: ROWID、NUMBER 型、一時テーブル
Oracle CDC ジョブで、ROWID 列をレプリケートできるようになりました。また、主キーが定義されていないテーブルでは、ROWID を主キーの代わりとして使用できます。これにより、主キーなしで構築されており、従来はスキーマを変更しない限りレプリケーションができなかった、レガシーな Oracle スキーマにおけるよくある課題が解消されます。
Oracle Native CDC では、NUMBER データ型の扱いも改善されています。精度とスケールのデフォルト値が見直されたことで、数値データを Oracle 以外の同期先にレプリケートする際の型不一致エラーが減少します。
同期先側では、マージベースのレプリケーション戦略を使用している場合、Oracle のレプリケーションジョブは、Oracle 18c 以降ではプライベート一時テーブルを、それ以前のバージョンではグローバル一時テーブルを使用するようになりました。一時テーブルは Oracle の REDO ログには書き込まれないため、レプリケーションの負荷が Oracle インフラに影響していたお客様にとって、書き込み増幅を大幅に削減できます。
DB2 i: ジョブ作成時のジャーナル選択
DB2 i の CDC ジョブを作成する際、テーブル選択に進む前に、ジャーナルとジャーナルレシーバーを選択することが必須となりました。これは意図的に設けたガードレールです。選択されたジャーナルに関連付けられているテーブルのみがテーブルリストに表示されるようフィルタリングされるため、互換性のないテーブルでジョブが構成され、実行時に初めて失敗するというタイプの設定ミスを未然に防げます。既存の DB2 i CDC ジョブには影響しません。
CDC エンジンの改善
CDC エンジンの設定には、基本ジョブ設定とは明確に区別された専用パネルが用意されました。エンジン実行中に変更すべきでない特定のプロパティは読み取り専用として表示されるため、意図しない変更のリスクが低減されます。
また、CDC エンジンを UI から直接リセットできるようになりました。リセットを実行すると、ステージフォルダ、ステージテーブル、オフセットファイルがクリアされ、エンジンが停止したり同期がずれてしまったりした場合でも、クリーンな再起動状態に戻すことができます。
CData Sync V26.2 は本日よりご利用いただけます。アップグレード手順および詳細なドキュメントについては、CData Sync ドキュメントポータルをご覧いただくか、お気軽にお問い合わせください。
※本記事は CData US ブログ What's New in CData Sync 26.2 | CData の翻訳です。
より速く、よりスマートな連携を。
データウェアハウス、クラウドアプリ、ローカルデータベースなど、どのような同期先であっても、CData Sync はビジネスが必要とする信頼性でデータをリアルタイムに流し続けます。
無償トライアルを始める