11gR2.2.0.39での変更点

Oracle NoSQL Database 11gR2.2.0.39で次の変更が行われました。

新機能

  1. Oracle Coherenceとの統合が実現し、Oracle CoherenceアプリケーションのキャッシュとしてOracle NoSQL Databaseを使用できるようになりました。また、アプリケーションはOracle NoSQL Databaseからキャッシュ・データに直接アクセスできます。この統合は、本製品のEnterprise Editionの機能であり、新しい独立のjarファイルとして実装されています。Oracle Coherence製品もインストールされている必要があります。この機能は、概要マニュアルおよびjavadocを参照してください。[#22291]

  2. Enterprise Editionは、セマンティック・テクノロジをサポートするようになりました。具体的には、Resource Description Framework (RDF)、SPARQL問合せ言語、およびWeb Ontology Language (OWL)のサブセットがサポートされます。これらを総称して、Oracle NoSQL DatabaseのRDFグラフ機能と呼びます。RDFグラフ機能には、Oracle NoSQL Database Enterprise Editionでセマンティック・データを格納し問い合せるJavaベースのインタフェースがあります。この機能の詳細は、RDFグラフのマニュアルを参照してください。

バグ修正

  1. NoSQL DBのメモリー・リソースを設定するときに望ましいのは、makebootconfigユーティリティを実行するときSNごとにmemory_mbパラメータを指定し、理想的なレプリケーション・ノードのヒープおよびキャッシュ・サイズをシステムで計算させる方法です。ただし、レプリケーション・ノードのjavaMiscParamsパラメータとcacheSizeパラメータを使用して明示的にヒープおよびキャッシュ・サイズを設定すれば、標準のメモリー構成をオーバーライドすることもできます。以前のリリースでは、plan change-parametersコマンドを使用するときに明示的な値を設定すると正しく動作しましたが、change-policyコマンドを使用するときには正しく動作しませんでした。これが修正され、必要な場合には、javaMiscParamsとcacheSizeのパラメータがデフォルトのメモリー割当ての経験則をオーバーライドするようにchange-policyコマンドを使用できます。[#22097]

  2. ネットワークを利用できないノードで実行されるNoSQL DBのデプロイメントは、NoSQL DBのデモまたはチュートリアルを実行するとき発生するように、次のエラーを返すことがあります。

    java.net.InetAddress.getLocalHost() returned loopback address:<hostname> and
      no suitable address associated with network interfaces.

    これは修正されました。[#22252]

APIの変更点

  1. これ以前のリリースでは、書込み操作のときに基底となる永続ストアから例外が発生し、シャードのマスターでは書込みが完了したが、目的のレプリカ組合せでは所定の時間内に完了しなかったと示される場合、その例外は吸収され、クライアントには伝播されませんでした。もともと、この動作が望ましいとみなされていたのは、その例外がまれである(実装によって様々なチェックが先行して実行されるので)という理由に加えて、例外を吸収すると追加の例外やAPIレベルでの追加の通信を回避できるためAPIがシンプルになるという理由からです。検討と議論を重ねた結果、このような例外のために書込み操作が完了しなかったときにはクライアントに通知すべきであるという結論に至りました。その結果、書込み操作中にこのような条件が発生したときには、RequestTimeoutExceptionがクライアントに伝播されるようになり、基底となる永続ストアからの当初の例外は原因としてラップされるようになります。この例外が発生したときに採用する戦略を含めた詳細は、RequestTimeoutExceptionのJavadocを参照してください。

    これは修正されました。[#21210]

  2. 例外とエラー・メッセージでレコードの表示を制御する新しいパラメータが追加されました。hideUserDataをtrueに設定すると(これがデフォルトです)、サーバー側のログに出力される、またはCLIコマンドを通じて表示されるエラー・メッセージは、キー/値を"[hidden]"という文字列に置き換えます。エラーで実際のレコードの内容を見るには、パラメータをfalseに設定してください。[#22376]

ユーティリティとドキュメントの変更点

  1. 以前のリリースでは、NoSQL DBコンポーネントの起動中にplan deploy-topologyコマンドの結果として発生したエラーに関する情報は、NoSQL DBログ内部でしか表示されないことがあり、インストール時のトラブルシューティングを難しくしていました。このリリースでは、このような起動エラーを管理CLIのshow plan -id <id>コマンドで表示できるようになっています。[#22101]

  2. ストレージ・ノード・エージェントは、デフォルトでないMBeanServerインスタンスでMBeanを公開します。このリリースでは、デフォルトでないMBeanServerが標準JVMプラットフォームのMBeanと、Oracle NoSQL Databaseのみに関連するMBeanを公開するようになります。

  3. SNMPとJMX両方のインタフェースで、新しいtotalRequestsメトリックを使用できます。このメトリックは、サンプリング期間に発生するマルチ操作のシーケンスの数をカウントします。

  4. これ以前のリリースでは、製品のコンパイルとビルドは1.xバージョンのHadoop (CDH3)を想定して行われていました。そのため、以前のリリースを採用しているとき、2.xバージョンのHadoop (CDH4)に基づくクラスタに対してexamples.hadoop.CountMinorKeysサンプルを実行すると、そのサンプルによって開始されるMapReduceジョブがIncompatibleClassChangeError;のために失敗していました。これは、Hadoop 1.xとHadoop 2.xの間でorg.apache.hadoop.mapreduce.JobContextに発生した非互換性が原因です。このエラーは、Hadoop 1.xとHadoop 2.xのどちらを基準にしてサンプルのコンパイルとビルドを行っても発生します。本製品のカスタマ・ベースで使用されているのはほとんどHadoop 2.xのみなので、このリリースではHadoop 1.xではなくHadoop 2.xをサポートしました。今後のリリースでは、Hadoopの両方のバージョン・パスが再度サポートされる可能性もありますが、その場合にはコードベースとそれに伴うリリース・アーチファクトのリファクタリングが必要となり、現在のビルド・プロセスについても大きな変更が必要になります。

    Hadoop 2.x (CDH4)のサポートを追加しました。[#22157]

  5. java -jar kvstore.jar makebootconfig -mountフラグが-storagedir.に変更されました。"plan change-mountpoints -path <storage directory>"コマンドは非推奨となり、"plan change-storagedir -storagedir <storage directory>"が推奨されます。[#21880]

  6. ストレージ・ノード容量の概念について、管理者ガイドの記述を改めました。

  7. 管理者ガイドで、NoSQL DBデプロイの操作に必要なリソースの計算方法に関する項を改訂しました。