2016-12-06 11 views
2

DynamoDBの数値型の記憶領域はNumberstringの型は何ですか?DynamoDBの番号と文字列のデータ型の記憶領域とは

私には数字があります(1234789)。 numberタイプとして保存すると、ちょうど4バイトしかかからず、stringとして7バイトかかるでしょうか?

DynamoDBはすべての数値をbigdecimalとして保存しますか?

+0

[DynamoDBの[ItemSize]の重複している可能性があります。(0120-333,009)/ – RomanMinkin

答えて

0

DynamoDbはマネージドクラウドサービスなので、データを内部的に格納する方法は明確ではないと思います。

ただし、Numbersを言語互換サポート用の文字列として転送し、RCU/WCUに影響するものの1つは転送データサイズです。

したがって、プロビジョニングされたスループットとコストの計算については、NumberサイズをStringサイズとみなしてください。 DynamoDB Documentation : Datatypes通り

1

ストリング

ストリングは、UTF-8バイナリエンコーディングでUnicodeがあります。ストリング の長さはゼロより大きくなければならず、最大DynamoDB アイテムサイズの制限は400 KBに制限されています。

あなたは文字列型の属性として主キー属性を定義する場合、 以下の追加の制約が適用されます。シンプル主キー、最初の属性値の最大長(パーティションキー)については

  1. です2048バイト。
  2. 複合主キーの場合、2番目の属性値(ソートキー)の最大長は1024バイトです。

番号

数字は、正、負、またはゼロであることができます。数値には3835 桁までの精度があり、これを超えると例外が発生します。

  1. 正の範囲:1E-130 + 9.9999999999999999999999999999999999999E 125
  2. 負の範囲:-9.9999999999999999999999999999999999999E + 125 -1E-130 DynamoDBので

は、番号が可変長として表されています。 Leadingおよび 末尾のゼロがトリミングされます。

すべての数値は、ネットワーク経由で文字列としてDynamoDBに送信されます。 は、言語とライブラリの互換性を最大限に高めます。ただし、 DynamoDBは数学的な 操作の数値型属性として扱います。

注:精度が重要な場合は、数値型から変換する文字列を使用して数値をDynamoDBに渡す必要があります。

私はこれがあなたの答えを得るのを助けるかもしれません。

+0

@ user1846749これはあなたの質問を解決するのに役立ちましたか? – LuFFy

関連する問題