DynamoDB型からOracle NoSQL型へのマッピング
次の表に、DynamoDB型からOracle NoSQL型へのマッピングを示します。
表7-3 DynamoDB型からOracle NoSQL型へのマッピング
# | DynamoDB型 | NoSQL JSON列のJSON型 | Oracle NoSQL型 |
---|---|---|---|
1 | 文字列(S) | JSON文字列 | STRING |
2 | 数値型(N) | JSON数値 | INTEGER/LONG/FLOAT/DOUBLE/NUMBER |
3 | ブール(BOOL) | JSONブール | BOOLEAN |
4 | バイナリ型(B) - バイト・バッファ | BASE-64でエンコードされたJSON文字列 | BINARY |
5 | NULL | JSON null | NULL |
6 | 文字列セット(SS) | 文字列のJSON配列 | ARRAY(STRING) |
7 | 数値セット(NS) | 数値のJSON配列 | ARRAY(INTEGER/LONG/FLOAT/DOUBLE/NUMBER) |
8 | バイナリ・セット(BS) | Base-64でエンコードされた文字列のJSON配列 | ARRAY(BINARY) |
9 | リスト(L) | JSONの配列 | ARRAY(JSON) |
10 | マップ(M) | JSONオブジェクト | JSON |
11 | パーティション・キー | 該当なし | PRIMARY KEYおよびSHARD KEY |
12 | ソート・キー | 該当なし | PRIMARY KEY |
13 | ダッシュとドットを含む属性名 | アンダースコアを含むJSONフィールド名 | 下線付きの列名 |
DynamoDB型をOracle NoSQL型にマップする際に考慮する追加ポイントはほとんどありません。
- DynamoDBでは数値に対して1つのデータ型のみをサポートし、最大38桁の精度を持つことができます。対照的に、Oracle NoSQLでは、多くの型をサポートし、データの範囲および精度に基づいて選択します。入力データの範囲に適合する適切な数値型を選択できます。データの性質が不明な場合は、NoSQL NUMBER型を使用します。
- DynamoDBでは数値に対して1つのデータ型のみをサポートし、最大38桁の精度を持つことができます。対照的に、Oracle NoSQLでは、多くの型をサポートし、データの範囲および精度に基づいて選択します。入力データの範囲に適合する適切な数値型を選択できます。データの性質が不明な場合は、NoSQL NUMBER型を使用します。
- DynamoDBのパーティション・キーの制限は2048バイトですが、Oracle NoSQL Cloud Serviceの主キー/シャード・キーの制限は64バイトです。
- DynamoDBのソート・キーの制限は1024バイトですが、Oracle NoSQL Cloud Serviceの主キーの制限は64バイトです。
- DynamoDBの属性名は64KBの長さにできますが、Oracle NoSQL Cloud Serviceの列名は64文字に制限されています。