JSONドキュメントのシャーディングの概要

Oracle Globally Distributed Databaseにより、JSONドキュメントを大量のデータおよびトランザクション・ボリュームに拡張し、障害分離を実現し、データ主権をサポートできます。Oracle Databaseでは、ネイティブJSONオブジェクトをサポートしています。アプリケーションは、SODA (Simple Oracle Document Access) APIを使用して分散データベースと相互伝達でき、これにより、JSONドキュメント属性を使用してデータにアクセスできるようになります。

Oracle Databaseでは、JSONドキュメントをデータベース表に格納できます。データベース表はJSONコレクションとして機能し、それぞれの行が1つのJSONドキュメントです。JSONドキュメントは、OSONと呼ばれる高度に最適化されたバイナリJSON形式でバックアップされるJSON型としてデータベースに格納されます。

OracleではJSONドキュメントを作成、操作および取得するためのJSON演算子をサポートしていますが、SODAインタフェースもサポートしています。SODAは、JSONドキュメントを使用するためのより直感的なインタフェースを提供します。

SODAは、Oracle DatabaseのNoSQL形式のJSON (JSONのみではない)ドキュメント・コレクションのAPIです。SODA APIを使用すると、アプリケーションはコレクション内のドキュメントに対してCRUD操作を実行できます。コレクションは、通常のOracle表(またはビュー)によってバックアップされます。

通常、コレクションを作成するには、SODA APIを使用します。これにより、コレクションをバックアップする基礎となる表が作成されます。ただし、シャード・コレクションを作成するには、最初に共有表を作成する必要があります。その後、SODAのマップされたコレクション機能を使用して、シャード表の上にコレクションを作成できます。

分散データベースでJSONドキュメントを使用すると、シャーディング・キーの概念が導入されます。JSONドキュメントは、シャーディング・キーに従って個々のデータベース表のシャードに分散されます。シャーディング・キーは、JSONドキュメント内からのフィールド、またはSODA APIによって割り当てられたIDなどの外部列のいずれかです。

JSONおよびSODAの詳細は、Oracle DatabaseのJSONおよびSODAの概要を参照してください。

後述のトピックでは、Oracle DatabaseでJSONオブジェクトをシャーディングする方法について詳しく説明します。おおまかなステップは次のとおりです。

  • 分散データベースのデプロイ
  • アプリケーションでデータのフェッチに使用できるシャーディング・キーを特定する
  • シャード表を作成してOracle DatabaseでJSON用のデータ・ストアを定義する
  • SODAを使用してシャード表をマップする

ライフサイクル管理タスクの詳細は次のとおりです。

  • アプリケーションのシャードJSONコレクションにドキュメントを追加する
  • アプリケーションのシャードJSONコレクションからドキュメント・データをフェッチする