DynamoDB - 基本概念

在使用DynamoDB之前,您必须熟悉其基本组件和生态系统.在DynamoDB生态系统中,您可以使用表,属性和项.表包含项集,项包含属性集.属性是不需要进一步分解的数据的基本元素,即字段.

主键

主键用作表项的唯一标识,二级索引提供查询灵活性. DynamoDB通过修改表数据来记录事件.

表创建不仅需要设置名称,还需要设置主键;它标识表项.没有两个项目共享密钥. DynamoDB使用两种类型的主键 :

  • 分区键 : 这个简单的主键由一个称为"分区键"的属性组成.在内部,DynamoDB使用键值作为哈希函数的输入来确定存储.

  • 分区键和排序键 : 此密钥称为"复合主键",由两个属性组成.

    DynamoDB将第一个属性应用于哈希功能,并将具有相同分区键的项目存储在一起;他们的订单由排序键确定.项目可以共享分区键,但不能共享键.

    • 分区键和

    • 排序键.

主键属性仅允许标量(单个)值;和字符串,数字或二进制数据类型.非键属性没有这些约束.

辅助索引

这些索引允许您使用备用键查询表数据.虽然DynamoDB不会强制使用它们,但它们会优化查询.

DynamoDB使用两种类型的二级索引 :

  • 全球二级指数 : 该索引拥有分区和排序键,它们可以与表键不同.

  • 本地二级索引 : 该索引拥有与表相同的分区键,但其排序键不同.

API

DynamoDB提供的API操作包括控制平面,数据平面(例如,创建,读取,更新和删除)和流的API操作.在控制平面操作中,您使用以下工具创建和管理表格 :

  • CreateTable

  • DescribeTable

  • ListTables

  • UpdateTable

  • DeleteTable

在数据平面中,使用以下工具执行CRUD操作 :

创建阅读更新删除

PutItem

BatchWriteItem

GetItem

BatchGetItem

查询

扫描

UpdateItem

DeleteItem

BatchWriteItem

流操作控制表流.您可以查看以下流工具 :

  • ListStreams

  • DescribeStream

  • GetShardIterator

  • GetRecords

预设吞吐量

在表创建中,指定预配置吞吐量,该预留吞吐量为读取和写入保留资源.您可以使用容量单位来测量和设置吞吐量.

当应用程序超过设置的吞吐量时,请求会失败. DynamoDB GUI控制台允许监控设置和使用的吞吐量,以实现更好的动态配置.

读取一致性

DynamoDB最终使用 一致的 强烈一致的 读取以支持动态应用程序需求.最终一致的读取并不总是提供当前数据.

强一致性读取始终提供当前数据(设备故障或网络问题除外).最终一致读取用作默认设置,需要在 ConsistentRead 参数中设置为true才能更改它.

分区

DynamoDB使用分区进行数据存储.这些表的存储分配具有SSD支持,并跨区域自动复制. DynamoDB管理所有分区任务,无需用户参与.

在表创建中,表进入CREATING状态,分配分区.当它达到ACTIVE状态时,您可以执行操作.当容量达到最大值或更改吞吐量时,系统会更改分区.