統合

Hadoop統合
Oracle外部表統合
Coherence統合

Oracle NoSQL Databaseは、Apache HadoopやOracleスタックの製品と統合できます。次の各項では、その詳細を説明します。

Hadoop統合

Oracle NoSQL Databaseは、oracle.kv.hadoop.KVInputFormatクラスを使用してApache Hadoopシステムと統合できます。このクラスを使用すると、Oracle NoSQL Databaseからデータを読み取り、それをHadoopシステムへ挿入する準備を行うことができます。逆方向にデータを移動するには、標準的な方法でHadoopシステムからデータを読み取ってから、この本で説明しているAPIを使用して、Oracle NoSQL Databaseにレコードを書き込みます。

KVInputFormatを使用し、Map/ReduceジョブでOracle NoSQL Databaseからデータを読み取る例が<KVHOME>/examples/hadoopディレクトリに用意されています。

また、Oracle NoSQL Databaseはoracle.kv.AvroFormatterインタフェースを備えています。これを使用すると、Oracle Loader for Hadoop (OLH)をサポートして、Oracle NoSQL Databaseから直接データを読み取り、それをOracle DatabaseにMap/Reduceジョブとして書き込むことができます。OLHについては、『Oracle Big Data Connectorsユーザーズ・ガイド』「Oracle Loader for Hadoop」で説明しています(次のサイトを参照)。

http://docs.oracle.com/cd/E37231_01/doc.20/e36961/olh.htm#CBHGEJDE

Oracle外部表統合

Oracle NoSQL Databaseデータは、Oracle Databaseの外部表機能を使用してアクセスできます。この機能を使用すると、NoSQL DatabaseデータをOracle Databaseに読み込むことができます。外部表機能を使用してNoSQL Databaseデータを変更することはできません。

これは、Oracle NoSQL Database Enterprise Editionのユーザーのみが使用可能な機能であることに注意してください。

Oracle Databaseの外部表機能を使用してOracle NoSQL Databaseデータを読み取るには、<KVHOME>/exttab/bin/nosql_streamプリプロセッサを使用してOracle表にデータを移入する必要があります。外部表機能を使用するようにOracle Databaseを構成する必要があります。

nosql_streamプリプロセッサの使用方法、および外部表を使用するようにOracle Databaseを構成する方法の詳細は、oracle.kv.exttabパッケージ要約を参照してください。

Coherence統合

Oracle Coherenceは、クラスタ化されたアプリケーションのデータ管理サポートを提供するミドルウェア・アプリケーションです。アプリケーションがOracle Coherenceに委任するデータは、自動的にアプリケーション・クラスタ内のすべてのサーバーで使用可能およびアクセス可能になります。複数のマシンに対してデータを分散することにより、Oracle Coherenceはクラスタ化されたアプリケーションの可用性、信頼性、スケーラビリティ、パフォーマンス、保守性および管理性の実現に関連する問題を解決します。

Oracle Coherenceの説明については、http://docs.oracle.com/cd/E24290_01/index.htmを参照してください。

これらの解決を実現するために、Oracle Coherenceではキャッシュが実装されています。このキャッシュは、いくつかの異なるデータ・リポジトリを使用してキャッシュ済データを格納するようにカスタマイズできます。このようなデータ・リポジトリの1つが、Oracle NoSQL Databaseです。

これは、Oracle NoSQL Database Enterprise Editionのユーザーのみが使用可能な機能であることに注意してください。

Oracle NoSQL Databaseと統合するには、構成XML、ストックCoherenceコードおよびカスタムOracle NoSQL Databaseコードの組合せを使用して、Oracle Coherenceをカスタマイズする必要があります。Oracle NoSQL Databaseコードは、oracle.kv.coherenceパッケージで提供されるクラスを使用して実装されています。

Oracle NoSQL Databaseを使用して、Oracle Coherenceの2つの異なるキャッシュ・ストラテジをサポートできます。このうちの1つめは、oracle.kv.coherence.NoSQLBinaryStoreで実装されます。このクラスによって、キャッシュベースでないアプリケーションとは共有されないキャッシュ・データを実装でき、したがってこのクラスではまったく不透明なデータ形式を使用します。これは、効率的で構成しやすいキャッシュ・オプションです。

もう1つとして、キャッシュベースでないアプリケーションと共有されるデータが得られるキャッシュ・ストラテジを実装できます。これは、oracle.kv.coherence.NoSQLAvroCacheStoreを使用して行います。このキャッシュ・メカニズムはAvro対応であり、いずれのAvro準拠のアプリケーションでも、これらのデータ・レコードの読取りおよび書込みが可能になります。

Oracle CoherenceでこれらのAvroベース・オブジェクトを使用するには、Avroレコードをネットワークでの伝送用にシリアライズできる必要があります。これを有効にするには、oracle.kv.coherence.NoSQLAvroSerializer クラスを使用します。