Amazon DynamoDB 是 Amazon Web Services (AWS) 推出的一款云原生 NoSQL 数据库产品。DynamoDB 的性能特点、易用性以及与现有数据库引擎的兼容性使其成为亚马逊云科技史上增长最快的服务之一。
在本模块中,您将了解亚马逊云科技客户选择迁移到 DynamoDB 的原因。许多快速扩张的公司,如 Lyft、Airbnb 和 Redfin,都因为 DynamoDB 的性能特点而选择了它。三星、丰田和 Capital One 等企业公司将 DynamoDB 用于其关键任务工作负载。无服务器优先的公司都喜欢 DynamoDB,因为它易于扩展、性能稳定,而且可以通过使用 AWS Lambda 实现短暂计算。
DynamoDB 专为互联网扩展性能而设计。互联网的兴起为各种应用程序开辟了惊人的受众,但也将传统基础架构推向了极限。由于其临时查询模式和难以横向扩展,旧有的关系型数据库正苦苦追赶。
DynamoDB 等 NoSQL 数据库被大量用于大规模应用程序。DynamoDB 基于 Dynamo,这是 Amazon.com 工程师为处理 Amazon 零售负担而构建的内部数据库。Amazon.com 的零售基础架构在很大程度上依赖 DynamoDB,为 Prime Day 和 Cyber Monday 等高流量日提供动力。2019 年,Amazon.com 在亚马逊会员日的 DynamoDB 请求峰值超过了每秒 4,500 万次。
DynamoDB 最棒的地方在于,它的性能在任何扩展规模下都是一致的。DynamoDB 可无限扩展,且不会降低性能。您在测试环境中获取 1 GB 数据的响应时间与在生产环境中获取 10 TB 数据的响应时间是相同的。
数据库管理是一项细致而重要的任务。您需要确保在实例出现故障时有一个随时可用的实例可供推广。您必须设计和配置备份和恢复计划。
但是,妥善管理数据库并不会让公司脱颖而出,也不会让你获得晋升。正常运行时间、备份和实例故障切换是人们所期望的,尽管它们很难做到位。
有了 DynamoDB 这样的云原生数据库,您就可以减少数据库操作中无差别的繁重工作,将精力集中在可以让公司脱颖而出的方面。作为数据库管理员,这意味着要利用自己的专业知识帮助进行模式设计和查询优化。作为应用程序开发人员,这意味着要专注于应用程序,而非基础架构。作为一家公司,这意味着要在产品上进行创新,而不是挪用资源来维持系统运行。有了 DynamoDB,您就可以专注于重要的事情并推动价值的实现。
DynamoDB 具有灵活的计费模式,符合您的需求。DynamoDB 不对 CPU 和 RAM 等原始资源计费。相反,DynamoDB 会向您收取存储费以及读写单元费。这简化了容纳能力规划进程。与其先评估使用量,再猜测特定内存和 CPU 组合如何处理使用量,不如直接将评估结果转化为读写容量单元。
此外,您还可以选择使用按需容量模式来完全避免容量规划。您无需提前预置数据库容量。DynamoDB 对数据库的每次读写都直接收费。您可以使用按需容量模式为所需容量设定基线,然后在需要时无缝切换到预置容量模式。
现代应用程序开发使用微服务来缩小部署单元的规模,实现更敏捷的开发。通常,一项微服务需要另一项服务的数据,数据通过事件在服务与服务之间共享。
旧有数据库不是为微服务世界而构建的。从旧有数据库中提取更新信息需要困难而复杂的变通方法,这可能会对源数据库的性能产生负面影响。DynamoDB 本机支持通过 DynamoDB 流数据捕获变更数据。使用 DynamoDB 流数据,您可以订阅 DynamoDB 表中所有更新的有序流。这些数据流的消费者可以更新下游服务功能,或将数据发送到分析系统进行内部分析。
DynamoDB 使用 AWS 身份及访问管理 (IAM) 进行授权。IAM 具有丰富的功能,可以对 DynamoDB 表进行细粒度访问控制。通过使用 IAM,您可以确保您的应用程序只能访问所需的 Table 和 API 操作。
IAM 与 Amazon EC2、Amazon ECS 和 Lambda 等亚马逊云科技计算选项深度集成。您可以将 IAM 角色直接附加到亚马逊云科技的计算选项,从而无需在应用程序内部进行凭证轮换和管理。这样,应用程序就会更安全、更有保障。
IAM 允许对 DynamoDB 表进行细粒度权限管理。您可以使用 IAM 条件来限制对 DynamoDB 记录的行级和属性级访问。这些条件简化了应用程序中的多租户功能,并允许您按用户逐一保护字段。
将数据库从一个平台迁移到另一个平台是一个多步骤的进程。如果您要将现有数据库迁移到 Aurora,亚马逊云科技会提供一系列服务,让您的迁移更轻松。
AWS Database Migration Service(AWS DMS)是一项可用于将数据库从现有数据库迁移到亚马逊云科技上完全托管的数据库的服务。AWS DMS 负责将现有数据复制到由亚马逊云科技管理的新数据库中。此外,您还可以使用亚马逊云科技持续复制数据,从而确定将应用程序切换到新数据库的最佳时机。
AWS DMS 支持从 11 个不同的数据库源终端节点迁移到 15 个不同的数据库目标终端节点。您甚至可以从一个数据库引擎转移到另一个数据库引擎,这样您就可以从许可的商业数据库转移到云原生数据库,如 Aurora。如果您需要从一个数据库引擎向另一个数据库引擎进行异构迁移,可以使用 AWS Schema Conversion Tool (AWS SCT) 来处理两个数据库引擎之间的模式差异。AWS DMS 处理数据迁移,而 AWS SCT 则负责将数据库模式、存储过程和视图从一个数据库转换到另一个数据库。AWS SCT可以大大简化向新数据库引擎的迁移。
如果您在迁移过程中需要实践协助,亚马逊云科技为您提供了多种选择。 亚马逊云科技专业服务 拥有经验丰富的专业人员,可以与您一起管理数据迁移。亚马逊云科技专业服务团队已与数千名各种规模的客户合作,安全地规划和执行向云原生数据库的数据迁移。
此外,亚马逊云科技在 AWS Partner Network (APN) 中列出了大量合作伙伴。APN 在全球拥有数以万计的合作伙伴,每个合作伙伴都有自己独特的工作重点和能力。这些合作伙伴都经过严格审查,以确保具备亚马逊云科技的专业知识。无论您需要的是咨询建议还是实践技术实施,您都可以找到适合您需求的 APN 咨询合作伙伴。
最后,如果您在数据库迁移方面需要更多帮助,亚马逊云科技可为您提供各种选择。 Database Freedom program 为合格客户提供专家建议和迁移协助。利用数据库迁移专家的知识帮助您实现无缝迁移。