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文字に制限されています。