DynamoDB – 基本概念
DynamoDB – 基本概念
在使用 DynamoDB 之前,您必须熟悉其基本组件和生态系统。在 DynamoDB 生态系统中,您可以使用表、属性和项目。一个表包含项目集,项目包含属性集。属性是不需要进一步分解的数据的基本元素,即字段。
首要的关键
主键作为唯一标识表项的手段,二级索引提供查询灵活性。DynamoDB 通过修改表数据流记录事件。
创建表不仅需要设置名称,还需要设置主键;它标识表项。没有两个项目共享一个密钥。DynamoDB 使用两种类型的主键 –
-
分区键– 这个简单的主键由一个称为“分区键”的属性组成。在内部,DynamoDB 使用键值作为哈希函数的输入来确定存储。
-
分区键和排序键– 此键称为“复合主键”,由两个属性组成。
-
分区键和
-
排序键。
DynamoDB 将第一个属性应用于哈希函数,并将具有相同分区键的项目存储在一起;它们的顺序由排序键决定。项目可以共享分区键,但不能共享排序键。
-
主键属性只允许标量(单个)值;和字符串、数字或二进制数据类型。非键属性没有这些约束。
二级索引
这些索引允许您使用备用键查询表数据。尽管 DynamoDB 不强制使用它们,但它们优化了查询。
DynamoDB 使用两种类型的二级索引 –
-
全局二级索引– 该索引拥有分区和排序键,可以与表键不同。
-
本地二级索引– 该索引拥有与表相同的分区键,但是,其排序键不同。
应用程序接口
DynamoDB 提供的API 操作包括控制平面、数据平面(例如,创建、读取、更新和删除)和流的操作。在控制平面操作中,您可以使用以下工具创建和管理表 –
- 创建表
- 描述表
- 列表
- 更新表
- 删除表
在数据平面中,您可以使用以下工具执行 CRUD 操作 –
Create | 读 | 更新 | 删除 |
---|---|---|---|
PutItem BatchWriteItem |
获取项目 批量获取项目 询问 扫描 |
更新项 |
删除项目 批量写入项目 |
流操作控制表流。您可以查看以下流工具 –
- 列表流
- 描述流
- 获取碎片迭代器
- 获取记录
预配置吞吐量
在表创建中,您指定预配置吞吐量,它为读取和写入保留资源。您可以使用容量单位来衡量和设置吞吐量。
当应用程序超过设置的吞吐量时,请求失败。DynamoDB GUI 控制台允许监控设置和使用的吞吐量,以实现更好的动态配置。
读取一致性
DynamoDB 使用最终一致性和强一致性读取来支持动态应用程序需求。最终一致性读取并不总是提供当前数据。
强一致性读取始终提供当前数据(设备故障或网络问题除外)。最终一致性读取作为默认设置,需要在ConsistentRead参数中设置 true才能更改它。
分区
DynamoDB 使用分区来存储数据。这些表的存储分配有 SSD 支持并自动跨区域复制。DynamoDB 管理所有分区任务,无需用户参与。
在创建表时,表进入 CREATING 状态,即分配分区。当它达到 ACTIVE 状态时,您可以执行操作。当系统容量达到最大值或当您更改吞吐量时,系统会更改分区。