NineData面向Doris实时数据仓库的应用,高效管理让数据仓库更智能!

2024年8月25日,PowerData 技术社区以“数字经济-城市开源行”为主题技术沙龙将在杭州 NineData 公司成举办,本次活动由 SelectDB、NineData、字节跳动ByConity、阿里云 Flink CDC 等联合主办NineData 高级架构师周金义发表了NineData面向Doris实时数据仓库的应用》的主题演讲

图丨NineData 高级架构师周金义演讲

图丨NineData 活动现场

以下内容,来自于周金义在 PowerData 城市开源行·杭州站的公开分享整理:

获取完整PPT资料,公众号后台回复PowerData

1

主题:面向Drios实时数据仓库的应用

今天我的演讲主要就是介绍,NineData 面向 Drios实时数据仓库的应用,展示如何通过 NineData 的强大功能,实现Doris数据仓库的实时数据管理、高效数据迁移、灵活的数据同步等最佳实践。

 

2

多云管理的现状?

背景:在行业分析报告中,80% 以上的企业选择多云或混合云,超过 70% 的企业使用多种数据库,多元多源架构已成为企业数字化转型的主流趋势和基础设施
挑战多云多源架构下,会面临运营复杂、数据孤岛、开发效率低等挑战,具体包括厂商多、场景多、迁移改造难、服务保障难等。

解决:为解决这些问题,平台不仅需要具备统一纳管和高效运维的能力,还要有多云多源管理、云网一体和云原生的能力。符合成本、安全和合规要求的同时,以帮助企业实现数字化转型。

3

NienData的能力?

NineData 平台具有支持多云混合云纳管和数据库 DevOps 能力、高效安全稳定的数据复制能力、数据备份和在线实时查询能力以及多源多环境之间的全量、增量数据对比能力,帮助企业提升数据生产力
数据复制支持高效安全稳定的数据复制,实现多云混合云的数据间联动,促进数据流动,解决数据孤岛问题,提高企业数据质量。
数据库 DevOps 支持多云混合云纳管和数据库 DevOps 能力,实现数据库的设计开发、流程管理等完整生命周期的处理,提高企业数据开发效率和数据安全保障。
数据备份支持数据备份和在线实时数据查询,提高备份数据的价值,保护数据资产。

数据对比支持多源多环境之间的全量、增量数据对比,保障数据在流动过程中的一致性,提高数据质量。

通过下面架构图可以更清晰地了解 NineData 能力在多云、混合云以及多源的环境下,NineData 的数据复制功能可实现不同云厂商或 IDC 之间的数据流动,数据对比功能保障数据在复制流动中的一致性,数据库DevOps 可提供数据库设计、开发和管理等服务,数据备份恢复可保证数据安全。

4

NineData 多云多源数据复制

4.1 现状与挑战

现状:数据复制的主要场景包括同构及异构数据源之间、同厂商或不同厂商之间、同境或者跨境的数据流动。

挑战:多数据源导致权限、管理版本、数据结构和类型转换等容易出错;多厂商互通困难,上云容易下云难;长地域长周期的复制链路涉及网络问题,保证长期稳定的复制链路较困难;数据一致性需要保障,源端和目标端数据同时写入时可能出现异常或冲突。

4.2 NineData 数据复制

4.2.1 支持多种数据同步

支持 OLTP 到 OLAP、消息队列、搜索引擎等之间的离线、实时数据同步,基于日志解析实现准实时的数据同步,帮助企业进行数据迁移、容灾、多活等架构,还能将数据集中并同步到数据仓库或进行数据湖的集成。

4.2.2 核心模块

复制模块包括控制台 Console 模块、预检查、结构复制、全量初始化、增量 CDC、消息队列、增量写入等模块,以及性能采集、断点续传、异常可视化处理和数据对比模块。

