データエンジニアリング

OracleとSnowflake AIの連携:Snowflake Openflow Connector for Oracleの一般提供を開始

Oracleのデータベースは、グローバルサプライチェーン、ヘルスケア、リアルタイム金融取引など、世界で最も重要な企業運営を支えています。Cortex CodeOpenflowにより、OracleデータがSnowflakeの他のエンタープライズデータに接続され、フルコンテキストのAIエージェントを数分で構築できるようになりました。

従来、データチームはバッチETLや複雑なCDCプラットフォームを通じてのみOracleトランザクションデータにアクセスでき、運用ダッシュボードのインサイト取得が遅延していました。マルチホップのCDCアーキテクチャは、複雑さ、コスト、運用リスクを増大させていました。お客様は、テクノロジーのオーバーヘッドを削減し、高価なプラットフォームを回避することを望んでいました。同時に、ほぼリアルタイムのデータと低レイテンシーのデータ移動によるメリットも求めていました。

このようなご要望にお応えし、Oracleとの協業により開発されたSnowflake Openflow Connector for Oracleの一般提供をお知らせできることを大変嬉しく思います。これは、OracleインスタンスからSnowflakeに直接データをストリーミングする、フルマネージドのネイティブなエージェントレス統合です。お客様は、サードパーティのレプリケーションインフラストラクチャを追加で管理する必要はありません。Snowflake Openflow Connector for Oracleは、現在、Bring Your Own Cloud(BYOC)を展開しているすべてのAWS商用リージョンと、Snowflakeを展開しているAWSおよびAzure商用リージョンで提供されています。

実稼働環境での実績:お客様のサクセスストーリー

このコネクタは、単にOracleと互換性を持たせるためだけではなく、大規模エンタープライズ環境におけるスケーリング要件にも対応できるように設計されています。プレビュー期間中、お客様にはアーキテクチャの限界をテストしていただきました。その成果は明らかです。

Yes Energy、ほぼリアルタイムの分析を提供し、エネルギー市場の意思決定を加速

電力市場データのリーダーであるYes Energyにとって、「高速」というだけでは不十分でした。同社はアナリティクスを強化するために、膨大な履歴データセットをSnowflakeに移行する必要がありました。Openflow Connectorの並列スナップショットを使用して、Yes Energyはロード時間の大幅な短縮を報告しました。

「この新しい統合によって実現した最適化は、我々のパイプラインにとってゲームチェンジャーとなりました。このコネクタによる初期スナップショットのロード性能は、当社のコア製品のフローにおいて劇的な改善をもたらしています。以前はロードに10日以上かかっていたテーブルが、今ではわずか5時間40分で完了し、1億3,000万行のテーブルにいたっては14時間からわずか1時間へと短縮されました」

—Dan Goodman氏
Yes Energy、Staff Engineer

高いパフォーマンス、低い影響

データベース管理者にとっての懸念は、レプリケーションツールがソースデータベースのパフォーマンスに影響を与えることです。Openflow Connectorは、ネットワーク環境に配慮した設計となっています。

  • ほぼリアルタイムのレイテンシー:変更は、XStreamを介してOracleからほぼリアルタイムでキャプチャされ、Snowflakeに継続的にストリーミングされます。ソースコミットから数秒以内に、データはSnowflakeジャーナルテーブルに到達します。このコネクタは、分単位のマージサイクルと合わせると、2分未満のエンドツーエンドレイテンシー(P90)を達成しました。社内のストレステストでは、600のテーブルにわたって毎秒15,000回の変更を18時間連続で実行しました1
  • ソースへの影響の最小化: このコネクタは、OracleのネイティブXStream APIを使用して、ソーステーブルのクエリを回避したログベースのアプローチであるREDOログから直接変更を取得します。内部HammerDB TPC-Cストレステストでは、高スループットのOLTPワークロードが持続するOracle 19cで、変更キャプチャが可能になると、CPUオーバーヘッドがごくわずかになり、トランザクションコミットレイテンシーに1ミリ秒未満の影響が生じました。

Oracleとの信頼できるパートナーシップ

