余莎莎 李汉民 肖 辉
(武汉大学中南医院信息中心 武汉 430071)
自2018年医院信息系统(Hospital Information System,HIS)升级上线以来,随着电子病历系统(Electronic Medical Record,EMR)功能陆续完善,以及互联网医院的发展,HIS、EMR数据负载日益增大,对临床数据中心数据库安全性与时效性提出更高要求。为进一步增强全院核心系统数据安全性,尽量保证核心业务系统数据不丢失,提高服务器运行速度,加快临床数据中心业务分析效率,武汉大学中南医院对医院信息系统基础架构进行改造,使其安全性、系统性能都得到明显提升。
多院区互联互通需构建一个以数据为中心的信息集成平台,除了需要统一基础字典、数据平台,还需要可以支撑再造业务流程的平台,以实现未来多院区之间的互联互通,完成数据中心平台的建设。近年来,在医疗行业出现不少数据勒索与丢失的案例,随着互联网的发展,对医疗健康数据的重要性、安全性也提出更高要求。因此,需要寻找一种数据保护技术,一方面实现对数据库服务器影响最小化,另一方面尽量消除数据丢失风险,争取实现亚秒级恢复点目标(Recovery Point Object,RPO),甚至使RPO为0[1]。
目前武汉大学中南医院HIS、EMR等核心信息系统都运行在Oracle数据库环境,该数据库运行平台由两台小型机和两台日立高端存储组成。这种模式采用性能稳定、安全性高的磁盘阵列。架构优点是全冗余连接,无任何单点故障[2-3],镜像的存储节点为系统重要的在线业务数据提供双重保护[4]。虽然近年来运行比较稳定,但其系统架构是典型的“烟囱式”建设模式,随着业务量快速增长,系统可扩展性、可维护性、可靠性不高。通过对HIS及EMR系统数据库进行分析,发现医院的数据库物理I/O消耗比较高,一些大表存在全表扫描情况,消耗数据库资源。综合考虑,核心数据库平台改造势在必行。
现代医院数据中心核心数据库建设策略包括消除复杂性和不确定性,代之以更高的业务敏捷性、更低的管理成本和更优的性能。包括对硬件、业务管理软件和全面技术体系的解决方案,以顺利完成数据中心变迁。
3.2.1 自建云平台和数据备份方案 以Oracle数据库为核心的数据平台建设模式有很多种[5],武汉大学中南医院的建设模式是典型的传统架构。在系统规划期间,首先分别就服务器选型、配置、高可用设计、线路规划、存储选型、容量设计、独立磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID)实现等一系列工作进行准备,然后分别执行安装操作系统、打补丁、安装存储管理软件、集群软件、划分文件系统、安装数据库软件等操作,最后进行集成联调测试、性能联调等准备工作,才能达到上线基本要求[6]。这种建设模式需要从多个厂商/供应商分别采购软、硬件设备,全部到齐后需要一支经验丰富的信息技术(Information Technology,IT)团队协作部署数据库平台,耗费较长时间才能构建一套可用的数据库系统。而且该方案是通用设计,未针对Oracle数据库设计开发,不能满足医院对Oracle数据库数据保护及性能的严苛要求,难以实现安全保护。
3.2.2 一体化数据库云平台及零数据丢失方案 该方案生产环境采用数据库原厂的数据库云一体机,并通过数据库多租户的特性来对数据库进行整合,形成数据库即服务(Database as a Service,DBaaS)的云服务。同时数据库云服务提供Oracle容器数据库克隆、快照相关技术,可以快速实现新业务的开发、测试、上线、交付一体化。数据备份采用原厂的数据集中零丢失,可恢复的备份解决方案。相对于传统备份模式,该方案有以下优势:零数据丢失;对生产环境影响最小;自验证保证备份集的可用性;一次全量,永久增量。
3.2.3 两种方案对比(表1)
表1 两种建设方案对比
续表1
医院新的数据中心建设初衷及原则是高性能、高可靠、高安全、零丢失、可恢复、易管理、简单、绿色、低成本、云化(前瞻性、先进性)。基于医院信息系统的特点,最终选择将数据库部署在Oracle数据库原厂的数据云一体机上,构建安全、高效的数据加工层,而核心数据备份在数据零丢失备份恢复一体机上,构建零数据丢失的数据保护层,这样就形成医院现代化数据中心,同时结合医院已经建设的Oracle数据库企业版动态数据卫士(Active Data Guard,ADG)功能以及多租户DBaaS,构建数据零丢失、可恢复的数据库云平台。
通过Oracle Exadata构建安全、高效的私有数据库平台即服务(Platform as a Service,PaaS)云平台,而核心数据库备份在Oracle 零数据丢失恢复一体机上[7],构建零数据丢失的备份云平台。该平台实现独特的数据库网络资源管理,确保报告、批处理和备份等网络密集型负载不会影响对响应时间敏感的交互式负载。系统架构,见图1。
图1 系统平台架构
云平台所有设备采用完全冗余硬件配置。Oracle真正应用集群技术(Real Application Cluster,RAC)保护数据库服务器免受故障影响。Oracle自动存储管理技术(Automatic Storage Management,ASM)通过数据镜像防范磁盘或存储服务器故障。Oracle恢复管理器(Recovery Manager,RMAN)[8]以极快速度高效地将数据备份到磁盘或磁带。Oracle 闪回技术支持在数据库级、表级甚至行级回退用户错误。结合使用 Oracle数据卫士(Data Guard,DG)[9-10],可以在最高可用性架构下配置第2个数据库云平台一体机,远程站点透明地维护数据库实时副本,从而针对主数据库故障和站点灾难提供全面保护,构成医院数据中心最核心的数据加工层。
4.2.1 初始安装 由于Exadata的零数据丢失恢复是一体机设计,所有硬件已经预置在相应机架之中,并以整体方式送至用户现场,且核心软件已经预安装在设备中,所以实施工作并不复杂,根据用户现场情况进行配置。
4.2.2 数据迁移至Exadata数据库云平台 医院原有数据库安装在Solaris平台上,本次跨Solaris平台到X86平台的数据迁移选择采用Oracle Golden Gate(OGG)方式进行。Oracle Golden Gate软件是一种基于日志的结构化数据复制软件,通过解析源数据库在线日志或归档日志获得数据的增、删、改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。Oracle Golden Gate可以在异构信息系统基础结构之间实现大量数据亚秒级捕捉、转换和投递。具体计划,见表2。
表2 数据迁移计划
4.3.1 试运行中Exadata的意外重启 Exadata零数据丢失恢复一体机完成安装后,在进行数据库承载平台验证性测试中,于2020年12月13日下午5点意外重启。通过Oracle支持网站提交服务请求,并按照要求上传日志和命令,后台迅速找到问题原因:内存用竭导致系统重启。经检查发现新发布的补丁没有安装,补丁安装后问题解决。
4.3.2 数据平台持续优化 数据库迁移后在性能、可用性、安全性、管理便捷性方面都有所提升,笔者长时间追踪数据库及应用系统性能表现,并结合数据库自动工作负载库报告(Automatic Workload Repository,AWR)来分析系统实时的性能表现。持续优化1:通过数据库AWR发现在业务高峰期数据库每秒硬解析200~300条,其原因可能是应用开发过程中没有使用绑定变量,建议修改程序采用绑定变量形式传入变量值以缓解硬解析带来的性能问题。持续优化2:数据库AWR报告显示Parse CPU to Parse Elapsd %: 55%,命中率较低,软解析每秒2 200条。为提高命中率,将session_cached_cursors的大小从50调整为300。该参数的调整需要重启数据库,在下一次的高峰中发现命中率得到有效提高。持续优化3:系统开发中采用数据库的分区表技术,多数表按年分区,导致查询过程中多以年为扫描范围进行检索,增大了扫描过程数据结果集,经沟通,在新的年份创建表时,将提高整体细粒度,由年细化至月,从而缩小查询检索结果集的范围;另一方面,结合医疗数据量大,且医疗历史数据更新不频繁,尝试对历史分区进行压缩,既能提高空间使用率,又能通过压缩的方式进一步提升查询效率;此外,很多分区表建立的索引为全局索引,将逐步修改为分区索引,以从索引的角度出发来提高查询效率。
4.3.3 经验总结 一是安装设备时,尽可能保持设备以及数据库软件补丁集已更新到最新。Oracle补丁集是对已知bug的修复,如果不及时打补丁,将会对系统的稳定运行造成不可预知的干扰。二是使用或者测试过程中,保持资源有一定的余量,特别是内存资源,使系统能够持续健康地运行。以上仅记录了在上线后一段时间内进行的优化,随着业务的不断发展,数据库云平台将持续进行优化,为医患提供更加良好的数字化体验。
4.4.1 实现资产统一管理 随着大数据时代的到来,属于资产的不仅仅是实际物理设备,数据逐渐成为更加重要的无形资产。通过本次数据云平台的建设,不仅对云平台硬件进行监控,还实现数据全生命周期管理,从计划、安装、搭建、测试、部署到监控、管理、计量计费和优化等。
4.4.2 实现数据中心DBaaS平台构建 通过本次武汉大学中南医院数据库云平台即医院DBaaS云平台的建设,信息中心有能力为从应用到数据库的CPU、网络和存储提供独特的端到端优先级排序。不同科室、应用系统用户可以在数据库、连接、应用、用户甚至作业层面指定优先级和资源限制,确保各个整合数据库或 SQL操作均可获得必要的资源,并达到目标响应时间要求。
4.4.3 实现数据安全防护 通过本次数据库云平台的建设,实现了针对所有故障类型提供全方位防护,包括针对磁盘、服务器和网络的简单故障以及复杂的站点故障和人为错误。同时本次建设规划实现了完全消除数据丢失风险、大幅降低数据保护给生产服务器带来的开销,还能够持续验证数据的完整性和可恢复性。
本文介绍了零数据丢失的数据库云平台前期准备工作、各种升级方法优劣的比较、选型及搭建、调优工作。数据库云平台的搭建非常复杂,必须在事前做好规划、事中做好控制、事后做好验证,并且要保证系统的良好体验,还需要不断对系统进行调优、改造。希望本文的实践过程能够为数据管理工作者带来一些帮助,在确保关键业务7×24小时不间断的同时,建设一套数据零丢失、可恢复的数据库云平台,以提高医院信息系统的安全性,从而增加患者和医护人员的满意度和医院竞争力。
•医学信息资源管理与利用•