0
0
0
0
博客/.../

从 MySQL + Doris 到 TiDB:省级疾控中心实现 8000 万接种数据实时查

 TiDB官方  发表于  2025-10-21

引言

西安卫思时代将 MySQL + Doris 架构升级到 TiDB,成功赋能省级疾控中心的全链路业务,实现了数据效能的显著提升。本文基于TiDB 社区活动(西安站),现场演讲内容整理而成,旨在深入剖析卫思时代在公共卫生信息化领域的实践经验,为更多面临相似数据挑战的医疗疾控机构提供有价值的参考。

作者:西安卫思时代技术负责人康哲

西安卫思时代信息技术有限公司(下称“卫思时代”)自 2010 年成立以来,始终致力于公共卫生领域的信息化建设,为各级卫健委、疾控中心及医疗机构提供卓越的产品与技术服务。公司自主研发的软件产品矩阵十分丰富,涵盖了“预防接种信息管理系统”、“智慧预防接种门诊系统”、“免疫规划信息管理系统”以及“疫苗追溯与冷链监测系统”等多个核心业务系统。这些系统已在全国近 600 家医疗机构成功上线,并与各地市的“全民健康信息大平台”实现数据对接,成为推动基层卫生信息化建设、守护人民健康的重要力量。

随着业务的不断深化,卫思时代承载的省级疾控中心核心数据平台,面临的数据压力与日俱增。原有的技术架构主要采用 MySQL 负责在线交易处理(OLTP),再通过 Flink-CDC 将数据同步至 Doris 进行分析处理(OLAP)。这套架构在业务初期尚能应对,但随着数据体量的爆炸式增长和业务对实时性要求的不断提高,其性能瓶颈、运维复杂性等问题逐渐凸显,亟需一次彻底的技术革新。

疾控领域的“海量”与“实时”双重考验

省级疾病预防控制中心(CDC)的业务场景复杂多样,其数据流程紧密围绕着疾病防控、公共卫生监测和应急响应三大核心职能展开。这决定了其数据平台必须同时应对“海量数据”和“实时分析”的双重考验。

  • 疫苗追溯的全链路海量数据:系统需要实现从疫苗生产企业到最终接种点的全链条追溯。陕西省年采购疫苗超过 3,000 万剂次,每一支疫苗的最小包装都需要记录其出入库、运输过程中的温湿度、以及最终的接种对象等详细信息。仅冷链运输环节,每日产生的数据就高达约 10 万条。
  • 惊人的接种记录总量:根据统计,仅在 2021 年至 2024 年间,全省适龄儿童的国家免疫规划疫苗累计接种量就已高达 2,855.7 万剂次。如果再加上成人接种、流感疫苗、HPV 疫苗乃至新冠疫苗等,总的接种记录数轻松突破 8,000 万条。
  • 结构化与非结构化数据并存的庞大规模:在数据构成上,核心的接种记录、疫苗追溯等结构化数据约占总存储量的 60%,按每条记录 1KB 估算,8,000 万条记录的数据量就达到了约 8TB。而疫苗包装图片、冷链监控的视频影像、电子接种证 PDF 文件等非结构化数据的存储需求更为庞大,约为结构化数据的 2-3 倍,总规模可达 24-32 TB。

省级疾病预防控制中心(CDC)的业务场景

面对如此庞大的数据体量和复杂的业务需求,原有的 MySQL + Doris 分离式架构遇到了四大核心挑战:

  1. 大数据量下的读写性能瓶颈:接种高峰期通常集中在周末,大量的家长会选择在此时带孩子接种疫苗。一个中等规模的接种门诊,单日接种量就可能超过一千剂次,全省上千个接种门诊并发写入,给 MySQL 主库带来了巨大的写入压力。同时,各类报表查询和数据分析需求,也让读库不堪重负。
  2. 无法满足的实时数据分析效率:按照要求,省级疾控的数据需每日与国家疾控中心进行数据交换和上报,对数据分析的实时性要求极高。在原有架构下,数据从 MySQL 写入,经由 Flink-CDC 进行ETL处理,再流入 Doris 集群,整个链路存在分钟级的延迟,无法满足业务对“秒级”实时分析的需求。
  3. 数据可信度与一致性难题:数据在多个系统(冷链、追溯、接口等)和多个组件(MySQL、Flink、Doris)之间流转,链路过长且复杂。任何一个环节出现问题,都可能导致数据同步的延迟、丢失或不一致,从而影响数据分析结果的准确性和可信度,给决策带来风险。
  4. 高昂的技术成本与运维复杂度:维护 MySQL 和 Doris 两套独立的、技术栈迥异的分布式系统,需要团队同时具备两种技术的深入知识。无论是故障排查、性能优化还是日常运维,都极为复杂,不仅增加了技术成本,也牵扯了团队大量精力。

选择 TiDB,一站式解决当前业务瓶颈

