Number 类型的 DynamoDB 属性中可以存储多少位整数数据?

2024-04-09

DynamoDB 的Number https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes.Number类型支持 38 位十进制精度。这不足以存储需要 39 位数字的 128 位整数。对于无符号 128 位整数,最大值为 340,282,366,920,938,463,463,374,607,431,768,211,455;对于无符号 128 位整数,最大值为 170,141,183,460,469,231,731,687,303,715,884,105,727有符号 128 位整数。这些都是 39 位数字。

如果我不能存储128位,那么需要多少位整数数据can我存储在Number?


类型的 DynamoDB 属性Number可以存储 126 位整数(或 127 位无符号整数,但需要注意)。

根据亚马逊的文档 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes.Number:

数字的精度可达 38 位。超过此值将导致异常。

这意味着(通过在 AWS 控制台中测试验证)DynamoDB 可以分别存储在 a 中的最大正整数和最小负整数Number属性有:

99,999,999,999,999,999,999,999,999,999,999,999,999(又名 10^38-1) -99,999,999,999,999,999,999,999,999,999,999,999,999(又名-10^38+1)

这些数字需要 126 位存储,使用以下公式:

bits = floor (ln(number) / ln (2))
     = floor (87.498 / 0.693)
     = floor (126.259)
     = 126

因此,您可以在 DynamoDB 中安全地存储 126 位有符号整数。

如果你想危险地生活,你可以存储一个127位的unsignedint 也是如此,但有一些注意事项:

  • 您需要避免(或者至少要非常小心)使用这样的数字作为排序键,因为最高有效位为 1 的值将排序为负数。
  • 您的应用程序在 DynamoDB 中存储或查询无符号整数时需要将它们转换为有符号整数,并且在从 DynamoDB 读取数据后还需要将它们转换回无符号整数。

如果是我,如果没有非常非常充分的理由,我不会再冒一点风险。

一个合乎逻辑的问题是 126(或考虑到上述注意事项的 127)是否足以存储 UUID。答案是:视情况而定。如果您可以控制 UUID 的生成,那么您始终可以从 UUID 中删除一两个位并存储它。如果您从 4 个“版本”位开始(参见格式here https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)那么如果您始终生成具有相同版本的 UUID,您可能根本不会丢失任何熵。

但是,如果其他人正在生成这些 UUID 并且期望无损存储,那么您可能无法使用Number来存储UUID。但如果您将客户端限制为 4-8 个白名单,您也许可以存储它UUID 版本 https://en.wikipedia.org/wiki/Universally_unique_identifier#Versions。现在最大的版本是 0-15 范围内的 5 个,并且出于隐私原因不鼓励使用某些旧版本,因此此限制可能是合理的,具体取决于您的客户以及他们是否遵守中定义的版本位RFC 4122 https://www.rfc-editor.org/rfc/rfc4122#page-7.

