- 产品›
- Amazon DynamoDB
Amazon DynamoDB 常见问题
页面主题
什么是 DynamoDB?
全部打开DynamoDB 是一种快速灵活的非关系数据库服务,适用于任何规模。通过使用 DynamoDB,客户能将操作和扩缩分布式数据库的管理负担转移给亚马逊云科技,这样他们就不必担心硬件预置、设置和配置、吞吐量容量规划、复制、软件修补或集群扩缩等问题。
DynamoDB 消除了扩展数据库的主要障碍之一:管理数据库软件和预置运行它所需的硬件。您在几分钟内就可部署完非关系型数据库。DynamoDB 会自动扩展吞吐量以满足工作负载需求,并随着表大小的增长对数据进行分区和重新分区。此外,DynamoDB 还可以在亚马逊云科技中国区域的三个设施之间同步复制数据,从而为您提供高可用性和数据持久性。
从 DynamoDB 读取数据时,用户可以指定他们希望读取是最终一致性读取还是强一致性读取:
最终一致性读取(默认值)– 选择最终一致性可最大限度地提高读取吞吐量。但是,最终一致性读取可能无法反映最近完成的写入操作的结果。所有数据复制通常在一秒钟内就能达到一致性。在短时间后重复读取应返回更新的数据。
强一致性读取 — 除了最终一致性读取外,如果您的应用程序或应用程序的某个元素需要强一致性读取,DynamoDB 能让您灵活决定是否请求强一致性读取。强一致性读取返回的结果将反映在读取之前收到成功响应的所有写入操作。
ACID 事务 — DynamoDB 事务为开发人员在单个亚马逊云科技账户和区域内的一个或多个表中提供原子性、一致性、隔离性和持久性(ACID)。对于需要以协调性方式插入、删除或更新多个项目(作为单个逻辑业务操作的一部分)的应用程序,在构建该类应用程序时,您可以利用该事务。
开始使用
全部打开DynamoDB 通过使用用户定义的主键来支持 GET/PUT 操作。主键是表中项目的唯一必需属性。您可以在创建表时指定主键,它将唯一地标识每个项目。DynamoDB 提供灵活的查询,您还可以使用全局二级索引和本地二级索引查询非主键属性。
主键可以是单属性分区键,也可以是复合分区排序键。例如,单属性分区键可以是 UserID。通过这样的单属性分区键,您将能快速读取和写入与给定用户 ID 关联的项目的数据。
DynamoDB 将复合分区-排序键作为分区键元素和排序键元素进行索引。此多部分键将维护第一个元素值和第二个元素值之间的层次结构。例如,复合分区排序键可以是 UserID(分区)和时间戳(排序)的组合。如果保持分区键元素不变,则可以在排序键元素中进行搜索以检索项目。例如,通过这样的搜索,您将能使用 查询 API 在一定时间戳范围内检索单个 UserID 的所有项目。
当您使用 DynamoDB 控制台或 CreateTable API 创建表后,可以使用 PutItem 或 BatchWriteItem API 插入项目。然后,您可以使用 GetItem、BatchGetItem,或者如果复合主键已启用并在表中使用,则可以使用查看 API 来检索添加到表中的项目。
是。DynamoDB 是一项通过 API 访问的完全托管式云服务。在任何操作系统(例如 Linux、Windows、iOS、Android、Solaris、AIX 和 HP-UX)上运行的应用程序都可以使用 DynamoDB。我们建议使用亚马逊云科技软件开发工具包开始使用 DynamoDB。
规划
全部打开每个 DynamoDB 表都预置了与之关联的读取吞吐量和写入吞吐量。如果您超出了亚马逊云科技中国(宁夏)区域免费套餐的范围,则将按小时向您收取该吞吐量的费用。请注意,无论您是否向表发送请求,都需要按小时支付吞吐量费用。如果您想更改表的预置吞吐容量,可以使用亚马逊云科技管理控制台、更新表 API 进行自动扩缩。此外,DynamoDB 还将收取数据存储费用以及标准互联网数据传输费用。
要了解有关 DynamoDB 定价的更多信息,请参阅 DynamoDB 定价页面。
每个 DynamoDB 表的最大吞吐量实际上是无限的。有关现有限制的信息,请参阅 DynamoDB 中的限制。
对于弹性扩缩和手动预置吞吐量,您可以请求的最小预置吞吐量为 1 个写入容量单位和 1 个读取容量单位。此类预置属于亚马逊云科技中国(宁夏)区域免费套餐范围,该套餐包含 25 个写入容量单位和 25 个读取容量单位。亚马逊云科技中国(宁夏)区域免费套餐的适用条件是按账户级别区分,而不是表级别。换言之,如果您将所有表的预置容量相加,并且总容量不超过 25 个写入容量单位和 25 个读取容量单位,则您的预置容量将属于亚马逊云科技中国(宁夏)区域免费套餐范围内。
工作原理
全部打开有关数据模型和 API 的更多信息,请参阅 Amazon DynamoDB:工作原理.
有关可扩展性、可用性和持久性的信息,请参阅 Amazon DynamoDB 产品详细信息。
有关 DynamoDB 弹性伸缩的信息,请参阅使用 DynamoDB Auto Scaling 自动管理吞吐量。
有关 DynamoDB 安全和控制的信息,请参阅 Amazon DynamoDB 的身份验证和访问控制。