OCI Data IntegrationおよびOracle Integration Cloud Servicesを使用したバルク・データの処理
外部ソースからターゲット・システムまたはアプリケーションにバルク・データを処理または統合します。
次のシナリオを考えてみます。外部ソース(顧客、サプライヤ、従業員、製品など)からデータを一括で受信します。エンド・システムまたはアプリケーションに到達する前に、データを調整、エンリッチ、結合または編成する必要があります。これを実現するフローの一部として、2つ以上の中間アプリケーションまたはサービスと統合するか、データに複雑な変換を適用する必要があります。このプロセスでは、コールを行った後、または様々なサード・パーティ・アプリケーション(REST、SOAPなどに基づく)とのオーケストレーション後に、データに属性を追加できます。このトランザクション・データには、複雑な変換(JSONまたはXML)、参照または相互参照が必要になる場合もあります。
このシナリオは、OCI Data IntegrationとOracle Integrationの2つのクラウド・サービスで簡単に実装できます。OCI Data Integrationは、すべてのデータ統合またはETL(抽出、変換、ロード)のニーズに対応し、Oracle Integrationは、接続しているアプリケーションや存在する場所に関係なく、すべてのアプリケーション統合またはエンタープライズ・グレードの接続に対応します。
アーキテクチャ
このリファレンス・アーキテクチャは、OCI Data IntegrationおよびOracle Integrationを使用してバルク・データを処理するためのユース・ケースを表します。
このリファレンス・アーキテクチャは、OCI Data Integrationを介してOracle IntegrationでApache Parquet、Apache AvroおよびMicrosoft Excelファイルを処理する課題にも対応しています。たとえば、財務レポート・データ(買掛金、売掛金、総勘定元帳、キャッシュ・フロー、資産と負債、収益など)を処理するために、OCI Data Integrationでは、これらのファイル・フォーマットがカンマ区切り値(CSV)ファイルに変換され、その後Oracle Integrationによって処理されます。
次の図は、このリファレンス・アーキテクチャを示しています。
oci-bulk-data-integration-architecture-diagram-oracle.zip
前述のリファレンス・アーキテクチャに示されているステップの説明を次に示します。
- 外部ソース(カスタム・アプリケーション、Oracle applications以外、サードパーティ・クラウドで実行されているOracleデータベース、サードパーティ・クラウド・サービス、オンプレミス・データベース、アプリケーションなど)は、バルク・データ・ロード・ファイルをOCI Object Storageバケットにアップロードまたは削除します。
- OCI監視および管理サービス: OCIイベントは、OCIオブジェクト・ストレージ・バケットにアップロードされたオブジェクトまたはファイルを検索します。
- OCIイベントは、バケットおよびファイル名を使用してOCI関数を起動するアクションをトリガーします。
- OCI Functionsはイベントを受信し、入力パラメータ(バケット名およびファイル名)を使用してOCI Data Integrationパイプラインを起動します。
- OCI Data Integrationパイプラインは、OCI Object Storageバケットからバルク・データ・ロード・ファイルを読み取り、単一のラージ・データファイルを多数の小さいファイルに分割します。次に、分割ファイルをOCI Object Storageバケットにアップロードします。
- OCIイベントの別のインスタンスは、OCIオブジェクト・ストレージ・バケットにアップロードされた分割ファイルを検索します。
- OCIイベントは、バケット名とファイル名ごとにOCI Functionsを起動するアクションをトリガーします。
- OCI Functionsはイベントを受信し、バケット名の入力パラメータと各ファイル名を使用してOracle Integrationのフローを起動します。
- Oracle Integrationは、各ファイルをOCI Object Storageバケットから読み取ります。
- Oracle Integrationは、要件に基づいて、1つ以上の中間アプリケーションまたはシステムに起動することで、データを調整およびエンリッチします。次に、複雑な機能(変換、参照、相互参照など)を実行し、最終的にデータをダウンストリーム・システムまたはアプリケーションに処理します。
このアーキテクチャには、次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立し、長距離の場合は(複数の国または大陸にまたがって)分離できます。
- データ統合
Oracle Cloud Infrastructure Data Integrationは、様々なデータ・ソースからAutonomous Data WarehouseやOracle Cloud Infrastructure Object Storageなどのターゲット・Oracle Cloud Infrastructureサービスにデータを抽出、ロード、変換、クレンジングおよび再シェイプする、フルマネージドのサーバーレスなクラウドネイティブ・サービスです。ユーザーは、直感的でコードレスなユーザー・インタフェースを使用してデータ統合プロセスを設計し、統合フローを最適化して最も効率的なエンジンとオーケストレーションを生成し、実行環境を自動的に割り当て、スケーリングします。
ETL (変換ロードの抽出)では、Sparkでの完全管理型のスケールアウト処理が利用され、ELT (ロード変換の抽出)では、データの移動を最小限に抑え、新しく取り込まれたデータの価値実現までの時間を短縮するために、Autonomous Data Warehouseの完全なSQLプッシュダウン機能を利用します。
Oracle Cloud Infrastructure Data Integrationは、対話型の探索およびデータ準備を提供し、データ・エンジニアがスキーマの変更を処理するルールを定義することでスキーマ・ドリフトから保護するのに役立ちます。
- 統合
Oracle Integrationは、クラウドとオンプレミスのアプリケーションの統合、ビジネス・プロセスの自動化およびビジュアル・アプリケーションの開発を可能にする、フルマネージドの事前構成済環境です。SFTP準拠のファイル・サーバーを使用してファイルを格納および取得し、数百のアダプタおよびレシピのポートフォリオを使用してOracleおよびサードパーティ・アプリケーションに接続することで、B2B取引パートナとドキュメントを交換できます。
- イベント
Oracle Cloud Infrastructureサービスでは、イベント(リソースの変更を説明する構造化メッセージ)を発行します。イベントは、作成、読取り、更新または削除(CRUD)操作、リソース・ライフサイクルの状態変更およびクラウド・リソースに影響するシステム・イベントのために発行されます。
- 関数
Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントのスケーラビリティが高いオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。ファンクションを使用すると、コードをデプロイし、直接コールするか、イベントに応答してトリガーできます。Oracle Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- セキュリティ・リスト
サブネットごとに、サブネット内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- ルート表
仮想ルート表には、通常ゲートウェイを介して、サブネットからVCN外部の宛先にトラフィックをルーティングするルールが含まれます。