顺便说一句,我很惊讶这个位限制问题还没有在线……至少不是在一个容易通过谷歌搜索的地方。因此,请贡献此问答对,以便未来的搜索者可以找到它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Number 类型的 DynamoDB 属性中可以存储多少位整数数据? 的相关文章

  • 自动 AWS DynamoDB 到 S3 导出失败,并显示“role/DataPipelineDefaultRole 无效”

    严格按照以下说明进行操作这一页 http docs aws amazon com amazondynamodb latest developerguide DataPipelineExportImport Exporting html我正在
  • 使用 ExclusiveStartKey 选项进行 AWS Dynamodb 扫描

    对于我最近的项目 我试图从 dynamodb 获取数据 除了我在参数中添加 exclusiveStartKey 选项之外 似乎一切正常 下面是我的代码 function scanDataFromDB datetime let params
  • AWS S3 中有乐观锁吗?

    我在 s3 中有一个 excel 文件 由于不同的程序读取和写入它 我需要保证每个程序都写入它们读取的版本 S3仅保证新创建对象的读后一致性 以及覆盖和删除对象的最终一致性 如果您的 Excel 文件足够小 小于 400kb 您可以将其存储
  • 是否可以使用 AWS PHP SDK 将子域添加到 Route53?

    我正在开发一个项目 我们将在 Route53 中创建子域和域 我们希望有一种方法可以通过编程来完成此操作 PHP 文档的 SDK 似乎有点简单 但看起来 createHostedZone 可用于创建域或子域记录 changeResource
  • 如何从 Amplify 生成的 Lambda 函数中访问其他 AWS 资源?

    我一直在使用 AWS Amplify 作为 AWS 的新手 我非常喜欢 Amplify 如何在 AWS 上为我配置必要的资源和 IAM 角色 我的问题是关于将 Lambda 与 GraphQL 结合使用 按照文档 我可以创建一个自定义 Gr
  • 具有“Limit”参数的 DynamoDB SCAN 操作成本

    我对 AWS DynamoDB 还很陌生 在阅读了文档后 我不能 100 确定使用 Limit 中的参数SCAN手术 我知道应该设计表格以便QUERY主要使用操作 并且SCAN会扫描整个表 从而消耗大量的读取能力 我还了解到 FilterE
  • 如何使用dynamoose查询本地dynamoDB?

    作为一名开发人员 我不想一直连接到 Amazon Web 服务 我在本地计算机上安装了 DynamoDB 引用了AWS Docs https docs aws amazon com amazondynamodb latest develop
  • 如何在 Node 中上传图片到 s3

    将文件从我的反应前端发布到节点后端 request post api upload field fileName res body text field filePath this s3DirName set dynamically att
  • 如何使用数组在 FilterExpression 中使用“IN”语句 - dynamodb

    检查了AWS文档 但没有找到任何有效的示例 这是我的尝试 var params TableName User IndexName a b index KeyConditionExpression Country country and s
  • 从 DynamoDb 查询的 Python 脚本未提供所有项目

    我编写了以下 python 代码来从表中获取数据 但它没有按照我想要的方式获取所有项目 当我检查 DynamoDb 的 AWS 控制台页面时 我可以看到比从脚本中获得的条目多得多的条目 from future import print fu
  • 如何在boto3中为AWS EC2实例设置标签

    我是新来的Boto3 并且想要创建 VPC 子网和一些 ec2 实例 基本架构是拥有一个 VPC 2 个不同可用区 us east 1a 和 b 内的 2 个子网 并应用一个允许SSH and ping 我的问题是如何指定其他选项对于每个资
  • dynamoDB 如何存储数据?

    由于Dynamodb以键值对的形式存储数据 其中键是主键的类型 值是与其关联的数据 我想知道dynamo db是否真正理解值 json 我所说的值是指json与键关联的对象 RDBMS 中的一行 dynamo db 是否理解有一些属性以及它
  • 如何模拟 AWS sqs 调用进行单元测试

    我在 Node 应用程序中使用 AWS SQS 队列 并且必须为其编写单元测试用例 为此 我想模拟 SQS 函数调用sendMessage 在测试文件中 我应该做什么 我尝试过使用aws sdk mock但在拨打电话时sendMessage
  • DynamoDB:键及其含义

    我对如何使用 DynamoDB 表键感到困惑 该文档提到了 HASH 似乎也称为分区 键和 RANGE 或排序 键 我试图将这些与我之前对数据库索引理论的理解大致保持一致 我目前主要基于猜测的理解是 HASH 键本质上是主键 它必须是唯一的
  • 是否可以附加到 DynamoDB 中的多值属性?

    是否可以附加到 Amazon DynamoDB 表中多值属性的值列表 我不太能够使用 put 请求弄清楚它 如果可能的话 我想避免读取 更新 写入逻辑 假设您指的是字符串和数字集如中所述Amazon DynamoDB 数据类型 https
  • AmazonDB 免费套餐的含义是什么?

    在我的 Android 应用程序中 我使用 Amazon DynamoDB 我创建了 10 个表 读取容量为 10 写入容量为 5 今天我收到了一封来自 Amazon 的电子邮件 我花了 11 36 美元 我不明白免费套餐的含义 这是我从亚
  • DynamoDBMappingException:HASH 键没有映射

    编写 DynamoDB Java 应用程序时 如果表及其数据模型配置不正确 则在写入表或从表中检索时 您可能会收到 无 HASH 键映射 错误 完整的异常类似于 com amazonaws services dynamodbv2 datam
  • 不允许为 VPC 创建 EC2 实例

    是否可以将 EC2 实例模板的 VPCId 定义为属性 我想做的是 Resources Ec2Instance Type AWS EC2 Instance Properties SecurityGroups Ref AWSSecurityG
  • 全文搜索 DynamoDB

    以下情况 我正在为我的客户将元素存储在 DyanmoDb 中 HashKey 是元素 ID Range Key 是客户 ID 除了这些字段之外 我还存储一个字符串数组 gt 标签 例如 Pets House 和多行文本 我想在我的应用程序中
  • 由于命名约定,使用 DynamoDB AWS SDK [无哈希键映射] 时出错

    在使用 AWS JAva SDK 时 为了定义 DynamoDBHashKey 我们使用 DynamoDBHashKey 注释 奇怪的是 如果我使用如下注释 DynamoDBHashKey String Abc 代替 DynamoDBHas

