DynamoDB 是一种适用于任何规模的非关系型数据库服务,具有快速又灵活的特点。使用 DynamoDB,客户可以将运行和扩展分布式数据库的管理工作负担交给 AWS,因而无需担心硬件预置、设置和配置、吞吐容量规划、复制、软件修补或集群扩展等问题。
DynamoDB 消除了影响数据库扩展的主要绊脚石之一:数据库软件的管理,以及运行数据库所需的硬件配置。您可在短短几分钟之内部署非关系数据库。DynamoDB 可自动扩展吞吐容量以满足工作负载需求,并随着您的表大小的增长对数据进行分区和再分区。此外,DynamoDB 还可在一个 AWS 地区的三个数据中心之间同步复制数据,为您提供高可用性和数据持久性。
从 DynamoDB 读取数据时,用户可以指定希望读取是最终一致性读取还是强一致性读取:
DynamoDB 支持使用用户定义的主键来执行 GET/PUT 操作。对于表中的项目,主键是唯一所需要的属性。您在创建表时指定主键,它是标识每个项目的唯一标识符。DynamoDB 还提供灵活的查询功能,让您可以使用全局二级索引和本地二级索引查询非主键属性。
主键可以是单属性的分区键或复合的分区-排序键。例如,单属性的分区键可以是 UserID。通过这样的单属性分区键,可以对与特定用户 ID 相关联的项目快速读取和写入数据。
DynamoDB 将复合的分区-排序键作为一个分区键元素和一个排序键元素进行索引。这个多部分键可保持第一个元素值和第二个元素值之间的层次结构。例如,复合的分区-排序键可以由 UserID(分区)和 Timestamp(排序)组成。通过保持分区键元素的恒定,您可以在排序键元素中进行搜索以检索项目。利用这种搜索,您就可以使用 Query API 进行检索,例如在一系列时间戳中检索单个 UserID 的所有项目。
使用 DynamoDB 控制台或 CreateTable API 创建表之后,您可以使用 PutItem 或 BatchWriteItem API 来插入项目。然后,您可以使用 GetItem、BatchGetItem 或 Query API(如果复合主键已启用且正在表中使用)来检索您添加到表中的项目。
符合。DynamoDB 是一项完全托管的云服务,可以通过 API 使用。在任何操作系统(例如,Linux、Windows、iOS、Android、Solaris、AIX 和 HP-UX)上运行的应用程序都可以使用 DynamoDB。我们建议借助 AWS SDK 开始使用 DynamoDB。
每个 DynamoDB 表预调配与其相关联的读取吞吐量和写入吞吐量。您将按小时对吞吐量付费。请注意,无论您是否向表发送请求,我们都将按小时对吞吐量收费。如果您想更改表的预置吞吐能力,可使用 AWS 管理控制台更改,或者使用 UpdateTable API 或 PutScalingPolicy API 自动扩展。此外,DynamoDB 将收取数据存储的费用,以及标准的 Internet 数据传输费用。
要了解有关 DynamoDB 定价的更多信息,请查看 DynamoDB 定价页面。
每个 DynamoDB 表的最大吞吐量实际上无限制。有关设定的限制的信息,请参阅 DynamoDB 的限制。如果要申请提高上限,请联系 Amazon。
您可以为 Auto Scaling 和手动吞吐量预调配请求的最小预调配吞吐量为 1 个写入容量单位和 1 个读取容量单位。这种预配置属于免费套餐的范围,后者允许使用 25 个写入容量单位和 25 个读取容量单位。这种免费套餐在账户级别而非表级别上适用。换言之,如果您将所有表的配置容量相加,总容量不超过 25 个写入容量单位和 25 个读取容量单位,则您的配置容量属于免费套餐范围。
DynamoDB Standard-IA 帮助您为存储不频繁访问数据的表降低 DynamoDB 总成本,例如应用程序日志、旧的社交媒体帖子、电子商务订单历史记录和以前的游戏成就。如果存储是主要表成本,即存储成本一致超过吞吐量(读写)成本的 50%,则 DynamoDB Standard-IA 表类是您最经济的选择。要了解有关 DynamoDB Standard-IA 定价的更多信息,请查看 DynamoDB 定价页面。
DynamoDB 标准-IA 表与 DynamoDB 标准表在支持所有现有 DynamoDB 功能方面没有区别,包括全局表、辅助索引、按需备份和时间点故障恢复(PITR)。DynamoDB 标准-IA 表也具有与其他 AWS 服务的内置集成,其方式与 DynamoDB 标准表相同。例如,可以使用 Amazon CloudWatch 监测 DynamoDB 标准-IA 表的性能,使用 AWS CloudFormation 模板预调配和管理 DynamoDB 标准-IA 表,使用 DynamoDB Accelerator(DAX)添加缓存以提高性能,将更改数据记录流式传输到 Amazon Kinesis Data Streams,将 DynamoDB Standard-IA 表数据导出到 Amazon Simple Storage Service(Amazon S3)。
有关数据模型和 API 的更多信息,请查看 Amazon DynamoDB:如何使用。
有关可扩展性、可用性和持久性的信息,请查看 Amazon DynamoDB 产品详细信息。
有关 DynamoDB Auto Scaling 的信息,请参阅使用 DynamoDB Auto Scaling 自动管理吞吐能力。
有关 DynamoDB 安全和控制的信息,请查看 Amazon DynamoDB 的 Identity and Access Management。