
近年、業務データを AI による分析や BI ダッシュボード、機械学習のフィーチャーストアとして活用したいというニーズが高まっています。こうした用途では、基幹システムへの負荷を増やさずに大量データを高速集計できる分析基盤が欠かせません。CData Sync V26.2 では、新たな同期先として列指向 OLAP データベースの ClickHouse が追加されました。これにより、CData Sync がサポートする 400 種類以上のデータソースから ClickHouse への直接データ連携が可能になります。本記事では、Oracle をデータソースとして ClickHouse へ受注・顧客データを連携する方法を実際の設定手順とともにご紹介します。本記事では検証に CData Sync 26.2.9623.0 を使用しています。
ClickHouse とは
ClickHouse はオープンソースの列指向 OLAP データベースで、大量データに対するリアルタイム分析クエリを得意としています。主な特徴は次のとおりです。
OLTP データベースの基幹データを ClickHouse に連携することで、基幹システムへの負荷を増やさずに、AI や BI が活用しやすい高速な分析環境を構築できます。
CData Sync V26.2 での対応内容
CData Sync V26.2 では、同期先として ClickHouse が正式にサポートされました。Oracle、SQL Server、Salesforce、kintone など 400 種類以上のデータソースから ClickHouse へ直接データ連携が可能になります。初回はフルレプリケーションでデータを一括転送し、2 回目以降は差分連携(CDC など)で変更データのみを効率的に同期できます。
今回構築する連携
Oracle 上にある基幹システムの受注テーブル(orders)と顧客テーブル(customers)を ClickHouse へ連携し、分析クエリを実行できる環境を構築します。全体のアーキテクチャは以下のとおりです。

設定手順
Step 1:データソース(Oracle)の接続設定
画面左側の「接続」タブ -> 「接続を追加」より Oracle (Native) コネクタを選択します。接続情報(Server、Port、SID / ServiceName、User、Password)を入力の上、接続を作成します。設定の詳細については Oracle コネクタ ヘルプページにある「接続の確立」セクションを参照ください。

Step 2:同期先(ClickHouse)の接続設定
同様に「接続」タブ -> 「接続を追加」より ClickHouse を選択し、任意の接続名を入力して「Add」ボタンをクリックします。

接続プロパティとして以下の項目を入力します。
プロパティ | 説明 |
|---|
Protocol | 接続プロトコル(デフォルトは HTTP) |
Server | ClickHouse サーバーのホスト名または IP アドレス |
Port | 接続ポート(デフォルトは 8123) |
User | 接続ユーザー名(デフォルトは default) |
Password | 接続パスワード |
Database | 接続先データベース名 |
各項目を入力後、画面右上の「保存およびテスト」で接続が正常に確立できることを確認します。

設定の詳細については ClickHouse コネクタ ヘルプページを参照ください。
Step 3:ジョブの作成
Step 1、2 で作成した接続を使用してジョブを作成します。「Jobs」タブ -> 「Add Job」より任意のジョブ名を入力し、データソースに Oracle、同期先に ClickHouse の接続を選択します。

ジョブ作成後、「タスク」タブから連携対象のテーブルを追加します。今回は Oracle の orders テーブルと customers テーブルを選択します。

Step 4:ジョブの実行と動作確認
ジョブ画面上部の「Run」ボタンをクリックしてジョブを実行します。実行後、「History」タブから各テーブルの転送件数や実行時間を確認できます。

ClickHouse 側で clickhouse-client や DBeaver などのクライアントから SELECT 文を実行し、Oracle のデータがまさしく取り込まれていることを確認します。
-- 取り込まれた受注データを確認
SELECT
order_id,
customer_code,
product_code,
quantity,
amount,
order_date
FROM orders
LIMIT 10;
-- 月次の受注金額を集計(ClickHouse の高速集計の恩恵を受けやすいクエリ例)
SELECT
toYYYYMM(order_date) AS year_month,
count() AS order_count,
sum(amount) AS total_amount
FROM orders
GROUP BY year_month
ORDER BY year_month;

2 回目以降の実行では、CDC 差分連携により変更されたレコードのみを効率的に同期できます。
まとめ
CData Sync V26.2 の ClickHouse 対応により、Oracle のような行指向 OLTP の基幹データを高速な列指向分析基盤へ簡単に連携できるようになりました。分析クエリを Oracle から切り離すことで基幹システムへの負荷を抑えながら、ClickHouse の高速な集計処理とストレージ効率の高さを活かし、AI 分析・BI ダッシュボード・機械学習のフィーチャーストアといった用途のデータ基盤を構築できます。ぜひ CData Sync V26.2 をお試しいただき、AI 時代のデータ分析基盤の高速化にお役立てください。CData Sync の 30 日間無償トライアルはこちらからダウンロードいただけます。
また、使っていて気になった点やご不明な点があれば、お気軽にテクニカルサポートまでお問い合わせください。