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コレクションからドキュメント・データをフェッチする