什么是 DynamoDB?

问:什么是 Amazon DynamoDB?

DynamoDB 是一种适用于任何规模的非关系型数据库服务,具有快速又灵活的特点。使用 DynamoDB,客户可以将运行和扩展分布式数据库的管理工作负担交给 AWS,因而无需担心硬件预置、设置和配置、吞吐容量规划、复制、软件修补或集群扩展等问题。

问: DynamoDB 可以代我进行哪些管理?

DynamoDB 消除了影响数据库扩展的主要绊脚石之一:数据库软件的管理,以及运行数据库所需的硬件配置。您可在短短几分钟之内部署非关系数据库。DynamoDB 可自动扩展吞吐容量以满足工作负载需求,并随着您的表大小的增长对数据进行分区和再分区。此外,DynamoDB 还可在一个 AWS 地区的三个数据中心之间同步复制数据,为您提供高可用性和数据持久性。

问: DynamoDB 的一致性模型是什么样的?

从 DynamoDB 读取数据时,用户可以指定希望读取是最终一致性读取还是强一致性读取:

  • 最终一致性读取(默认)– 最终一致性选项可以最大程度地提高读取吞吐量。但是,最终一致性读取可能不会反映最近完成的一次写入操作的结果。所有数据副本通常在一秒内达到一致。在短时间之后重复读取,应会返回更新的数据。
  • 强一致性读取 – 除了提供最终一致性读取外,DynamoDB 还使您可以根据应用程序或应用程序某元素的要求,以灵活而有控制力的方式请求强一致性读取。强一致性读取返回的结果可反映在读取前收到成功响应的所有写入。

入门

问:DynamoDB 支持哪种类型的查询功能?

DynamoDB 支持使用用户定义的主键来执行 GET/PUT 操作。对于表中的项目,主键是唯一所需要的属性。您在创建表时指定主键,它是标识每个项目的唯一标识符。DynamoDB 还提供灵活的查询功能,让您可以使用全局二级索引本地二级索引查询非主键属性。

主键可以是单属性的分区键或复合的分区-排序键。例如,单属性的分区键可以是 UserID。通过这样的单属性分区键,可以对与特定用户 ID 相关联的项目快速读取和写入数据。

DynamoDB 将复合的分区-排序键作为一个分区键元素和一个排序键元素进行索引。这个多部分键可保持第一个元素值和第二个元素值之间的层次结构。例如,复合的分区-排序键可以由 UserID(分区)和 Timestamp(排序)组成。通过保持分区键元素的恒定,您可以在排序键元素中进行搜索以检索项目。利用这种搜索,您就可以使用 Query API 进行检索,例如在一系列时间戳中检索带有单个 UserID 的所有项目。

问:如何在 DynamoDB 中更新和查询数据项?

使用 DynamoDB 控制台CreateTable API 创建表之后,您可以使用 PutItemBatchWriteItem API 来插入项目。然后,您可以使用 GetItemBatchGetItemQuery API(如果复合主键已启用且正在表中使用)来检索您添加到表中的项目。

问:任何操作系统下的应用程序是否都能使用 DynamoDB?

是的。DynamoDB 是一项完全托管的云服务,可以通过 API 使用。在任何操作系统(例如,Linux、Windows、iOS、Android、Solaris、AIX 和 HP-UX)上运行的应用程序都可以使用 DynamoDB。我们建议借助 AWS SDK 开始使用 DynamoDB。

计划

问:使用 DynamoDB 如何收费?

每个 DynamoDB 表配置了与其相关联的读取吞吐量和写入吞吐量。如果您超过了免费套餐的范围,将按小时对吞吐容量计费。请注意,无论您是否向表发送请求,我们都将按小时对吞吐容量收费。如果您想更改表的预置吞吐容量,可使用 AWS 管理控制台或 Auto Scaling 的 UpdateTable APIPutScalingPolicy API 执行此操作。此外,DynamoDB 将收取数据存储的费用,以及标准的 Internet 数据传输费用。

有关 DynamoDB 定价的详细信息,请查看 DynamoDB 定价页面

问:我可以为单个 DynamoDB 表配置的最大吞吐量是多少?

根据设计,DynamoDB 可以不受限制地扩展。但是,如果您希望单个表超过 10000 个写入容量单位或 10000 个读取容量单位的吞吐率,您必须先联系亚马逊。如果想要从单个订阅者账户预配置超过 20000 个写入容量单位或 20000 个读取容量单位,则您必须先联系我们以请求提高限额。

问:我可以为单个 DynamoDB 表配置的最小吞吐量是多少?

您可以为 Auto Scaling 和手动吞吐量预配置请求的最小预置吞吐量为 1 个写入容量单位和 1 个读取容量单位。这种预配置属于免费套餐的范围,后者允许使用 25 个写入容量单位和 25 个读取容量单位。这种免费套餐在账户级别而非表级别上适用。换言之,如果您将所有表的配置容量相加,总容量不超过 25 个写入容量单位和 25 个读取容量单位,则您的配置容量属于免费套餐范围。

工作原理

问:数据模型和 API

有关数据模型和 API 的更多信息,请查看 Amazon DynamoDB:如何使用

问:可扩展性、可用性和持久性

有关可扩展性、可用性和持久性的信息,请查看 Amazon DynamoDB 产品详细信息

问:Auto Scaling

有关 DynamoDB Auto Scaling 的信息,请查看使用 DynamoDB Auto Scaling 自动管理吞吐容量

问:安全和控制

有关 DynamoDB 安全和控制的信息,请查看 Amazon DynamoDB 的身份验证和访问控制

了解有关 Amazon DynamoDB 定价的更多信息

访问定价页面
准备好开始构建?
DynamoDB 入门
还有更多问题?
联系我们