DynamoDB - 数据类型

DynamoDB 支持的数据类型包括特定于属性、操作和您选择的编码语言的数据类型。

属性数据类型

DynamoDB 支持大量表属性数据类型。 每种数据类型属于以下三个类别之一 −

  • 标量 − 这些类型表示单个值,包括数字、字符串、二进制、布尔值和 null。

  • 文档 − 这些类型表示具有嵌套属性的复杂结构,包括列表和映射。

  • 集合 − 这些类型表示多个标量,包括字符串集、数字集和二进制集。

请记住,DynamoDB 是一种无架构、NoSQL 数据库,在创建表时不需要属性或数据类型定义。 与 RDBMS 不同,它只需要主键属性数据类型,而 RDBMS 在创建表时需要列数据类型。

Scalars

  • 数字 − 它们的长度限制为 38 位,并且可以是正数、负数或零。

  • 字符串 − 它们是使用 UTF-8 的 Unicode,最小长度 >0,最大长度 400KB。

  • 二进制 − 它们存储任何二进制数据,例如加密数据、图像和压缩文本。 DynamoDB 将其字节视为无符号。

  • 布尔值 − 它们存储 true 或 false。

  • Null − 它们代表未知或未定义的状态。

文档

  • 列表 − 它存储有序值集合,并使用方括号 ([...])。

  • 映射 − 它存储无序的名称-值对集合,并使用大括号 ({...})。

设置

集合必须包含相同类型的元素,无论是数字、字符串还是二进制。 对集合的唯一限制包括 400KB 项目大小限制,并且每个元素都是唯一的。

操作数据类型

DynamoDB API 保存操作使用的各种数据类型。 您可以查看以下密钥类型的选择 −

  • AttributeDefinition − 它代表键表和索引架构。

  • Capacity − 它表示表或索引消耗的吞吐量。

  • CreateGlobalSecondaryIndexAction − 它代表添加到表中的新全局二级索引。

  • LocalSecondaryIndex − 它代表本地二级索引属性。

  • ProvisionedThroughput − 它表示索引或表的预配置吞吐量。

  • PutRequest − 它代表 PutItem 请求。

  • TableDescription − 它代表表属性。

支持的 Java 数据类型

DynamoDB 为 Java 提供对原始数据类型、Set 集合和任意类型的支持。