[SEO 副标题]
本指南展示了一种稳健的方法,用于增量导出和维护集中式数据存储库,以反映分布式数据库的持续变化。指南介绍了如何建立数据管道,无缝捕获增量更新,并将这些更新集成到现有数据存储中。增量过程可最大限度地减少冗余,加强一致性,并优化对准确、最新信息的访问。有了更准确的数据,有助于您以数据为导向做出更明智的决策。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
应用程序流量会持续添加、更新和删除 Amazon DynamoDB 表中的项目。
第 2 步
完全导出 DynamoDB 表。此过程将把导出的数据以 JSON 格式写入 Amazon Simple Storage Service(Amazon S3)。
第 3 步
创建、准备和使用 Amazon EMR Serverless,以便从 Amazon S3 读取 DynamoDB 表的完整导出内容。EMR Serverless 将动态识别含全套列的 Iceberg 表模式,这些列将映射到 DynamoDB 导出的完整数据集的所有唯一属性。
第 4 步
创建 AWS Glue Data Catalog 来保存 Iceberg 表元存储,并使用相同的 Glue Catalog 通过 Amazon Athena(或任何 Hive Meta 存储兼容的查询引擎)查询该表。
第 5 步
基于 DynamoDB 表的完整导出内容,使用 EMR Serverless 构建 Iceberg 表,然后采用 Iceberg 表生成的模式。
第 6 步
分析师可使用 Athena 查询来验证 Iceberg 表是否可访问和可读取。可通过 Athena 在 Iceberg 表上运行 SELECT 查询,以确认可以成功准确地检索数据。
第 7 步
以 JSON 格式增量导出 DynamoDB 表。此过程只会导出 DynamoDB 表自上次完全导出或增量导出后更改的数据。
第 8 步
借助 EMR Serverless,用 DynamoDB 表数据的增量导出来更新先前创建的 Iceberg 表。
第 9 步
分析师将使用同个 Athena 查询来验证 Iceberg 表中是否显示了更改的记录。例如,如果您在完全导出后,在 DynamoDB 表中添加或删除了项目,则计数应有相应变化。
开始使用
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
将存储管理工作交给 Amazon S3,您可以专注于应用程序开发和分析工作流程,而无需承担基础设施开销。Amazon S3 每秒可处理数千次事务,从而实现数据的无缝上传和检索。这种运营效率使团队能够在 AWS 管理底层存储基础设施的同时,优化其核心能力。
-
安全性
DynamoDB、Amazon S3 和 AWS Glue 提供加密、访问控制和审计日志,支持用户满足安全性和合规性要求。Athena 和 EMR Serverless 从其底层服务中继承了强大的安全功能,有助于确保数据隐私和合规性。由 AWS 全面托管这些服务,因此可持续实施最佳安全实践,减轻安全措施的管理工作。
-
可靠性
DynamoDB 和 Amazon S3 通过跨可用性区域复制和区域内的数据冗余优先实现高可用性,有助于在发生故障或中断时保持可访问性。Amazon S3 具有 99.999999999% 的持久性,可防止数据随时间丢失,而 DynamoDB 则为表格提供 99.999% 的可用性和持久性。这些容错服务采用冗余存储和分布式架构,将故障对数据完整性和服务可用性的影响降至最低。
-
性能效率
AWS Glue 借助其集中式元数据存储库简化了数据发现过程,减少了定位和访问数据集所花费的时间。它可以自动扩展资源,以满足提取、转换、加载(ETL)任务的需求,从而实现最佳性能,无需人工干预。AWS Glue 的自动资源预置和高效数据编目功能有助于提高性能效率,实现无缝数据处理和分析工作流程。
-
成本优化
EMR Serverless 可根据任务要求自动预置和释放资源,在任务未运行时不会产生任何成本。这种基于使用量的模式非常适合具有间歇性、短时处理、然后长时间闲置的工作负载。EMR Serverless 可动态扩展资源以满足需求,从而优化成本,因为您只需为消耗的资源支付费用,并在闲置期间不会产生不必要的费用。
-
可持续性
Amazon S3 和 EMR Serverless 等 AWS 服务的无服务器和可扩展特性优化了计算和后端资源的使用,有效地减少了工作负载对环境的影响。
相关内容
使用 Amazon DynamoDB 增量导出更新 Apache Iceberg 表
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。