什么是DynamoDB编号和字符串数据类型存储空间

时间:2016-12-06 18:23:17

标签: amazon-dynamodb

DynamoDB Numberstring类型中数字类型的存储空间是多少?

说我有一个号码(1234789)。如果我将它存储为number类型,那么它只需要4个字节,而string则需要7个字节?

DynamoDB是否将所有数字都存储为bigdecimal?

2 个答案:

答案 0 :(得分:1)

按照DynamoDB Documentation : Datatypes

  

<强>字符串

     

字符串是带有UTF-8二进制编码的Unicode。字符串的长度   必须大于零,并受最大DynamoDB的约束   项目大小限制为400 KB。

     

如果将主键属性定义为字符串类型属性,则   以下附加限制适用:

     
      
  1. 对于一个简单的主键,第一个属性值(分区键)的最大长度为2048个字节。
  2.   
  3. 对于复合主键,第二个属性值(排序键)的最大长度为1024个字节。
  4.         

    <强>数

         

    数字可以是正数,负数或零。数字最多可达38个   数字精度超过此值将导致异常。

         
        
    1. 正范围:1E-130至9.9999999999999999999999999999999999999E + 125
    2.   
    3. 负范围:-9.9999999999999999999999999999999999999E + 125至-1E-130
    4.         

      在DynamoDB中,数字表示为可变长度。领导和   尾随零被修剪。

           

      所有号码都通过网络以字符串形式发送到DynamoDB   最大化语言和库之间的兼容性。然而,   DynamoDB将它们视为数学的数字类型属性   操作

           

      注意:如果数字精度很重要,则应使用从数字类型转换的字符串将数字传递给DynamoDB。

我希望,这可以帮助您得到答案。

答案 1 :(得分:0)

DynamoDb是一种托管云服务,因此我认为它们在内部存储数据的方式尚不清楚。

但是,他们将Numbers作为字符串转换为语言兼容性支持,影响RCU / WCU的一个因素是传输数据大小。

因此,就您所关注的计算预配置吞吐量和成本而言,数字大小应视为字符串大小。