4.2.3 数据复制的能力和优势

  • 预检查模块:对源端和目标端的数据实例进行联通性、配置和权限检查,检查不通过会暴露异常并提供修复建议,预检查通过可保障后续链路创建的稳定性。

  • 结构同步:包含同构和异构转换,如用 PostgreSQL 同步到 Doris 时会自适应进行结构转换,包括库表列映射等智能化处理,无需用户干预。

  • 全量数据同步:利用智能分片、数据转换和断点续传等保证同步性能,实现表内表级别、并发和行级并发的技术,以实现全量高效同步。

  • 增量同步:对全类型操作包括 DDL 和 DML 进行支持,通过事务级并发和热点合并保证增量复制性能。

  • 成熟的异常处理:可干预、可视化,在全链路监控和实时告警上支持用户自定义操作,出现异常时有多种修复策略,如改写 SQL、跳过或重试错误。

在这种技术上,NineData 实现了 60 个以上的单双向复制链路,增量期间性能达 10 万+ RPS,通过数据对比保证源端和目标端数据质量,可观测可干预手段便于运维人员进行运维工作。

最终,NineData 可以实现 TP 到 AP 的数据流动,包括到实时分析系统、Doris、数据湖或数据仓库等不同数据库的数据流动;TP 跟 TP 之间可以实现双向复制,可用于双活、灾备或异地多中心等架构;TP 到消息系统可直接将数据同步到 Kafka,用户可自定义处理 Kafka 消息用于下游业务。

5

NineData 与 Doris 的应用

重点围绕 NineData 在 Doris 数据集成上的实践,包括自适应的结构迁移、高性能的全量迁移、低延迟的实时增量复制、完善的对比策略和观测干预的能力。

5.1 自适应的结构迁移

创建任务时,如 PostgreSQL 到 Doris 的链路,可进行分布式键的自适应选择,按照主键、唯一键自动填充,还包括对象类型转换、库表列映射和过滤能力。通过配置映射和数据过滤条件可实现简单的 ETL 能力,用户全程无需干预,实现自适应结构迁移。

5.2 高性能的全量迁移

利用单表或行级的并发技术、智能分片和批量提交的合并技术,根据表的唯一键、主键和非空索引顺序进行切片,保证切片的力度,并支持断点续传。在全量期间进行性能测试,在应用层面有 30 个并发且源端和目标端数据库无瓶颈的情况下,全量性能可达 209 兆每秒。同时,为避免对源库或目标库造成过大压力,提供了限流功能,确保数据库在全量复制时的稳定。

5.3 低延迟的实时增量复制

利用唯一键和时间维度进行提交合并,源端数据通过 streamload 导入目标 Doris,支持增量断点续传和限流。在源和目标实例无瓶颈的情况下,实时增量性能达到 88 万的 RPS。在增量期间,有自定义同步操作类型的小功能,可根据业务需求选择是否同步某些操作,如不想将 DELETE 语句同步到目标实例,可勾选掉该语句。

5.4 完善的对比策略

数据对比能保证数据在复制流动中的一致性,性能优化后对比性能达 100 万 RPS。多策略对比方式包括全量对比、增量抽样对比和不一致数据修复对比,如通过对比发现数据不一致,可展示不一致的订正 SQL 并在目标端执行,确保源端和目标端数据一致。

5.5 观测干预的能力

在复制链路每个阶段记录日志,可实现监控每秒钟的 RPS 性能指标以及累计操作的 DDL、DML 数量。异常处理能力支持 SQL 级别的修复,用户可自行修复错误,避免任务重新配置对源库和目标库造成影响。多渠道告警可根据任务状态设置告警策略,及时发现和处理问题。

6

NineData 复制配置

进入 NineData 控制台后,在录入数据源(如源端和目标端)后,一分钟不到就可以完成到 Doris 的同步配置。增量期间 DDL、DML 操作可自动同步到目标,源端任何操作的增量都会同步。

7

未来展望

近日,3A游戏大作《黑神话·悟空》游戏超级爆火,NineData 的未来展望也是实现 3A,即 Anywhere、Anydata、Anytime。具体来说,支持任何云厂商、任何网络(包括 VPC 网络和其他网络)和任何地域的数据流通,不存在阻碍;支持 MySQL 生态、Doris、Oracle、PG、NoSQL 等目前主流的数据库,并不断增加对国产数据库的支持;默认采用 SaaS 模式,通过 SaaS 服务能快速建立复制任务,实现实时数据同步。