ミッションクリティカルなシステムを接続するためには、高い信頼性が求められます。Snowflake Openflow Connector for Oracleは、SnowflakeとOracleの緊密なコラボレーションの成果であり、エンタープライズワークロード向けにゼロから設計されています。このパートナーシップにより、以下のメリットが得られます:

  • ネイティブなOracle CDC:このコネクタには、Oracleから直接ライセンス供与されたOEMであるOracle独自の変更データキャプチャテクノロジーがネイティブに組み込まれており、XStream送信サーバーからほぼリアルタイムで論理変更レコード(LCR)を読み取ることができます。これは、Oracleのレプリケーション製品にも採用されている、OracleのXStreamベースの変更データキャプチャテクノロジーを活用しています。
  • 合理化されたサポートモデル:お客様は、単一の窓口としてSnowflakeと連携します。必要に応じて、OracleパートナーがOracleコンポーネントの直接サポートを提供します。これにより、引き継ぎが減り、問題が発生した場合の協調的な解決が可能になります。
  • 業界をリードする2社の強力な支援:Snowflakeにとっては、コネクタにより、Snowflake AIデータクラウドで重要なエンタープライズデータソースを活用できるようになります。Oracleにとって、これはOracle Databaseの適用範囲をモダンクラウドおよびAIエコシステムへと拡大するものです。
  • AIに対するエンタープライズの信頼:お客様は、信頼できるOracleのトランザクションデータをほぼリアルタイムでSnowflakeに取り込む、ベストオブブリードのアーキテクチャを手に入れることができます。これは、長期的な成功に向けて共同で取り組む2つのベンダーによって裏付けられています。

SnowflakeとOracleは連携して、サイロ化されたトランザクションシステムからAI-readyのデータへの移行を支援します。ソースでのパフォーマンスや信頼性は損なわれません。

ネイティブであることの重要性

このコネクタはSnowflake Openflowフレームワーク上で実行されるため、AIデータクラウドに期待されるガバナンス制御と伸縮性のあるコンピュートのメリットを得られます。

  • エージェントレスアーキテクチャ:Oracleサーバーにソフトウェアをインストールする必要はありません。接続性は、AWS PrivateLinkやAzure Private Linkなどのプライベートネットワーキングオプションを使用して構成できます。
  • スケーラビリティ:このコネクタは、ログ生成の急増に対応するためにリソースを自動的にスケーリングするため、取引のピーク時間や季節的なイベントに対応できます。
  • シンプルな操作:Cortex Codeを使用して、Openflow Connector for Oracleを数秒でセットアップできます。Snowflake Openflowコントロールプレーンから直接レプリケーションを管理し、ネイティブのSnowflake SQL、アラート、Streamlitダッシュボードを使用して監視できます。

このアーキテクチャの背後にあるエンジニアリング哲学と、レガシーミドルウェアとの根本的な違いについては、Oracleとの共著によるプライベートプレビューの発表をご覧ください。

接続からAIエージェントまでを単一の会話で実現

これまで、Oracle CDCのセットアップは数日を要する大規模な作業でした。XStreamアウトバウンドサーバーの構成、REDOログのサイジング、サプリメンタルロギングの設定、難解なORA-エラーのトラブルシューティングなど、データベース管理者の専門知識が必要とされていました。SnowflakeのAIを活用したコーディングエージェントであるCortex Codeを使用すると、その複雑さが解消されます。ガイド付きの会話型ワークフローに置き換わります。

Cortex Codeには、アーキテクチャを理解する専用のOracleコネクタスキルが搭載されています。XStreamの前提条件を段階的に案内し、データベース管理者が必要とする正確なSQLを生成します。さらに、構成の検証、コネクタのデプロイ、データフローの検証を行い、問題が発生した場合はトラブルシューティングを実行します。以前はランブックとサポートチケットが必要だった作業が、単一のターミナルセッションで実行されるようになりました。

しかし、真のブレークスルーはデータが取り込まれた後に起こります。Cortex Codeは接続レイヤーとSnowflake AIスタックの両方を理解するため、Oracleパイプラインを設定する場合と同じ会話で、レプリケートされたデータに対してすぐにCortex Analystサービスを構築し、データを横断して推論するSnowflake Intelligenceエージェントを作成したり、Streamlitアプリを接続してリアルタイムモニタリングしたりできます。

実際の動作は以下のとおりです:

$ cortex

