クラウドの概念

Oracle NoSQL Database Cloud Serviceの概念について学習します。

  • 表:表は行のコレクションで、各行にアプリケーションからのデータ・レコードが保持されます。

    各表の行は、表の作成時に定義されたキー・フィールドとデータ・フィールドで構成されます。また、表にはストレージが指定されており、定義された最大読取りおよび書込みスループットをサポートできます。最大サイズも設定されています。ストレージ容量は表の作成時に指定し、後から変更が可能です。

    • 高レベル・データ型: Oracle NoSQL Database Cloud Serviceでは、3つのタイプのビッグ・データすべてがサポートされます。NoSQL表を作成して、構造化データ、非構造化データまたは半構造化データを格納できます。

      • 構造化:このタイプのデータは、事前定義済の構造またはスキーマを持つ表に編成および格納できます。たとえば、通常のリレーショナル・データベース表に格納されているデータは、このカテゴリに属します。固定スキーマに準拠し、管理と分析が簡単です。クレジット・カード・トランザクションおよびEコマース・トランザクションから生成されるデータは、構造化データのいくつかの例です。

      • 半構造化:リレーショナル・データベースに収まらないが、特定のレベルの処理後に行および列に編成できるデータは、半構造化データと呼ばれます。Oracle NoSQL Database Cloud Serviceでは、キーと値のペアをNoSQL表に格納することで、半構造化データを格納および処理できます。XMLデータは、半構造化データの例です。

      • 非構造化:固定スキーマまたは構造を持つ表に編成または格納できないデータは、非構造化データと呼ばれます。ビデオ、イメージおよびメディアは、非構造化データのいくつかの例です。Oracle NoSQL Database Cloud Serviceでは、非構造化データを格納するJSONデータ型の行を含む表を定義できます。

    • データ型:表は、その表に使用されるデータ型と主キーを定義するDDL (データ定義言語)を使用して作成されます。

      Oracle NoSQL Database Cloud Serviceでは、複数の数値型、文字列、バイナリ、タイムスタンプ、マップ、配列、レコード、および有効なJSONデータを保持できる特殊なJSONデータ型を含む、複数のデータ型をサポートしています。アプリケーションは、行がJSONデータ型を使用してデータを格納する非構造化表か、すべての行型が定義されて強制的に適用される構造化表を使用できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ型のリストを表示するには、サポートされているデータ型を参照してください。

      非構造化表は柔軟性があります。ただし、強制的に適用されることと、ストレージの観点から、型指定されたデータがより安全です。表のスキーマは変更できますが、表の構造は変更できません。

    • 索引:アプリケーションは、索引付け可能なデータ型を持つデータ・フィールド(JSONデータ・フィールドを含む)に対して索引を作成できます。JSON索引は、JSONデータへのパス式を使用して作成されます。

    • 容量:表を作成するときに、プロビジョニングされた容量とオンデマンド容量のいずれかを選択できます。
      • 「プロビジョニングされた容量」を選択することで、その表に使用可能なスループットとストレージ・リソースも指定します。テーブルに対する読み取りおよび書き込み操作は、定義した読み取りおよび書き込みスループット容量によって制限されます。表で使用できる領域は、ストレージ容量によって制限されます。
      • 「オンデマンド容量」を選択すると、表に対する読取りおよび書込み操作はOracleによって自動的に管理されます。表で使用できる領域は、ストレージ容量によって制限されます。

      アプリケーション・ワークロードに対する容量を見積る方法を学習するには、容量の見積りを参照してください。

  • 分散とシャーディング:ユーザーには表示されませんが、Oracle NoSQL Database Cloud Service表は、可用性とパフォーマンスのためにシャードされ、レプリケートされます。したがって、これはスキーマの設計時に考慮する必要があります。
    • 主キーとシャード・キー:表に関する重要な考慮事項の1つに、主キーとシャード・キーの指定があります。Oracle NoSQL Database Cloud Serviceで表を作成すると、表の主キーの一部(シャード・キーと呼ばれる)に基づいて、表のデータが自動的にシャードされます。主キーとシャード・キーの指定方法に関する考慮事項は、主キーとシャード・キーを参照してください。

    • 読取り一貫性:読取り一貫性では、どのデータ・コピーを使用して読取り操作を完了するかという点で、様々な柔軟性レベルを指定します。Oracle NoSQL Database Cloud Serviceでは、2つのレベルの一貫性(EVENTUALおよびABSOLUTE)を提供しています。

      アプリケーションでABSOLUTE一貫性を指定すると、すべての読取り操作で、指定したキーに対して最後に書き込まれた値が返されることが保証されます。また、アプリケーションで一貫性のないデータを許容できる場合は、EVENTUAL一貫性を指定すると、データベースは最新でない値でも迅速に返すことができます。

      ABSOLUTE一貫性は、EVENTUAL一貫性と比べると、同じデータに対して2倍の読取りユニット数が使用され、コストが高くなるため、必要な場合にのみ使用する必要があります。コンシステンシは、NoSQLハンドルに対して設定するか、またはすべての読取り操作に対してオプションの引数として設定できます。

  • アイデンティティ・アクセスおよび管理: Oracle NoSQL Database Cloud Serviceは、Oracle Cloud Infrastructure Identity and Access Managementを使用して、Oracle Cloudへのセキュアなアクセスを提供します。Oracle Cloud Infrastructure Identity and Access Managementでは、ユーザー・アカウントを作成し、Oracle NoSQL Database Cloud Service表の調査、読取り、使用または管理の権限をユーザーに付与できます。Oracle Cloud InfrastructureドキュメントOracle Cloud Infrastructure Identity and Access Managementの概要を参照してください。