DynamoDBの数値型の記憶領域はNumber
とstring
の型は何ですか?DynamoDBの番号と文字列のデータ型の記憶領域とは
私には数字があります(1234789)。 number
タイプとして保存すると、ちょうど4バイトしかかからず、string
として7バイトかかるでしょうか?
DynamoDBはすべての数値をbigdecimalとして保存しますか?
DynamoDBの数値型の記憶領域はNumber
とstring
の型は何ですか?DynamoDBの番号と文字列のデータ型の記憶領域とは
私には数字があります(1234789)。 number
タイプとして保存すると、ちょうど4バイトしかかからず、string
として7バイトかかるでしょうか?
DynamoDBはすべての数値をbigdecimalとして保存しますか?
DynamoDbはマネージドクラウドサービスなので、データを内部的に格納する方法は明確ではないと思います。
ただし、Numbersを言語互換サポート用の文字列として転送し、RCU/WCUに影響するものの1つは転送データサイズです。
したがって、プロビジョニングされたスループットとコストの計算については、NumberサイズをStringサイズとみなしてください。 DynamoDB Documentation : Datatypes通り
:
ストリング
ストリングは、UTF-8バイナリエンコーディングでUnicodeがあります。ストリング の長さはゼロより大きくなければならず、最大DynamoDB アイテムサイズの制限は400 KBに制限されています。
あなたは文字列型の属性として主キー属性を定義する場合、 以下の追加の制約が適用されます。シンプル主キー、最初の属性値の最大長(パーティションキー)については
- です2048バイト。
- 複合主キーの場合、2番目の属性値(ソートキー)の最大長は1024バイトです。
番号
数字は、正、負、またはゼロであることができます。数値には3835 桁までの精度があり、これを超えると例外が発生します。
- 正の範囲:1E-130 + 9.9999999999999999999999999999999999999E 125
- 負の範囲:-9.9999999999999999999999999999999999999E + 125 -1E-130 DynamoDBので
は、番号が可変長として表されています。 Leadingおよび 末尾のゼロがトリミングされます。
すべての数値は、ネットワーク経由で文字列としてDynamoDBに送信されます。 は、言語とライブラリの互換性を最大限に高めます。ただし、 DynamoDBは数学的な 操作の数値型属性として扱います。
注:精度が重要な場合は、数値型から変換する文字列を使用して数値をDynamoDBに渡す必要があります。
私はこれがあなたの答えを得るのを助けるかもしれません。
@ user1846749これはあなたの質問を解決するのに役立ちましたか? – LuFFy
[DynamoDBの[ItemSize]の重複している可能性があります。(0120-333,009)/ – RomanMinkin