Amazon DynamoDB 是一个 NoSQL 数据库,支持键值和文档数据模型。开发人员可以使用 DynamoDB 构建现代化的无服务器应用程序,这些应用程序可以从小规模开始,然后在全球范围内扩展,以支持 PB 级数据和每秒数千万的读写请求。DynamoDB 专用于运行互联网规模的高性能应用程序,而这些应用程序会使传统关系数据库负担过重。
规模性能
DynamoDB 是一个键值和文档数据库,通过横向扩展可支持几乎任何大小的表。这使 DynamoDB 能够在 PB 级的存储空间上扩展到每天 10 万亿个以上的请求,峰值时超过每秒 2000 万个请求。
键值和文档数据模型
DynamoDB 同时支持键值和文档数据模型。这使 DynamoDB 具有灵活的架构,因此每行在任何时间点都可以有任意数量的列。这样,您在业务需求发生变化时就可轻松调整表,而不必像关系型数据库那样重新定义表架构。
使用 DynamoDB Accelerator 的微秒级延迟
DynamoDB Accelerator (DAX) 是一种内存中的缓存,您通过使用这一完全托管式的内存中的缓存,即可大规模地快速读取表格。使用 DAX,您可以将 DynamoDB 表的读取性能提高 10 倍 - 将读取所需的时间从毫秒缩短到微秒,即使是每秒数百万个请求也是如此。
使用全局表自动进行全局复制
DynamoDB 全局表会在您选择的亚马逊云科技中国区域内自动复制数据,并自动扩展容量以满足您的工作负载。借助全局表,分布在全球的应用程序可以在选定的区域本地访问数据,以获得个位数毫秒级的读写性能。
高级串流应用程序具备适用于 DynamoDB 的 Kinesis Data Streams
借助适用于 DynamoDB 的 Amazon Kinesis Data Streams,您能够以 Kinesis 数据流的形式捕获 DynamoDB 表中的项目级更改。通过此功能可以构建高级串流应用程序,例如实时日志聚合、实时业务分析和物联网数据捕获。通过 Kinesis Data Streams,还可以使 Amazon Kinesis Data Firehose 将 DynamoDB 数据自动传输到其他亚马逊云科技服务。
无服务器
使用 DynamoDB,既无需预置、修补和管理任何服务器,也无需安装、维护或运行任何软件。DynamoDB 会自动扩展表以调整容量,并在无需管理的情况下保持高性能。可用性和容错能力是内置的,因此您不必为应用程序构建这些功能。
读/写容量模式
DynamoDB 为每个表提供容量模式:按需和预置。对于那些较难预测的工作负载,您不确定是否会有很高的利用率,那么按需容量模式可以为您管理容量,而您只需为消耗的容量付费即可。使用预置容量模式的表需要您设置读写容量。如果您确定指定的预置容量将有合理的利用率,则预置容量模式会更具成本效益。
按需模式
对于使用按需容量模式的表,Amazon DynamoDB 会立即调整您的工作负载,因为工作负载可以增加或减少到任何之前达到的流量级别。如果工作负载的流量级别达到新的峰值,则 Amazon DynamoDB 会快速适应以调整工作负载。您可以选择为单个按需表和关联的二级索引配置最大读取或写入(或为两者同时配置)吞吐量,从而轻松平衡成本和性能。您可以对新表和现有表使用按需容量模式,并且无需更改代码即可继续使用现有的 Amazon DynamoDB API。
自动扩缩
对于使用预置容量的表,DynamoDB 通过监控应用程序的性能使用情况,以及根据您之前设置的容量来提供吞吐量和存储空间的弹性伸缩。如果您的应用程序流量增长,DynamoDB 会增加吞吐量以适应负载。如果您的应用程序流量减少,DynamoDB 会缩减,以便减少您对未使用容量的支付费用。
使用触发器更改跟踪
DynamoDB 与 Amazon Lambda 集成以提供触发器。使用触发器,如果发现 DynamoDB 表中的项目级别更改,您可以自动执行自定义函数。借助触发器,可以构建应用程序,对 DynamoDB 表中的数据修改作出反应。Lambda 函数可以执行指定的任何操作,例如发送通知或启动工作流。
企业级
DynamoDB 专为任务关键型工作负载而构建,包括支持各种需要复杂业务逻辑的应用程序的 ACID 事务。DynamoDB 通过加密来保证数据安全,并持续备份数据达到保护目的。
ACID 事务
DynamoDB 提供对事务的服务器端原生支持,让开发人员能够更轻松地对一个或多个表中的多个项目进行一致的全有或全无更改。利用对事务的支持,开发人员可以将 DynamoDB 的规模、性能和企业优势应用于更多任务关键型工作负载。
静态加密
默认情况下,DynamoDB 会加密所有客户数据。静态加密通过使用存储在 Amazon Key Management Service 中的加密密钥来增强数据的安全性。通过静态加密,您可以构建符合严格加密合规性和法规要求的安全敏感应用程序。对于使用了亚马逊云科技自有的客户主密钥的默认加密功能,我们不收取额外费用。
时间点恢复
时间点恢复 (PITR) 有助于保护 DynamoDB 表免遭意外读取和写入。PITR 将对 DynamoDB 表数据持续备份,您可以将该表还原到前 35 天内精确到秒的任一时间点。只需在亚马逊云科技管理控制台中单击几下鼠标或调用一个 API 即可启用 PITR 或启动备份和还原操作。
按需备份和还原
通过按需备份和还原操作,您可以为 DynamoDB 表的数据创建完整备份以进行数据存档,从而满足公司和政府的法规要求。您可以备份拥有数 MB 到数百 TB 数据的表,而不会影响生产应用程序的性能或可用性。
私有网络连接
Amazon DynamoDB 支持网关虚拟私有云(VPC)端点和接口 VPC 端点,用于 VPC 内部或来自本地数据中心的连接。您可以通过启用 Amazon PrivateLink 的接口 VPC 端点配置从本地应用程序到 DynamoDB 的私有网络连接。这使客户能够简化与 DynamoDB 的私有连接并保持合规性。
对访问权限的精细控制
DynamoDB 使用 Amazon Identity and Access Management(IAM)来验证和授权对资源的访问。您可以指定 IAM 策略、基于资源的策略,使用策略中的标签定义基于属性的访问控制(ABAC),并指定允许精细访问的条件,根据身份将读取或写入访问权限限制在表中的特定项目和属性上。
Amazon DynamoDB 与 Amazon Redshift 的零 ETL 集成
Amazon DynamoDB 与 Amazon Redshift 的零 ETL 集成提供了一个无代码且完全托管的 ETL 管道,可以从 DynamoDB 复制到 Amazon Redshift。这一零 ETL 集成使客户能够将数据从 DynamoDB 无缝同步到 Redshift,而无需编写自定义代码来构建和维护用于提取、转换、加载(ETL)操作的复杂数据管道。这种集成减少了在事务性数据库和数据仓库之间保持数据同步所涉及的运营负担和成本,使客户能够专注于其核心业务问题。
您可以从 DynamoDB 控制台中的“集成”选项卡快速创建您的第一个管道。该集成利用 Amazon DynamoDB 导出和 Redshift 的计算来处理 DynamoDB 数据,并将其映射到您的 Redshift 数据库表。