2024年8月25日,PowerData 技术社区以“数字经济-城市开源行”为主题技术沙龙将在杭州 NineData 公司成举办,本次活动由 SelectDB、NineData、字节跳动ByConity、阿里云 Flink CDC 等联合主办。NineData 高级架构师周金义发表了《NineData面向Doris实时数据仓库的应用》的主题演讲。
图丨NineData 高级架构师周金义现场演讲
图丨NineData 活动现场
以下内容,来自于周金义在 PowerData 城市开源行·杭州站的公开分享整理:
1
主题:面向Drios实时数据仓库的应用
今天我的演讲主要就是介绍,NineData 面向 Drios实时数据仓库的应用,展示如何通过 NineData 的强大功能,实现Doris数据仓库的实时数据管理、高效数据迁移、灵活的数据同步等最佳实践。
2
多云管理的现状?
解决:为解决这些问题,平台不仅需要具备统一纳管和高效运维的能力,还要有多云多源管理、云网一体和云原生的能力。符合成本、安全和合规要求的同时,以帮助企业实现数字化转型。
3
NienData的能力?
数据对比:支持多源多环境之间的全量、增量数据对比,保障数据在流动过程中的一致性,提高数据质量。
4
NineData 多云多源数据复制
现状:数据复制的主要场景包括同构及异构数据源之间、同厂商或不同厂商之间、同境或者跨境的数据流动。
挑战:多数据源导致权限、管理版本、数据结构和类型转换等容易出错;多厂商互通困难,上云容易下云难;长地域长周期的复制链路涉及网络问题,保证长期稳定的复制链路较困难;数据一致性需要保障,源端和目标端数据同时写入时可能出现异常或冲突。
4.2.1 支持多种数据同步
支持 OLTP 到 OLAP、消息队列、搜索引擎等之间的离线、实时数据同步,基于日志解析实现准实时的数据同步,帮助企业进行数据迁移、容灾、多活等架构,还能将数据集中并同步到数据仓库或进行数据湖的集成。
4.2.2 核心模块
复制模块包括控制台 Console 模块、预检查、结构复制、全量初始化、增量 CDC、消息队列、增量写入等模块,以及性能采集、断点续传、异常可视化处理和数据对比模块。
4.2.3 数据复制的能力和优势
预检查模块:对源端和目标端的数据实例进行联通性、配置和权限检查,检查不通过会暴露异常并提供修复建议,预检查通过可保障后续链路创建的稳定性。
结构同步:包含同构和异构转换,如用 PostgreSQL 同步到 Doris 时会自适应进行结构转换,包括库表列映射等智能化处理,无需用户干预。
全量数据同步:利用智能分片、数据转换和断点续传等保证同步性能,实现表内表级别、并发和行级并发的技术,以实现全量高效同步。
增量同步:对全类型操作包括 DDL 和 DML 进行支持,通过事务级并发和热点合并保证增量复制性能。
成熟的异常处理:可干预、可视化,在全链路监控和实时告警上支持用户自定义操作,出现异常时有多种修复策略,如改写 SQL、跳过或重试错误。
最终,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 复制配置
7
未来展望
近日,3A游戏大作《黑神话·悟空》游戏超级爆火,NineData 的未来展望也是实现 3A,即 Anywhere、Anydata、Anytime。具体来说,支持任何云厂商、任何网络(包括 VPC 网络和其他网络)和任何地域的数据流通,不存在阻碍;支持 MySQL 生态、Doris、Oracle、PG、NoSQL 等目前主流的数据库,并不断增加对国产数据库的支持;默认采用 SaaS 模式,通过 SaaS 服务能快速建立复制任务,实现实时数据同步。