1 JavaアダプタとOracle GoldenGate for Big Dataの理解
この章の内容は次のとおりです。
トピック:
概要
この項では、Oracle GoldenGateアダプタの概要を示します。
Oracle GoldenGateの機能
Oracle GoldenGate Javaアダプタは、Oracle GoldenGateインスタンスと統合されます。
Oracle GoldenGate製品を使用すると、次のことが行えます。
-
トランザクション変更をソース・データベースから取得します
-
Oracle GoldenGate証跡と呼ばれる、データベースに依存しないファイルのセットとしてこれらの変更を送信およびキューイングします
-
オプションで、マッピング・パラメータおよび関数を使用してソース・データを変更します
-
証跡内のトランザクションをターゲット・システム・データベースに適用します
Oracle GoldenGateでは、この取得と適用が異種データベース、プラットフォームおよびオペレーティング・システム間でほぼリアルタイムで行われます。
親トピック: 概要
アダプタ統合オプション
Oracle GoldenGateアダプタ・アーキテクチャに基づく主要な製品は2つあります。
-
Oracle GoldenGate Javaアダプタは全体的なフレームワークです。この製品では、カスタム・コードを実装し、特定の要件に従ってOracle GoldenGateの証跡レコードを処理できます。Oracle GoldenGate File Writerモジュールが組み込まれており、フラット・ファイルを統合する目的で使用できます。
-
Oracle GoldenGate for Big Data。Oracle GoldenGate for Big Data製品には、操作データをOracle GoldenGateの証跡レコードから各種のビッグ・データ・ターゲット(HDFS、HBase、Kafka、Flume、JDBC、CassandraおよびMongoDBなど)に書き込むサポートも組み込まれています。ビッグ・データ・アプリケーションと統合するとき、カスタム・コードを記述する必要はありません。この機能は、サードパーティ・アプリケーションおよびフォーマッタと統合される複数のハンドラに分けられます。これらのハンドラは、データを様々な形式(Avro、JSON、区切りテキスト、XMLなど)に変換します。HBase APIの場合など、サードパーティ・ツールとの統合に所有権が設定されていることがあります。このような場合、フォーマッタには、関連付けられたハンドラはありません。
Oracle GoldenGate JavaアダプタとOracle GoldenGate for Big Data製品には機能に重複する部分があるため、ハンドラは関連付けられたフォーマッタなしで存在します。次のリストでは、主な機能と、どの製品にその機能が含まれているかを示します。
-
JMSメッセージを読み取り、Oracle GoldenGate証跡として配信します。この機能は、Oracle GoldenGateアダプタとOracle GoldenGate for Big Dataの両方の製品に含まれています。
-
Oracle GoldenGate証跡を読み取り、トランザクションをJMSプロバイダ、他のメッセージング・システムまたはカスタム・アプリケーションに配信します。この機能は、Oracle GoldenGateアダプタとOracle GoldenGate for Big Dataの両方の製品に含まれています。
-
Oracle GoldenGate証跡を読み取り、他のアプリケーションによって使用可能なファイルにトランザクションを書き込みます。この機能は、Oracle GoldenGateアダプタ製品にのみ含まれています。
-
Oracle GoldenGateの証跡を読み取り、トランザクションをビッグ・データ・ターゲットに書き込みます。ビッグ・データ統合機能は、Oracle GoldenGate for Big Data製品にのみ含まれています。
親トピック: 概要
トランザクションの証跡への取得
Oracle GoldenGateのメッセージ取得を使用して、キューからメッセージを読み取り、Oracle GoldenGate Extractプロセスと通信して、処理したデータを含む証跡を生成します。
メッセージ取得処理は、通常のExtractプロセスのベンダー・アクセス・モジュール(VAM)プラグインとして実装されます。プロパティ、ルールおよび外部ファイルのセットによってメッセージ接続情報が指定され、メッセージの解析方法とターゲットOracle GoldenGate証跡のレコードへのマップ方法が定義されます。
現在このアダプタでは、JMSテキスト・メッセージの取得がサポートされています。
親トピック: アダプタ統合オプション
トランザクションの証跡からの適用
Oracle GoldenGate Javaアダプタの配信を使用して、トランザクションの変更をリレーショナル・データベース以外のターゲット(DataStage、Ab Initio、InformaticaなどのETLツール、JMSメッセージング、ビッグ・データ・アプリケーション、カスタムAPIなど)に適用します。Oracle GoldenGateとの統合には、様々なオプションがあります。
-
フラット・ファイル統合: 主にETL(プロプライエタリまたはレガシー・アプリケーション)用で、Oracle GoldenGate File Writerは、バッチ・ファイルを入力とするツールによって消費されるマイクロ・バッチをディスクに書き込むことができます。データは、デリミタ区切り、長さ区切り、バイナリなどターゲット・アプリケーションの仕様に合せてフォーマットされます。バッチ・ファイル・ロールオーバーの時間ウィンドウを分または秒に短縮することで、これらのシステムへのほぼリアルタイムでのフィードが実現されます。
-
メッセージング: トランザクションまたは操作はメッセージ(XML形式など)としてJMSにパブリッシュされます。JMSプロバイダは、ActiveMQ、JBoss Messaging、TIBCO、Oracle WebLogic JMS、WebSphere MQなど複数のJMS実装と連携するように構成されます。
-
Java API: カスタム・ハンドラをJavaで記述し、Oracle GoldenGateによってソース・システムで取得されたトランザクション、操作およびメタデータの変更を処理できます。これらのカスタムJavaハンドラで、ターゲット・システムで公開されているサードパーティJava APIにこれらの変更を適用します。
-
ビッグ・データ統合: トランザクション・データをソース証跡ファイルから各種のビッグ・データ・ターゲットに書き込む操作は、構成プロパティを設定することによって行います。Oracle GoldenGate for Big Data製品には、HDFS、HBase、KafkaおよびFlumeターゲットに書き込むためのビッグ・データ・ハンドラが組み込まれています。
4つのオプションはすべて、コアOracle GoldenGate製品の拡張として実装されています。
-
JMSまたはJava APIを使用したJava統合の場合、Java用Oracle GoldenGateを使用します。
-
ビッグ・データ統合のために、Oracle GoldenGateビッグ・データ・モジュールと統合されるようにOracle GoldenGate Replicatを構成できます。各種の形式でビッグ・データ・ターゲットに書き込む操作は、一連のプロパティを使用して構成でき、プログラミングの必要はありません。
親トピック: アダプタ統合オプション
Oracle GoldenGate Javaアダプタのプロパティの使用
Oracle GoldenGate Javaアダプタ、ビッグ・データ・ハンドラおよびフォーマッタは、あらかじめ定義されたプロパティを通じて構成します。これらのプロパティは、アダプタ・プロパティ・ファイルという別個のプロパティ・ファイルに格納されます。Oracle GoldenGateが機能するには、Replicatプロセスの構成ファイルがdirprm
ディレクトリにあり、その構成ファイルが次の命名規則に従っている必要があります。
Replicatプロセス名
.prm
ベスト・プラクティスとして、アダプタ・プロパティ・ファイルもdirprm
ディレクトリにあり、そのアダプタ・プロパティ・ファイルが次のいずれかの命名規則に従っていることも必要です。
Replicatプロセス名
.props
または
Replicatプロセス名
.properties
プロパティ・ファイルの場所
サンプルOracle GoldenGateアダプタ・プロパティ・ファイルは、インストール・ディレクトリのAdapterExamples
サブディレクトリにインストールされます。これらのファイルは、必要に応じてコピーして名前を変更したり、内容を変更したりして、dirprm
サブディレクトリに移動することができます。
次の説明のとおり、これらの各プロパティ・ファイルは、パラメータまたは環境変数を介して指定する必要があります。これらの設定によって名前または場所を変更できますが、命名と場所についてはベスト・プラクティスに従うことをお薦めします。
次のサンプル・ファイルが含まれています。
-
ffwriter.properties
これには、ファイル・ライターのプロパティが格納されます。
CUSEREXIT
パラメータで設定されます。 -
jmsvam.properties
これには、JMSメッセージ取得VAMのプロパティが格納されます。これは、Extract
VAM
パラメータで設定されます。 -
javaue.properties
これには、メッセージの配信に使用されるJavaアプリケーションのプロパティが格納されます。次の環境変数を介して設定されます。
アダプタ・プロパティ・ファイルの名前と場所は、Replicatプロセスのプロパティ・ファイルにおける構成によって解決されます。
次では、Replicatプロセスでアダプタ・プロパティ・ファイルの名前と場所を解決する方法について説明します。
TARGETDB LIBFILE libggjava.so SET property=dirprm/javaue.properties
プロパティ・ファイルでのコメントの使用
行の先頭に#
接頭辞を付けることで、プロパティ・ファイルにコメントを入力できます。次に例を示します。
# This is a property comment some.property=value
プロパティ自体をコメントにすることもできます。これによって、前のプロパティ設定を保持したまま構成をテストできます。
Oracle GoldenGateのドキュメント
Oracle GoldenGateアダプタ製品と組み合せて使用するためのコアOracle GoldenGateソフトウェアのインストールおよび構成の詳細は、次のOracle GoldenGateのドキュメントを参照してください。
-
インストレーションおよびセットアップ・ガイド: Oracle GoldenGateによってサポートされるデータベースごとにこのガイドがあります。システム要件、インストール前後の処置、インストール手順、およびOracle GoldenGateレプリケーション・ソリューションをインストールするためのその他のシステム固有の情報が含まれます。
-
Oracle GoldenGateの管理: WindowsおよびUNIXプラットフォームでのOracle GoldenGateレプリケーション・ソリューションの計画、構成および実装方法について説明しています。
-
Oracle GoldenGateリファレンス: WindowsおよびUNIXプラットフォームでのOracle GoldenGateパラメータ、コマンドおよび関数の詳細情報が含まれます。