この記事はCarmelo Millan RosalesDeniz SendilによるApache Iceberg on OCI Object Storage with GoldenGate for DAA 26aiを日本語に翻訳したものです。

2026年3月26日

GoldenGate for DAA 26aiから、OCI Object Storageを使用したApache Icebergレプリケーションを構成できるようになりました。GoldenGate for DAAは、接続にOCI Object StorageのS3エンドポイントを活用します。

Oracle GoldenGate 26aiは、業界をリードする変更データ取得(CDC)プラットフォームの次世代AIネイティブ・リリースであり、最新のAIワークロード向けにリアルタイム・データ移動とストリーミングを簡素化するよう設計されています。ソース・システムからトランザクション変更(INSERT、UPDATE、DELETE)を取得し、低レイテンシでターゲットのリレーショナル・データベースまたは非リレーショナル・データ・プラットフォームへストリーミングします。これにより、ソース本番データベースのパフォーマンスに影響を与えることなく、下流のデータレイクや分析プラットフォームをソースと完全に同期した状態に保てます。

ここでは、OCI上で高度にスケーラブルなリアルタイム・データレイクを構築するために、この統合をどのように活用できるかを詳しく見ていきます。その秘密の材料は、OCIのS3互換APIです。

S3接続がどのようにOracle Cloud Infrastructureをネイティブにサポートするのか、不思議に思うかもしれません。その答えは、OCIの強力な相互運用性にあります。OCIはAmazon S3互換APIを提供しており、AWS S3向けに構築されたアプリケーションを、コード変更なしでOCI Object Storageとシームレスに連携させることができます。従来のIAMロールの代わりに、GoldenGateはOCIのCustomer Secret Keyを使用します。GoldenGateに対して、カスタム・エンドポイントURLを通じて特定のOCIネームスペースとリージョンを指定するだけで、Iceberg Tables向けにOCI Object Storageの能力を最大限に引き出せます。

Oracle GoldenGateを使用してIceberg TablesをOCI Object Storageへ配信するメリット

Oracle GoldenGateは、Apache Iceberg表へのリアルタイム・データ・レプリケーションをOCI Object Storageまで拡張し、組織が最新のクラウド・アーキテクチャ向けに、信頼できる分析対応データをより簡単に配信できるようにします。継続的な変更データ取得、オープンな表形式、OCIネイティブ・ストレージを組み合わせることで、この統合は新鮮なデータへの迅速なアクセス、運用の複雑さの低減、分析およびAIイニシアチブにおける俊敏性向上を支援します。

  • 分析対応データへのより迅速なアクセス: トランザクション変更がOCI Object Storage内のApache Iceberg表へリアルタイムに配信されるため、下流の分析、AI、データ・エンジニアリング・ワークロードで新鮮なデータをすばやく利用できます。
  • 運用の複雑さの低減: コンパクション、スナップショット管理、スキーマ処理などのタスクに対する組込み自動化により、手作業を減らし、日々のデータレイク運用を簡素化できます。
  • 最新アーキテクチャ向けの柔軟性向上: Oracle GoldenGateとOCI Object Storage上のApache Icebergを統合することで、ビジネスやテクノロジーのニーズに合わせて進化しやすい、オープンでスケーラブルなクラウド対応データ・パイプラインをサポートできます。

アーキテクチャ概要

OCI Object Storage上のApache Iceberg向けOracle GoldenGate 26ai DAAレプリケーション・アーキテクチャは、基本的には高スループットとトランザクション整合性を目的とした、非同期のログベースCDCパイプラインです。図に示すように、このアーキテクチャは、リレーショナルおよび非リレーショナルのソース・システムと、OCI Object Storage上のApache Iceberg Tablesを接続します。

Oracle GoldenGateは、Oracle GoldenGate認定ソースから変更データを取得し、GoldenGate trailファイルへ書き込みます。trailファイルは、効率的で信頼性の高いデータ移動向けに設計された、プラットフォーム非依存かつデータベース非依存のバイナリ形式です。これらのtrailファイルは、Distribution Serviceを通じてOracle GoldenGate 26ai for Distributed Applications and Analytics(DAA)へ配信され、そこでHadoop Catalogサポート付きApache Icebergハンドラを使用して、OCI Object Storageへデータをレプリケートします。このアーキテクチャは、オープンなレイクハウス環境へリアルタイム・データを配信するための、スケーラブルで一貫性のある基盤を提供します。