面对性能、架构和运维的多重挑战,卫思时代选择 TiDB 作为破局的关键。TiDB 凭借其领先的技术架构和产品特性,精准地解决了原有系统面临的痛点。

  1. 一站式 HTAP,极大简化架构:TiDB 最核心的价值在于其一站式混合事务和分析处理能力 。它能在一个平台内,通过行存引擎和列存引擎的智能协作,同时满足高并发的在线交易(OLTP)和复杂的实时分析(OLAP)需求 。这意味着卫思时代不再需要维护 MySQL 和 Doris 两套独立的系统,彻底告别了过去“交易入 MySQL、ETL 进 Doris、再去 Doris 分析”的复杂链路 。对于开发者而言,他们无需再关心底层是 TP 还是 AP,只需像使用单一数据库一样,即可满足所有业务需求,大大降低了开发和维护的复杂度 。

  2. 最佳实践解决性能瓶颈:TiDB 的 OLTP+OLAP架构从根本上解决了性能问题 。一个典型的例子是疫苗追溯场景,追溯码的查询可能会涉及五年前甚至更早的数据,这些数据并非“冷数据”,业务上需要频繁进行全量扫描 。在以往的 Doris 中,不仅需要维护复杂的 ETL 数据同步链路,这类跨度极大的分析查询 SQL 往往非常复杂且性能不佳。而升级到 TiDB 后,这类查询可以被智能地路由到 TiFlash 列存引擎上执行,TiFlash 会启用其核心的 MPP(大规模并行处理)计算模式,它会进行任务分解与下推,将一个复杂的分析任务,智能地分解成多个计算子任务,这些子任务被“下推”到集群中所有的 TiFlash 节点,每个节点仅处理其中一部分数据,实现真正的大规模并行计算,从而轻松实现了毫秒级的响应,彻底解决了性能瓶颈 。

    1. 任务分解与下推:它会将一个复杂的分析任务,智能地分解成多个计算子任务。
    2. 并行计算:这些子任务被“下推”到集群中所有的 TiFlash 节点,每个节点仅处理其中一部分数据,实现真正的大规模并行计算。
  3. 经过验证的卓越稳定性:对于疾控这类核心业务系统,稳定性是压倒一切的前提 。在正式上线前,卫思时代对 TiDB 集群进行了长达半个月的高强度压力测试 。测试结果显示,集群在整个测试期间表现得极其稳定,没有出现过任何一次故障或性能抖动,充分证明了其在生产环境中稳定运行的能力 。

  4. 对 MySQL 协议的极佳兼容性与易用性:迁移成本是架构升级时必须考虑的重要因素。TiDB 高度兼容 MySQL 协议,使得迁移过程非常平滑,几乎是无感的 。业务代码基本无需修改,仅需对个别数据类型(如浮点型 decimal 的精度问题)和少数时间函数、多层嵌套子查询进行微调即可 。这种极低的迁移成本,使得整个架构升级过程得以高效、顺畅地完成 。

战略性考量,看中 TiDB 的长期价值与未来前景

除了解决眼下的技术难题,选择 TiDB 更是卫思时代基于长远发展做出的一项战略性决策。它不仅满足了当下的政策要求,更为未来的业务扩展和数据价值挖掘预留了广阔的空间。

  1. 满足国产化战略要求:在当前的政策导向下,数据库、操作系统、中间件等核心信息技术的国产化是公共卫生、政务等关键领域信息化建设的硬性要求,也是保障数据安全的重要前提 。选择 TiDB,完全符合这一重要的战略考量 。
  2. 弹性扩容能力,从容应对未来的数据增长:公共卫生领域的数据增长往往具有不可预测的突发性 。回顾 2020 至 2022 年的疫情期间,疫苗接种和冷链传输的数据量都经历了“非常非常恐怖”的爆炸式增长 。TiDB 的分布式架构具备在线弹性扩缩容的能力,当未来再次面临类似的数据洪峰时,只需简单地增加节点即可线性提升系统的处理能力和存储容量,为应对未知的公共卫生突发事件提供了坚实的技术保障和长期的收益 。
  3. 强大的应用生态,支撑未来数据中台建设:TiDB 拥有一个日益完善且强大的生态系统,包括数据同步工具 TiCDC、大数据分析组件 TiSpark 等 。这些工具为卫思时代规划的下一步——构建疾控领域的数据中台,提供了强有力的技术支撑 。通过 TiCDC 可以构建实时数据流,为下游应用提供服务;而 TiSpark 则能与现有大数据生态无缝集成,释放更大的数据价值。这使得 TiDB 不仅仅是一个数据库,更是一个面向未来的数据服务平台 。

规划与展望:TiDB 在疾控领域的应用蓝图

基于前期的充分测试与评估,卫思时代为省级免疫规划信息管理系统规划了全新的、基于 TiDB 的部署方案。该方案旨在稳定支撑当前超过 10 亿的核心业务数据,并满足每日 20 万条以上的业务增量数据需求。

通过此次从 MySQL + Doris 到 TiDB 的架构升级,卫思时代不仅成功解决了当前业务面临的性能、实时性与运维难题,更是为省级疾控中心构建了一个稳定、高效、可扩展的现代化 HTAP 数据基础平台。这不仅是 TiDB 在医疗疾控这一关键领域价值的一次成功实践,也为整个公共卫生行业在数字化转型浪潮中,如何构建强大的数据底座,提供了宝贵的、可供借鉴的范例。

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论