随机推荐

  • 如何对密码进行哈希处理

    我想在手机上存储密码的哈希值 但我不知道该怎么做 我似乎只能找到加密方法 应该如何正确地对密码进行哈希处理 考虑到今天 2012 年 的最佳实践 这里的大多数其他答案都有些过时了 NET 中原生可用的最强大的密码哈希算法是 PBKDF2 由
  • 带空间的自动完成文本视图

    我有一个 Room 数据库并创建了一个模型和 viewModel 我想知道如何使自动完成文本视图与数据库数据和视图模型一起工作 以在用户输入时过滤客户列表 视图模型 class CustomerVM ViewModel private va
  • R Notebook HTML 格式 - 添加到分页表的超链接

    我希望从 R Notebook 编写一个 html 文件 其中包含带有超链接的分页表 可以使用插入超链接knitr kable 但我找不到生成的方法paged 由于我的问题似乎没有完美的解决方案 我想我应该发布我想出的解决方法 以防有人遇到
  • 代理服务器截断视图状态

    有什么方法可以模拟代理服务器截断视图状态吗 我通过将 ViewState 放在服务器端来完全避免使用 ViewState 客户端 该代码大约有 5 行长 我已经看到性能的巨大改进 http aspadvice com blogs rober
  • IE8 不显示图像(红色 x)...有时

    我对以下问题感到抓狂 这在任何其他浏览器 Chrome Firefox 上都不会发生 IE8缓存被清除 浏览器启动时会打开 HTML Javascript 页面 该页面会动态请求并创建一些图像 此 HTML 页面由 Tomcat 服务器 l
  • 下载管理器在 Android Pie 9.0 NetworkSecurityConfig 中不起作用:未指定网络安全配置,使用平台默认值

    将设备操作系统更新为Android 9 0 以前这段代码工作正常 小米A2 现在 文件没有被下载Android Pie 9 0 此外 它在奥利奥 牛轧糖 棉花糖中运行良好 这是代码片段 File myDir new File Environ
  • 使用 awk 将稀疏矩阵转换为 ARFF

    我正在处理稀疏矩阵格式的极大数据集 数据具有归档格式 3 个制表符分隔的列 其中第一列中的字符串对应于行 第二列中的字符串对应于属性 第三列中的值是加权分数 church place 3 church institution 6 man p
  • 为什么没有显示 Google Analytics(分析)内容实验的结果?

    首先 让我快速为您介绍一下我的设置 我们有多个域 因此我使用跟踪代码 将流量同时发送到 2 个不同的配置文件 一个配置文件跟踪该特定域 另一个是多域配置文件 它从以下位置收集数据 all域 这就是我的域上的页面的跟踪代码的样子 UA XXX
  • MySQL列中的随机数[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试在名为 likes 的数据库列之一中添加随机数 其中大约有 5000 行 目前我已经尝试像下面这样获得从 10
  • 我可以使用 PDO 参数化语句创建 MYSQL 表吗?

    我希望使用 PHP 和 PDO 创建一个 MySQL 表 我还希望参数化表名 我已经尝试实现这一点 并且有错误的代码如下所示 class databaseaccess public hostname localhost public use
  • 如何在C#中获得一组枚举值?

    假设我有一个枚举 http msdn microsoft com en us library system windows forms dialogresult aspx namespace System Windows Forms pub
  • 从 Firebase 检索的自定义对象始终具有 Null 属性

    我正在尝试检索自定义User来自 Firebase 的对象如下 getUserFromDB loggedInUserEmail viewModel new ViewModelProvider this get UserViewModel c
  • 无法将 SelectedIndex 设置为 0

    当尝试将 ComboBox SelectedIndex 设置为 0 以便我将第一个值作为默认值时 不起作用 组合框默认为空 如果我尝试将其设置为任何其他有效的数字 我会将所选索引作为默认值 有人知道为什么我不能从 xaml 将其设置为 0
  • 从 Ansible 中的自定义模块访问 playbook 变量[重复]

    这个问题在这里已经有答案了 我正在 Ansible 中编写一个特定于 Playbook 的自定义模块 是否可以直接访问剧本变量 而不需要将其作为参数传递给任务 这是不可能的 因为模块是远程执行的 除非显式传递 否则所有变量都不可用 我有同样
  • 从 X 和 Y 坐标获取纬度和经度

    看起来从经度和纬度到X和Y坐标的转换有丰富的知识 但反过来却没有 这是我根据 Kavrayskiy 的数学计算得出的函数 float xp kavraX radians pv x radians pv y FACTOR float yp k
  • 用字典重新映射 pandas 列中的值,保留 NaN

    我有一本字典 如下所示 di 1 A 2 B 我想将其应用到col1数据框的列类似于 col1 col2 0 w a 1 1 2 2 2 NaN to get col1 col2 0 w a 1 A 2 2 B NaN 我怎样才能最好地做到
  • C# 编组回调

    我正在尝试对结构中的 c 回调进行编组 我很确定我的一切都是正确的 但是当使用我的 C 示例时 我没有收到事件 而当使用 C 时 我确实收到了事件 这是 C class Program DllImport Some dll CharSet
  • django S3 - 修剪图像字段文件名但不修剪 url 路径

    这是我的问题的后续 ImageField FileField Django 表单当前无法修剪文件名的路径 https stackoverflow com questions 47887158 imagefield filefield dja
  • 将焦点设置回其父级?

    来自帖子WPF 如何以编程方式从文本框中删除焦点 https stackoverflow com questions 2914495 wpf how to programmatically remove focus from a textb
  • Number 类型的 DynamoDB 属性中可以存储多少位整数数据?

    DynamoDB 的Number https docs aws amazon com amazondynamodb latest developerguide HowItWorks NamingRulesDataTypes html How