より詳細な技術ウォークスルーについては、Oracle GoldenGate Apache Icebergハンドラのアーキテクチャ詳細解説録画を参照してください。

始める前に

何を構成するのでしょうか。

Apache Iceberg向けのGoldenGate 26ai DAA Replicatを、Iceberg Hadoop Catalogおよびs3a://スキームを使用して構成します。(その他のS3互換Apache Icebergカタログもサポートされています。)

Replicatを構成する前に、以下の前提条件が満たされていることを確認してください。

OCI Object Storage側:

OCI Object StorageでAmazon S3 Compatibility APIを有効化します。

Oracle GoldenGate側:

OCI Object Storage向けOracle GoldenGate Apache Icebergレプリケーションの作成

  • Homeで「Add Replicat」をクリックします。
  • Replicat InformationでReplicatのタイプを選択し、Replicat名を入力します。Nextをクリックします。
    • Classic Replicat: Classic Replicatはシングルスレッドの適用プロセスです。任意のオブジェクトに対してclassicモードを使用するかどうかを判断するには、1つのReplicatグループ内のオブジェクトが、他のReplicatグループ内のオブジェクトと、トランザクション上またはその他の依存関係を持つ可能性があるかどうかを判断する必要があります。
    • Coordinated Replicat: Coordinated Replicatはマルチスレッドの適用プロセスです。Coordinated Replicatでは、ユーザー定義のワークロード・パーティショニングにより、大量トランザクションを並行して適用できます。
  • Replicat Optionsでtrailファイル名を入力し、ターゲット構成を選択してNextをクリックします。
    • Replicat trail: ソースtrailファイルの名前
    • Target Configuration:
      • Target: Apache Iceberg
      • Catalog: Hadoop
      • Storage Configuration: Amazon S3
  • Parameters FileNextをクリックします。
  • Properties Fileでは、Hadoop CatalogおよびAWS S3 Storageを使用し、s3a://スキームを用いるApache Iceberg向けに、次のテンプレートが表示されます。

これがテンプレート・プロパティ・ファイルです。

# Configuration for Apache Iceberg using Hadoop Catalog and AWS S3 storage using 's3a://' scheme.
# Requires Hadoop AWS dependencies to be included in the classpath.
# Note: Recommended to only edit the configuration marked as TODO
gg.target=iceberg
gg.eventhandler.iceberg.fileFormat=parquet
#TODO: Edit the directory path to the Iceberg warehouse location.
gg.eventhandler.iceberg.warehouseLocation=/path/to/iceberg/tables
gg.eventhandler.iceberg.catalogType=hadoop
gg.eventhandler.iceberg.fileSystemScheme=s3a://
#TODO: Edit the AWS S3 bucket region.
gg.eventhandler.iceberg.awsS3Region=<s3-region>
#TODO: Edit the AWS S3 bucket name that houses the Iceberg Warehouse.
gg.eventhandler.iceberg.awsS3Bucket=<s3-bucket>
#TODO: Edit the AWS access key id for authentication.
gg.eventhandler.iceberg.awsAccessKeyId=<access-key-id>
#TODO: Edit the AWS secret access key for authentication.
gg.eventhandler.iceberg.awsSecretKey=<secret-key>
#gg.eventhandler.iceberg.awsSessionToken=<session-token>
#gg.eventhandler.iceberg.awsRoleArn=<role-arn>
#gg.eventhandler.iceberg.awsS3Endpoint=http://<s3-endpoint>:9000
#TODO: Edit the Proxy server address.
#gg.eventhandler.iceberg.proxyServer=<proxy-server-address>
#TODO: Edit the Proxy port.
#gg.eventhandler.iceberg.proxyPort=80

