12cR1.2.1.8での変更点

Oracle NoSQL Database 12cR1.2.1.8で次の変更が行われました。

新機能

このリリースには、ストアをオフラインにせず、また進行中の操作に大きな影響を与えずにNoSQL DBソフトウェア(クライアントまたはサーバー)をアップグレードするためのサポートが含まれます。また、アップグレードは増分的に実行できるため、すべてのコンポーネントで同時にソフトウェアを更新する必要はありません。このサポートには、クライアントおよびサーバーのコード変更と、新しいコマンドライン・インタフェース(CLI)コマンドが含まれます。[#22421]

新しいCLIコマンドは、アップグレード・プロセスをサポートする管理者ツールとなります。これらのコマンドを使用した汎用のアップグレード手順は次のとおりです。

  1. 管理サービス1を実行するストレージ・ノードに新しいソフトウェアをインストールします。

  2. 新しいクライアントをインストールしてストアに接続します。

  3. verify prerequisiteコマンドを使用し、ストア全体がアップグレード対象として適切なソフトウェア・バージョンであることを確認します(すべてがNoSQL DBバージョン2.0であれば前提条件として適格です)。

  4. show upgrade-orderコマンドを使用して、アップグレードするノードの順序付きリストを取得します。

  5. ストレージ・ノードに新しいソフトウェアをインストールします(個別に、または順序付きリストに基づいてグループで)。

  6. verify upgradeコマンドを使用して、進行状況を監視し、アップグレードが成功したことを確認します。

1今後のリリースではこのステップが不要になる予定です。

アップグレード手順を中断した場合は、必要に応じてステップ4から6を繰り返してアップグレードを完了してください。

バグとパフォーマンスの修正

  1. アプリケーションによって意図的に構成される場合を除き、NoSQL DBはレプリケーション・ノード・プロセスごとに-XX:ParallelGCThread jvmフラグを指定して、プロセスが使用するガベージ・コレクタ・スレッドの数を示します。以前は、使用されるアルゴリズムによって最小値1のスレッドが生成されていました。テストを重ねた結果、最小値はmin(4, <ノード上のコア数>)にまで引き上げられました。[#22475]

APIの変更点

  1. 管理コマンドライン・インタフェース(CLI)に、次のコマンドが追加されます。[#22422]:

    verify prerequisite [-silent] [-sn snX]* 

    このコマンドは、ストアの一連のストレージ・ノードが現行バージョンへのアップグレードに必要な前提条件を満たしていることを確認し、前提条件を満たしていないコンポーネントや接続できないコンポーネントを表示します。また、インストールされているソフトウェアが現行バージョンより新しいマイナー・リリースであるという無効なダウングレード状況でないこともチェックしてレポートします。このコマンドで、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

    verify upgrade [-silent] [-sn snX]*

    このコマンドは、ストアの一連のストレージ・ノードが現行バージョンに正常にアップグレードされたことを確認し、まだアップグレードされていないコンポーネントや接続できないコンポーネントを表示します。このコマンドで、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

    show upgrade-order
    

    このコマンドは、ストアの可用性を維持するためにアップグレードする必要がある順序で、ストレージ・ノードのリストを表示します。このコマンドは、1つ以上のストレージ・ノードを1行に表示します。1行に複数のストレージ・ノードが表示される場合、スペースで区切られます。1行に複数のストレージ・ノードが表示されている場合、そのノードをまとめて安全にアップグレードできます。複数のノードをまとめてアップグレードする場合、すべてのノードのアップグレードが完了してからでなければ、リストの次のノードはアップグレードできません。

    verify [-silent]コマンドは非推奨となり、verify configuration [-silent]で置き換えられました。verify [-silent]コマンドは、このリリースでも引き続き動作します。

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

  1. このリリースでは、ユーティリティ・クラスWriteOperations (examplesディレクトリにあります)によって提供されるサンプル・コードに、ラージ・オブジェクト(LOB、KVLargeObjectを参照)に対する書込み操作を実行するメソッドが追加されました。このリリースで追加された新しいユーティリティ・メソッドは、FaultExceptionが発生したときに、関連するLOB操作を正しく再試行します。このリリースより前には、WriteOperationsユーティリティはラージ・オブジェクトでないオブジェクトに対してしか再試行メソッドを提供していませんでした。[#21966]

  2. レプリケーション・ノードで使用されるJEロック表の数(JE構成パラメータのje.lock.nLockTablesを介して制御される)が、1から97に増やされました。この変更でロック競合が緩和され、きわめて高いレベルの同時更新を特徴とするアプリケーションのパフォーマンスが向上します。[#22373]

  3. 管理CLIで、複数のデータセンターを作成できるようになります。各データセンターがレプリカのクォーラムより少ない数を保持するようにデータセンター・レプリケーションの要素を選択すると、ストア・レイアウトを作成できるようになり、1つのデータベースで障害が発生してもストア内のどのシャードでも書込み可用性が損なわれません。現在のリリースでは、どのデータセンターのノードもマスター選択に関与でき、永続性の確認に貢献します。その結果、距離がかなり離れているデータセンターが関わる場合には、マスター・フェイルオーバーと永続性確認に時間が長くかかるようになります。今後のリリースでは、この部分の柔軟性が向上する予定です。[#20905]