CData Marketo Drivers は Marketo のデータをBI・ETL ツールやExcel 、データベースとノーコードで連携するドライバです。2024年10月にリリースされたバージョンv24 ではv23 から大きく進化しました。本記事ではその進化した内容を紹介するとともに、v23 以前の旧バージョンから移行する際の注意点を説明します。
1. 進化した内容
v24 ではv23 以前と比較し、より分かりやすく、より高いパフォーマンスで利用頂けるように大きく進化しました。本章ではMarketo Driver v24 の注目ポイントを紹介します。
1.1. RESTスキーマへの一本化
最も大きな変更として、v24 でSOAP スキーマが廃止されREST スキーマに一本化されました。
これまでは使用するAPI によってSOAP スキーマとREST スキーマの二つのスキーマが選択できました。しかしMarketo はSOAP APIの開発がストップし、今後はREST に焦点を当てていくとアナウンスしています。今後SOAP API の廃止が見込まれているため、v24 以降ではCData Drivers もREST のみをサポートする方針となりました。一本化されたことでスキーマ選択に迷う事なくよりシンプルにご利用頂けます。
1.2. カスタムオブジェクトのバルクエクスポートをサポート
カスタムオブジェクトのバルク処理によるデータ取得をサポートしました。カスタムオブジェクトの大量データを取得する時にバルク処理を行うことでパフォーマンスが大きく向上します。
1.3. バルク処理のマルチスレッド化
これまでバルク処理はシングルスレッドで実行されていましたが、これがマルチスレッドで実行されるようになりました。これによりバルク処理自体のパフォーマンスが大きく向上します。
1.4. より多くのカラムでサーバーサイドフィルタリングをサポート
これまでサポートしていなかったカラムでサーバサイドフィルタリングをサポートしました。例えばEmails テーブルのStatus カラム、Folders テーブルのParentId, ParentType カラム、SmartLists テーブルのFolderId, FolderType カラム、Campaigns ビューのProgramName, WorkspaceName カラムなどで新たにサーバサイドフィルタリングがサポートされました。これにより、これらのカラムでフィルタリングした際のパフォーマンスが大きく向上します。
1.5. アクティビティテーブルの命名規則が変更
アクティビティテーブル(Activities*)のテーブル名やカラム名の単語の区切りにアンダースコア(_)が入ります。例えばActivities_NewLead はActivities_New_Lead になります。この規則はカラム名にも適用され、例えばModifyingUser はModifying_User となります。これは長いテーブルに対応するオブジェクトやカラムに対応するフィールドを分かりやすくすることを狙いとし、Activities_ScheduledMeetinginConversationalFlow のような長い名前のテーブルもActivities_Scheduled_Meeting_in_Conversational_Flow となることでテーブルの内容を即座に把握することができます。また、カスタムアクティビティのテーブル名はそれがカスタムアクティビティであることを明確にするために末尾に「_c」が付与されます。
1.6. その他の変更点
詳細な変更点については以下の資料をご覧ください。
ヘルプドキュメント
・v23 ヘルプドキュメント
・v24 ヘルプドキュメント
スキーマ比較資料
こちらにv23 とv24 におけるテーブルおよびストアドプロシージャの対応を示したExcelファイルがあります。
2. 旧バージョンからの移行
本章ではドライバとSync でv23 以前の旧バージョンからv24 に移行する際の注意点や手順を説明します。
2.1 ドライバ
SOAP を利用されている場合はREST に移行していただく必要があります。コネクションの主な変更点は以下の2点です。プロパティのラインナップや名称が変わりますので、既存の設定をもとにコネクションの再作成、再設定を行ってください。
- SOAPスキーマが廃止となったため、Schema プロパティが削除されました
- RESTEndpointURL プロパティの名前がURL に変更となりました。
テーブルなどのスキーマについては、1.6 章で示したヘルプドキュメントをもとにテーブル、カラム等を変更してください。変更する設定項目や内容はご使用のツールにより異なります。移行に関してサポートをご希望の場合はこちらのサポートフォームよりお問い合わせください。
2.2 Sync
CData Sync v24.2 までは CData Driver のv23ドライバー、もしくはそれ以下のバージョンで動作しております。今回のMarketo の大幅変更は、CData Sync v24.3 以降からの適用となります。そのため、今後どこかのタイミングでCData Sync 本体をアップデートされる場合、テーブル名やカラム変更が行われた影響で、正常にレプリケーションが完了しないケースがございます。
つきましては、2.2.1 コネクションの章より対応内容をご確認いただき、レプリケーション設定を更新してください。
2.2.1. コネクション
コネクションの基本プロパティの変更点を説明します。以下は左が変更前, 右が変更後の最新のコネクション設定画面です。
変更点は2つです。
- SOAPスキーマが廃止となったため、Schemaプロパティが削除されました
- Schemaプロパティに「REST」を指定した時に表示されるRESTEndpointURLプロパティの名前がURLに変更となりました。
2.2.2. CData Sync v24.3 への移行方法
変更前環境で作成したテーブルに対し、変更後の最新コネクタで同期する方法を説明しますが、差分更新の有無やレプリケーション対象のテーブルによって対応内容が変わりますので、上から順にご確認ください。
現行環境で差分更新を行っている場合
1. テーブル名に変更があるかを確認する
以下のヘルプドキュメントで最新のテーブル名を確認します。変更があった場合は、レプリケートクエリを作成しなおします。
https://cdn.cdata.com/help/DKK/jdbc/pg_datamodel.htm
作成する際は下記手順で既存テーブルを選択してください。
まずは同期先情報の編集ボタンをクリックします。
テーブル名の赤枠部分に同期先DBにあるテーブルがリストで表示されるので、その中から同期先テーブルとして使いたいものを選択するだけです。
既存テーブルの指定の他に、レプリケート開始日も指定します。この指定がなければ、初回は全件更新になってしまいますので、差分更新の続きでレプリケートタスクを再開させるために必ず指定してください。
指定方法は、概要タブにある差分レプリケーションの設定ボタンをクリックします。
整数ベースの開始時間のトグルをオフにして、開始日を指定します。指定する日付は最後に実行した日付+1日を指定してください。例えば現行環境で最後に実行したのが2024年10月16日だとしたら、2024年10月17日を指定します。これで2024年10月17日 以降のデータを取り込むようになります。
2. カラム名が異なる場合はカラムマッピングを編集する
カラム名が変わっている場合は、カラムマッピングもしくはカスタムクエリで調整します。変更されているかは現在ご利用されているレプリケートクエリのカラム、もしくは以前のヘルプを参照して比較ください。
変更後のヘルプ:https://cdn.cdata.com/help/DKK/jdbc/pg_datamodel.htm
変更前のヘルプ:https://cdn.cdata.com/help/DKJ/jp/jdbc/pg_datamodel.htm
カラム名の変更方法は、タスク詳細ページのカラムタブからマッピングを編集ボタンをクリックして編集モードにします。
カラムの右横に3点リーダがあるのでそこをクリックして、同期先を編集 → カラム名変更で完了ボタンをクリックします。
調整後はクエリ自体が以前の内容から変わってしまうことから、差分更新は初回からの実行となってしまいます。その回避策として、1番でお伝えしたレプリケート開始日の指定を行ってください。
現行環境で差分更新を行っていない場合
毎回全件洗替のケースでは、テーブル削除オプションかレコード削除オプションがON になっていますが、ONにしているオプションによって対応が変わります。
1. レコード自体は削除するが同期先テーブル名やカラム名が変わることは避けたい場合
新たにレプリケートタスクを作り直してください。その際、同期先テーブル名やカラム名は以前のものと同じ名前にしたい場合は、「同期先テーブル名の変更」と「カラムマッピングでの同期先カラム名の変更」を行ってください。
まず同期先テーブル名の変更は、レプリケートタスクを最初にクリックしタスク詳細画面を開きます。(カスタムクエリで直接変更でも可能です)

タスク詳細画面が開いたら、概要タブから同期先情報の編集ボタンをクリックします。

テーブル名検索エリアで設定したいテーブル名で検索し、表示されたものをクリックしてください。同期先DBにその名前のテーブル名が存在してない場合は、新規で作成されます。

これでレプリケートタスクを実行することで以前と同じテーブル名で連携されるようになります。
2. 同期先テーブル名やカラム名は毎回変わっても影響ないという場合
この場合は新たにレプリケートタスクを作成していただきご利用ください
3. サポートをご希望のお客様へ
今回Marketo ドライバの進化に伴い、機能やパフォーマンスが大きく向上するとともに、コネクションやスキーマ等が変更されました。v24 への移行にあたり以下のような問題が発生したお客様に対してはCData が個別にサポートいたしますので、ぜひこちらのサポートフォームよりお問い合わせください。
- v24 で接続できなくなった
- v24 で目的のデータにアクセスできなくなった
- v24 に移行したいがスキーマの対応が分からない
それでは、ぜひ進化したMarketo ドライバをお試しください!