gg.classpath=/path/to/iceberg-hadoop-aws/*:/path/to/iceberg-common/*</proxy-server-address></s3-endpoint></role-arn></session-token></secret-key></access-key-id></s3-bucket></s3-region>


この環境に合わせて、すべてのTODOパラメータを入力していきます。

  • Iceberg warehouseロケーションへのディレクトリ・パス:
gg.eventhandler.iceberg.warehouseLocation=/demo/iceberg/tables
  • AWS S3バケット・リージョン: OCIテナンシ・リージョンを使用します。
gg.eventhandler.iceberg.awsS3Region=eu-frankfurt-1
  • Iceberg Warehouseを格納するAWS S3バケット名: OCI Object Storageのバケットを使用します。
gg.eventhandler.iceberg.awsS3Bucket=demoogg
  • 認証用AWSアクセス・キーID: OCIのCustomer Secret KeyのAccess Keyを使用します。
  • 認証用AWSシークレット・アクセス・キー: OCIのCustomer Secret KeyのSecret Keyを使用します。
gg.eventhandler.iceberg.awsAccessKeyId=OCI-ACCESS-KEY

gg.eventhandler.iceberg.awsSecretKey=OCI-SECRET-KEY
  • Amazon S3互換APIを使用するには、ネームスペースとリージョンを含む新しいエンドポイントを追加する必要があります。この例では、Path styleアクセスを使用します。
https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com
gg.eventhandler.iceberg.awsS3Endpoint=https://namespace.compat.objectstorage.eu-frankfurt-1.oci.customer-oci.com/

gg.eventhandler.iceberg.awsS3PathStyleAccess=true
  • ダウンロード済みの依存ライブラリへのフルパスを指定してclasspathを追加します。
gg.classpath=/u01/product/goldengate/bigdata26ai/opt/DependencyDownloader/dependencies/iceberg-hadoop-ws/*:/u01/product/goldengate/bigdata26ai/opt/DependencyDownloader/dependencies/iceberg-common/*
  • 開発・テスト・シナリオ向けの追加パラメータ:
gg.handler.iceberg.inactivityRollInterval=5s 

特定の要件(暗号化、ロール間隔、スループット・チューニングなど)がない限り、残りのデフォルト値はそのままにします。その他のオプション・プロパティについては、GoldenGate for DAAのドキュメントを参照してください。

最終的なiceberg.propertiesファイルは次のとおりです。

# Configuration for Apache Iceberg using Hadoop Catalog and AWS S3 storage using 's3a://' scheme.
# Requires Hadoop AWS dependencies to be included in the classpath.

gg.target=iceberg
gg.eventhandler.iceberg.fileFormat=parquet

gg.eventhandler.iceberg.warehouseLocation=/demo/iceberg/tables
gg.eventhandler.iceberg.catalogType=hadoop
gg.eventhandler.iceberg.fileSystemScheme=s3a://

gg.eventhandler.iceberg.awsS3Region=eu-frankfurt-1

gg.eventhandler.iceberg.awsS3Bucket=demoogg

gg.eventhandler.iceberg.awsAccessKeyId=OCI-ACCESS-KEY

gg.eventhandler.iceberg.awsSecretKey=OCI-SECRET-KEY

gg.eventhandler.iceberg.awsS3Endpoint=https://namespace.compat.objectstorage.eu-frankfurt-1.oci.customer-oci.com/

gg.eventhandler.iceberg.awsS3PathStyleAccess=true

gg.classpath=/u01/product/goldengate/bigdata26ai/opt/DependencyDownloader/dependencies/iceberg-hadoop-aws/*:/u01/product/goldengate/bigdata26ai/opt/DependencyDownloader/dependencies/iceberg-common/*

gg.handler.iceberg.inactivityRollInterval=5s

注: セキュリティ上の理由により、namespace、OCIアクセス・キー、OCIシークレット・キーなどの機密値は表示していません。

そして、Create and Runをクリックします。

  • Replicatが実行を開始すると、レプリケーション統計と、OCI Object Storage内に作成されるIceberg表を確認できます。
  • OCI Object Storage内では、次のように表示されます。

まとめ

Oracle GoldenGateによるOCI Object Storage上のApache Iceberg Tablesの認定は、最新の分析およびAIワークロード向けに、リアルタイムで信頼性が高くスケーラブルなデータ・パイプラインを構築するうえで重要なマイルストーンです。よりシンプルな設定、自動スキーマ進化、運用負荷の低減により、この統合は効率的なデータ移動とクラウドネイティブ・ストレージを組み合わせやすくします。これにより、データ駆動型の取り組みを加速し、企業全体のリアルタイム分析能力を強化する実践的な方法が提供されます。

注: この構成は、ユーザー管理のOracle GoldenGate 26ai for DAAデプロイメントに適用されます。