コンソールを使用したOracle NoSQL Database Cloud Serviceでの表の作成
コンパートメントの作成
Oracle Cloud Infrastructureにサインアップすると、Oracleは、すべてのクラウド・リソースを保持するルート・コンパートメントを使用してテナンシを作成します。次に、テナンシ(ルート・コンパートメント)内に追加のコンパートメントを作成し、対応するポリシーを作成して各コンパートメント内のリソースへのアクセスを制御します。Oracle NoSQL Database Cloud Service表を作成する前に、Oracleでは、表が属するコンパートメントを設定することをお薦めします。
コンパートメントは、Oracle Cloud Infrastructure Identity and Access Management (IAM)で作成します。Oracle Cloud Infrastructureドキュメントのテナントの設定およびコンパートメントの管理を参照してください。
シングルトン表の作成
NoSQLコンソールから、新しいOracle NoSQL Database Cloud Service表を作成できます。
- シンプル入力モード:このモードを使用すると、NoSQL Database Cloud Serviceテーブルを宣言的に、つまりDDLステートメントを記述せずに作成できます。
- 拡張DDL入力モード:このモードを使用すると、DDL文を使用してNoSQL Database Cloud Service表を作成できます。
シングルトン表の作成: シンプル入力モード
NoSQLコンソールから、シンプル入力表作成モードを使用して表を作成する方法について学習します。
シングルトン表の作成: 拡張DDL入力モード
NoSQLコンソールから、拡張DDL入力表作成モードを使用して表を作成する方法について学習します。
- インフラストラクチャ・コンソールからNoSQLコンソールにアクセスします。インフラストラクチャ・コンソールからのサービスへのアクセスを参照してください。
- 「表の作成」をクリックします。
- 「表の作成」ウィンドウで、「表作成モード」に「拡張DDL入力」を選択します。
- 「予約済容量」には、次のオプションがあります。
-
Always Free構成:
トグル・ボタンを有効にして、Always FreeのNoSQL表を作成します。トグル・ボタンを無効にすると、通常のNoSQL表が作成されます。テナンシに最大3つのAlways Free NoSQL表を作成できます。テナンシにAlways FreeのNoSQL表が3つある場合、Always Free SQL表を作成するためのトグル・ボタンは無効になります。
トグル・ボタンを有効にしてAlways FreeのNoSQL表を作成すると、「読取り容量」、「書込み容量」および「ディスク」記憶域フィールドにデフォルト値が割り当てられます。「容量」モードは「プロビジョニングされた容量」になります。これらの値は変更できません。
-
容量モード
「容量」モードのオプションには、「プロビジョニング済容量」または「オンデマンド容量」を指定できます。プロビジョニングされたキャパシティ・モードとオンデマンド・キャパシティ・モードは、相互に排他的なオプションです。表に対してOn Demand Capacityを有効にした場合、表の読取り/書込み容量を指定する必要はありません。プロビジョニングされた使用量ではなく、実際の読取りおよび書込みユニット使用量に対して課金されます。
次のいずれかに該当する場合は、表のオンデマンド容量を有効にすることをお薦めします。- 不明なワークロードを含む新しい表を作成します。
- 予測できないアプリケーション・トラフィックがあります。
- 使いやすさは、使用した分だけの使いやすさです。
表のOn Demandキャパシティの有効化の制限事項:- On Demand Capacityでは、表の容量が5,000回の書込みおよび10,000回の読取りに制限されます。
- テナント当たりのオンデマンド容量がある表の数は3に制限されています。
- On Demand Capacityテーブル・ユニットの単位当たりの支払額は、プロビジョニングされたテーブル・ユニットよりも多くなります。
「On Demand Capacity」を選択すると、「Always Free構成」が無効になります。「Read Capacity」および「Write Capacity」入力ボックスは読み取り専用になり、「On Demand Capacity」というテキストが表示されます。On Demand Capacityテーブルでは、読取りおよび書込み容量列にOn Demand Capacityが表示されます。「容量」モードが「オンデマンド容量」の場合、「Always Free」制御は無効になります。
-
- 「DDL入力」セクションで、「問合せ」に表の作成のDDL文を入力します。文が不完全または障害があるというエラーが表示される場合があります。OCIコンソールで発生する可能性のあるエラーとその修正方法について学習するには、OCIコンソールでのSQL文エラーのデバッグを参照してください。create table文の例は、開発者ガイドを参照してください。
- (オプション)拡張オプションを指定するには、「拡張オプションの表示」をクリックし、拡張の詳細を入力します:
- タグ・ネームスペース:選択リストからタグ・ネームスペースを選択します。タグ・ネームスペースは、タグ・キーのコンテナと似ています。大/小文字を区別せず、テナント全体で一意である必要があります。
- タグ・キー:タグを参照するために使用する名前を入力します。タグ・キーは、大文字と小文字を区別せず、ネームスペース内で一意である必要があります。
- 値:タグに付ける値を入力します。
- +追加タグ:タグを追加する場合にクリックします。
- 「表の作成」をクリックします。
子表の作成
Oracle NoSQL Databaseでは、(親子表として)階層構造で表を作成できます。
表階層
A
/ \
A.B A.G
/
A.B.C
/
A.B.C.D
最上位の親表はAです。子表Bはコンポジット名A.Bを取得します。子表Cの次のレベルはコンポジット名A.B.Cを取得します。
子表のプロパティ:
- 子表の作成時に読取り容量、書込み容量またはディスク記憶域の制限を指定することはできません。子表は、親表の対応する値を共有します。
- 子表は、テナンシの表の合計数に対してカウントされます。
- 親表とその子表は、常に同じコンパートメントにあります。
- メトリック情報は、親レベルで収集および集計されます。子表レベルではメトリックは表示されません。
- 子表には、親表とは関係なく独自のタグがあります。
- 子表は、親表のキャパシティ価格設定モデルも継承します。たとえば、親表がOn Demand Capacityで構成されている場合、同じキャパシティ価格設定モデルで子表を構成することもできます。
親子表のトランザクション
- 表を別の表の子として宣言します。
writeMutliple
APIを使用して、親表と子表の両方に対する操作を追加します。
- トランザクションに含めるすべてのオブジェクトのシャード・キー値を検索します。
- すべてのオブジェクトのシャード・キーが等しいことを確認します。
-
writeMutliple
APIを使用して、すべてのオブジェクトをコレクションに追加します。
子テーブルを使用すると、複数のオブジェクト間でACIDトランザクションを簡単に実現できます。
子表での認可:
- 子表に対する特定の権限(READ/INSERT/DELETE)があります。
- 階層内の特定の子表の親表に対して、同じ権限または少なくとも読取り権限があります。
詳細は、認可用のIAMポリシーを参照してください。
たとえば、所有していない子表myTable.child1にデータを挿入する場合は、子表に対するINSERT権限と、myTableに対するREAD権限またはINSERT権限(あるいはその両方)が必要です。子表への権限の付与は、親表への権限の付与とは無関係です。つまり、親表に同じ権限を付与せずに、子表に特定の権限を付与できます。親/子結合問合せには、問合せで使用されるすべての表に対する関連権限が必要です。詳細は、「親子表での左外部結合の使用」を参照してください。
子表の作成
- 詳細を表示する親表をクリックします。親にすでに存在する子表のリストが表示されます。
- 左側のナビゲーション・メニューの「リソース」で、「子表」をクリックします。
-
- 親表の子表のリストが表示されます。子表を作成するには、「子表の作成」をクリックします。
- 親表の子表のリストが表示されます。子表を作成するには、「子表の作成」をクリックします。
- 「簡易入力」メソッドまたは「拡張DDL入力」メソッドを選択して、子表を作成できます。
- 子表の名前を指定します。この接頭辞には、親表の名前の後にドットが付きます。列および主キー列のリストを指定します。
- 子表は最上位の親表からシャード・キーを継承するため、子表の作成時に「シャード・キーとして設定」チェック・ボックスは表示されません。
ノート:
子テーブルがトップレベルのテーブルからこれらの制限を継承するため、「読み取り容量」、「書き込み容量」、および「ディスクストレージ」フィールドは指定されません。最上位表に設定された制限は、子表に自動的に適用されます。コンソールを使用したOracle NoSQL Database Cloud Serviceでの表の作成