> I need to replicate our Oracle 19c orders database to Snowflake

  I'll help you set up the Openflow Oracle CDC connector. First, a few
  questions about your environment:

  1. Is this Oracle on-prem, OCI, or AWS RDS?
  2. Do you have an existing Oracle license, or do you need the embedded
     license from Snowflake?

> It's on RDS and we have an independent license. Oracle credentials
  are in our external vault at vault/oracle-prod, Snowflake credentials
  in ~/.snowflake/connections.toml with key at ~/.ssh/sf_rsa_key.p8.
  Use ORACLE_REPLICA database and REPLICATION_WH warehouse.

  Got it — AWS RDS Oracle 19c with BYOL licensing. I've loaded your
  Oracle credentials from the vault and Snowflake connection config.

  Here's the SQL your DBA should run to prepare the Oracle source.
  I'll generate each step:

  -- Step 1: Configure archived redo log retention (RDS Standard)
  BEGIN
    rdsadmin.rdsadmin_util.set_configuration(
      name  => 'archivelog retention hours',
      value => '24');
  END;
  /
  COMMIT;

  -- Step 2: Enable XStream replication and supplemental logging
  ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
  ALTER SYSTEM SET STREAMS_POOL_SIZE = 2560M;
  ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

  -- Step 3: Create XStream administrator (CDB architecture)
  CREATE USER c##xstreamadmin IDENTIFIED BY "****"
    DEFAULT TABLESPACE xstream_adm_tbs
    QUOTA UNLIMITED ON xstream_adm_tbs
    CONTAINER=ALL;

  GRANT CREATE SESSION, SET CONTAINER, EXECUTE ANY PROCEDURE,
    LOGMINING TO c##xstreamadmin CONTAINER=ALL;

  BEGIN DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
    grantee => 'c##xstreamadmin',
    privilege_type => 'CAPTURE',
    grant_select_privileges => TRUE,
    container => 'ALL'); END;
  /
  ...

  Shall I generate the connect user, outbound server, and remaining
  steps for your ORDERS schema?

> Yes, tables ORDERS, ORDER_ITEMS, and CUSTOMERS

  Here's your outbound server setup:

  BEGIN
    DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
      server_name  => 'XOUT_ORDERS',
      table_names  => 'ORCL.ECOMMERCE.ORDERS,
                       ORCL.ECOMMERCE.ORDER_ITEMS,
                       ORCL.ECOMMERCE.CUSTOMERS',
      schema_names => NULL);
  END;
  /

  After your DBA runs this, I'll deploy the connector and verify the
  XStream link. Ready?

> DBA ran it. Let's deploy.

  Deploying oracle-independent-license flow... ✓
  Configuring source parameters... ✓
  Verifying XStream connectivity... ✓
    ├─ Capture status: ENABLED
    ├─ LogMiner session: MINING
    └─ XStream state: SENDING CHANGES
  Starting flow... ✓

  Your tables are replicating. ORDERS is in SNAPSHOT_REPLICATION state
  — initial load is in progress. I'll check back when it reaches
  INCREMENTAL_REPLICATION.

  Meanwhile — want me to set up a Cortex Analyst semantic model over
  these tables so your team can query order data in natural language?

使用を開始するには

Snowflake Openflow Connector for Oracleの一般提供が開始されました。Snowsight内のOpenflow Connectorカタログから直接、ミッションクリティカルなデータのストリーミングを開始できます。スムーズに開始するためのリソースは以下のとおりです:

AIのためにOracleデータをセキュアに接続します。

 


1 2025年11月にSnowflakeがXStreamアウトバウンドサーバーを使用してOracle 19cに対して実施した社内ベンチマーク。ワークロード:600個のテーブルにわたって毎秒15,000回の変更を18時間継続しました。エンドツーエンドのレイテンシーは、ソースでのコミットからSnowflakeのターゲットテーブルでデータが利用可能になるまでを測定したものです。結果は管理されたテスト環境で得られたものであり、実稼働環境での展開は保証されていません。実際のレイテンシーは、ワークロードの特性、ネットワーク状況、Oracleの構成、Snowflakeアカウントの設定によって変化します。

記事をシェアする

あなたにおすすめ

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Where Data Does More

  • 30日間の無料トライアル
  • クレジットカード不要
  • いつでもキャンセル