引言
在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求。本系列博客从一个重视数据安全和合规性的 B2C 金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云科技云原生服务、开源社区产品以及第三方工具构建无服务器数据仓库的解耦方法。
Apache EMR(Elastic MapReduce)Serverless 是亚马逊云科技推出的一种全托管的无服务器大数据处理服务。它基于 Apache Spark 和 Apache Hive 计算引擎,提供计算和存储分离的架构,实现架构弹性的同时,增强了性能。
Apache DolphinScheduler 是一种与 EMR 集群解耦部署的多功能工作流调度程序,可确保高效可靠的数据编排和处理。此外,Amazon Athena 使客户能够使用标准 SQL 执行 Ad-hoc 查询并分析大量数据集,从而无需复杂的基础设施管理。通过 AWS 控制台实现的开放的集成测试,为这些组件的无缝集成和验证提供了可能,大大加快了工程师的工作效率。对于金融科技客户,EMR Serverless 可以提供业务线(LOB)级别的精细资源消费分析,从而实现精确监控和成本优化。这一功能在金融领域尤其有价值。因为在该领域,运营敏捷性和成本效益至关重要。B2C 金融科技客户非常重视数据安全性和合规性。为了解决这些问题,本案客户采用了本地和云混合架构。敏感数据存储在本地。本博客讨论了实现本地系统和云环境之间数据无缝同步的具体解决方案。该解决方案使客户能够保持对敏感信息的严格控制,同时受益于云计算的可扩展性和灵活性。
本文着重探讨云上云下数据同步方案的设计。
架构设计
金融科技客户非常关注数据安全和合规性。对于博客中讨论的具体案例,业务数据存储在本地 TiDB 上,而用户行为数据通过Sensors Data套件收集,存储在本地 HDFS 上。 TiDB 是亚马逊云科技全球合作伙伴。
亚马逊云科技上的 TiDB 产品服务信息可以通过[此链接]获取。Sensors Data 是亚马逊云科技大中国区的合作伙伴。 亚马逊云科技上的 Senors Data 产品服务信息可以通过[此链接]获取。
这些本地数据源通亚马逊云科技 Direct Connect 连接到亚马逊云科技的 Region。在亚马逊云科技的环境中,数据流经 Interface Endpoint for S3、亚马逊云科技 PrivateLink,最终访问 S3 存储桶(如下图所示,存储桶名为 ODS(示例))。接口终端节点由通过 Amazon Route53 托管的 DNS 解析器注册和管理。
然后,数据由 Amazon EMR Serverless Job(Hive 作业或 Spark 作业)处理,以实现数据仓库分层逻辑。不同的分层数据存储在单独的 S3 存储桶中或同一 S3 存储桶下的比不同的 S3 前缀中。这些数据的架构通过 Glue 数据目录进行管理,并且可以通过 Amazon Athena 控制台进行查询。
第三方 BI 工具通过 JDBC 与 Amazon Athena 进一步集成,实现数据可视化和生成数据报告,满足不同的业务需求,包括监管要求。
EMR Serveless Job 通过在 3 个 EC2 实例上以集群模式部署的 Apache DolphinScheduler 进行编排。
DolphinScheduler 集群与其编排的 EMR 作业解耦部署,实现了整个系统的高可靠性:一个(EMR 作业或调度器)发生故障不会影响另一个(调度器或 EMR 作业)。
[
解决方案系统架构图
云上云下数据同步解决方案
从网络基础设施的角度来看,亚马逊云科技 Direct Connect 被用来实现客户本地和亚马逊云科技区域之间的连接。在亚马逊云科技环境中,数据流经 Interface Endpoint for S3、亚马逊云科技 PrivateLink,最终访问 S3 存储桶(如下图所示,存储桶名为 ODS(示例))。接口终端节点由通过 Amazon Route53 托管的 DNS 解析器注册和管理。有关进一步的架构、工作机制说明以及部署指南,请参阅privatelink-interface-endpoints文档。
从数据传输的角度,设计了软件级双向数据同步解决方案。包括 3 个子场景:
- 存量数据从本地同步到亚马逊云科技 Region;
- 增量数据从本地同步到亚马逊云科技 Region;
- 将数据从亚马逊云科技 Region 反向同步到本地。
对于每个场景,都有特定的要求:
- 数据同步解决方案应该在源是 TiDB、HDFS,目标是亚马逊云科技 S3 的上下文中工作;
- 需要数据完整性检查机制,确保数据得到一致同步。
表 1 描述了满足每个子场景的特定要求的具体的解决方案。
表 1:云上云下数据同步解决方案设计
具体要求 | |||
---|---|---|---|
数据同步解决方案在一端是 TiDB、HDFS、另一端是亚马逊云科技 S3 的环境下工作 | 数据完整性检查 | ||
子场景 | 存量数据从本地同步到亚马逊云科技 Region | TiDB Dumpling 将数据从 TiDB 同步到亚马逊云科技 S3 亚马逊云科技 DataSync 将数据从本地 HDFS 同步到亚马逊云科技 S3 | 自主研发的数据完整性检查 亚马逊云科技 DataSync 执行完整性检查以确保写入目标的数据与从源读取的数据匹配 |
增量数据从本地到亚马逊云科技区域 Region | TiDB Dumpling(带有 ETL 逻辑)/TiDB CDC Connector 从 TiDB 到亚马逊云科技 S3 亚马逊云科技 DataSync 将数据从本地 HDFS 同步到亚马逊云科技 S3 | 自主研发的数据完整性检查 亚马逊云科技 DataSync 执行完整性检查以确保写入目标的数据与从源读取的数据匹配 | |
将数据从亚马逊云科技区域反向同步到本地 | EMR |