StarRocks在医院数据平台的应用探讨

陈旺

长沙市中医医院(长沙市第八医院) 410100

摘要: 摘要:随着医疗大数据平台从离线批处理往实时分析的方向走,对于多源异构数据的实时采集、数据更新及秒级查询响应等方面,传统数据仓库是无法做到的。本文把StarRocks这款高性能分析数据库作为研究对象,系统地探讨了它在医院数据平台里的应用价值和落地路径。...
  • DOI:

    10.13738/j.cnki.acc.qklw60536

  • 专辑:

    科学Ⅰ辑;信息科技

  • 专题:

    信息、科学;综合科技

  • 分类号:

    G90;N92

摘要:随着医疗大数据平台从离线批处理往实时分析的方向走,对于多源异构数据的实时采集、数据更新及秒级查询响应等方面,传统数据仓库是无法做到的。本文把StarRocks这款高性能分析数据库作为研究对象,系统地探讨了它在医院数据平台里的应用价值和落地路径。研究从技术架构的视角出发,分析了 StarRocks的MPP并行处理引擎、主键表的实时更新机制,还有湖仓一体的查询加速能力,梳理出了它在多源数据实时采集、近实时分析以及统一查询服务中的实践模式。。研究表明,StarRocks给医院数据平台提供了一条能把实时性和治理能力结合起来的可行技术路线,它的应用效果好不好,取决于跟医院数据治理的成熟度及团队能力之间的深度匹配。

关键词:StarRocks;医院数据平台;近实时分析;数据采集;湖仓一体

引言

医院的信息化建设持续了很多年,积累的数据已经堆积如山。正常情况下,一家大型三甲医院一年产生的业务数据至少PB级别,数据来源分布在各个业务系统。但是,不同的业务系统对应的数据库不一样,数据格式也各不相同,且业务数据都是独立的,这就形成了典型的数据孤岛。以前以HDFS+HIVE为架构的数据仓库,只能按天去同步数据,构建对应的T+1报表,如果有业务部门提出近实时相关的新需求,目前这套架构是满足不了的。

在这样的背景下,医院大数据平台开始把各个业务系统的历史数据迁移到数据仓库,在保留离线数仓的同时,也往近实时分析的架构在演进。StarRocks是新一代极速全场景MPP数据库,采用了全面向量化引擎,并配备全新设计的 CBO优化器,能很好地支持实时数据分析,并能实现对实时更新数据的高效查询,因此已成为越来越多医院数据平台中的核心引擎。本文会从技术架构、应用场景和落地挑战这三个方面,把StarRocks在医院数据平台里的应用价值和实际落地进行系统的讨论。

1 StarRocks的核心技术架构

1.1 MPP架构与向量化执行引擎

StarRocks 是大规模并行处理的架构。在这个架构下,查询请求会被分布式地调度到多个计算节点上并行去执行,再加上基于成本的优化器和全向量化执行引擎的配合,让它在千万级甚至亿级数据表上跑复杂的多表关联查询时,照样能把响应时间压到秒级。

这种能力放到医疗场景里,能带来的价值是实打实的。研究者不用再提前去建宽表或者物化视图,直接就能对跨域的数据做即时的关联分析,比方说,把几百万条门诊记录跟上千万条的检验结果做多表关联,筛出符合特定入组条件的患者队列,整个过程在几秒钟之内就能跑完。极大的提升了以前那种先提需求、过几周拿数据的效率。

1.2 主键表:高频更新的原生支持

传统的分析型数据库在数据更新上,短板其实是很明显的,多数的OLAP引擎只支持批量追加或者覆盖,碰到高频更新的需求,需要消耗大量的硬件资源,效果还不好。但医疗数据偏偏就需要频繁地变来变去,像患者的各个诊断修改、检验结果的修正、相关医嘱的调整,都要求分析系统能实时更新展现。

StarRocks的主键表可以支撑实时数据更新,同时也能保证高效的复杂即席查询性能。通过Flink-CDC等工具对接业务系统的Binlog,实时同步到StarRocks对应的主键表中,可以很好的满足医院人员的实时需求。

1.3 湖仓一体架构下的关联查询

现在,医院数据平台的主流架构正在从单一的数据湖或数据仓库,往湖仓一体这个方向去演进。在这样一套架构里,StarRocks扮演的是统一查询层的角色,它能查的不光是自己存着的数据,还可以通过外部表或者Catalog机制,直接去查询数据湖里的开放格式数据,不用做数据迁移,就能把跨源的数据进行关联查询。

这一特性的价值体现在哪儿呢?医院可以把全量的历史数据,用很低的成本存放在数据湖里,然后把StarRocks当作查询引擎,按需去做加速。这么做可以让历史数据不丢失,又让查询性能有保证,在存算分离的架构下,实现了弹性的扩展。

2 医院数据平台中的经典应用

2.1 多源异构数据的实时采集与汇聚

医院业务非常复杂,少则十几个业务系统,多则几十个业务系统,是数据平台建设一开始就会碰到的最大难题。像 HIS、LIS、PACS、EMR等系统,底下的数据库有 MySQL、Oracle、SQLServer等好几种,数据的格式和编码标准也各不一样。

StarRocks 的解决办法,是通过对接Flink-CDC等工具,来实现对业务数据库变更数据的秒级捕获和写入。通过把业务数据实时同步到 StarRocks 里,数据的延迟能控制在秒级,这就撑起了实时报表和大屏展示等业务场景。而在公共卫生应急的场景里头,这种实时的采集能力,也同样是支撑检测结果实时统计和可视化展示的关键一环。

2.2 数据中台中的湖仓一体实践

某医院设计的湖仓一体数据中台,可以说是StarRocks在医疗领域里一个很典型的应用。这个平台用的是Paimon数据湖存储技术,再搭配上StarRocks数据库引擎,能给用户提供高吞吐、低延迟的数据摄入和实时查询的功能,同时也高效地撑住了大数据量级下的多维分析、实时分析等多种不同的场景。

这套架构最核心的价值在于,业务数据是以开放格式直接存放在数据湖里,不不需要对数据进行预处理,数据湖中的数据结构与业务数据保持一致。而StarRocks作为查询引擎,会先创建Paimon外表,放到物化视图里以后,这些数据会使用StarRocks的存储格式,就可以用到StarRocks内部的索引优化、CBO优化等,通过存储和查询引擎相结合的方式,来实现低延迟的关联查询。同时为上层架构提供统一的数据底座。

2.3 专病数据平台的分层治理

通过StarRocks去搭建一套贴源层、明细层、汇总层、应用层的四级数据库体系,通过分层可以进行多源异构数据的汇聚、清洗和标准化。StarRocks在这里面不光是承担了各层之间数据流转的加速任务,更关键的是靠着它那种近实时的查询响应,撑起了研究者的队列检索需求,使响应时间得到了大幅的缩短。

2.4 智慧病房与实时监测

在智慧病房这个场景里面,StarRocks 是被拿来搭建患者体征监测和预警系统。系统会实时地去抓取并更新患者的生命体征数据,一旦有异常的指标出来,就能很快地发出预警,这给临床决策提供了一个很及时的依据。这种应用,对数据写入的实时性和查询的低延迟要求很高,通过StarRocks的主键表及MPP查询引擎,就可以撑起这个场景。

3 结语

医院数据平台正经历从传统离线数仓向近实时平台的关键转型。这一演进主要源于医院运营管理和临床应用对数据低延迟的迫切需求。在此背景下,StarRocks凭借其秒级查询响应能力、主键表实时更新,以及湖仓一体架构下统一查询的独特优势,为医院构建实时数据底座提供了一条技术上可行且清晰的路径。将StarRocks与医院数据治理的成熟度、业务需求的优先级以及团队专业能力进行深度匹配与融合,真正去主动利用数据而不是存数据。展望未来,随着医疗领域大模型应用的持续深入,实时数据平台将成为驱动医院智能化转型的关键基础设施。

参考文献

[1] 嘉和美康. 医院数据中台应用建设——湖仓一体架构实践[EB/OL]. 2024华南医院信息网络大会, 2024.

[2] CloudCanal与StarRocks:医疗大健康实时数仓领域的落地与实践[EB/OL]. 百度开发者中心, 2024.

 



更多
引文网络
  • 参考文献
  • 引证文献
  • 共引文献
  • 同被引文献
  • 二级参考文献
  • 二级引证文献