單紅偉 張小亮 蔡雨蒙 劉 云
(1南京醫科大學醫學信息學與管理研究所 南京 210096 2南京醫科大學第一附屬醫院(江蘇省人民醫院)信息處 南京210029) (南京醫科大學醫學信息學與管理研究所 南京 210096)
醫院信息系統是信息化社會醫院業務的運行支撐,數據庫又是重中之重。醫院信息系統(Hospital Information System,HIS)、檢驗信息系統、影像存儲與傳輸系統等核心業務的架構基本為數據庫-客戶端兩層架構,隨著醫院信息化的快速發展和IT技術在醫療行業的廣泛應用,醫院對信息系統中處于核心地位的數據庫提出更高的可靠性要求。數據庫系統是醫院信息化系統的基礎,包含大量的患者基礎信息和診療信息。當前醫院信息化正在從傳統的面向收費的HIS逐漸向面向醫護服務的臨床一體化系統過渡,從初期的功能性需求到以用戶滿意度為導向的高層次需求過渡。因而,如何保證數據庫系統的安全和穩定,提升醫護人員的用戶體驗度,成為醫院信息化建設的首要任務。且前很多大型三甲醫院的HIS仍在使用DB2數據庫作為核心系統,而業內普遍為,構建數據庫集群架構是目前保證數據庫安全和穩定的主要方式[1-4]。
傳統HIS多采用High Availability Disaster Recovery(HADR)技術實現業務的高可用容災恢復,DB2 HADR是基于日志傳送功能實現的,提供充分的粒度來滿足醫院的高可用性需求,見圖1,可保證業務的高可用性及數據的安全性。但隨著門診量的迅速增長,醫院要求建設新一代HIS滿足業務發展,面臨業務高并發壓力,傳統的數據庫主備架構切換時間較長,發生故障時雖然備用數據庫服務器能夠很快恢復,但是無法支撐全院上千臺終端的并發要求,影響全院整體業務無障礙運行,信息部門承擔大的運維壓力。同時,現有服務器及存儲環境隨著業務增長,核心HIS中的熱點數據要求系統低延時、高IOPS,核心HADR架構的HIS數據庫由于同時只有單個節點在線的天然缺陷,導致數據庫中熱點數據存在讀寫瓶頸,數據庫響應速度無法滿足業務系統的需求。因此醫院進行數據庫系統高可用性能優化迫在眉睫。

圖1 傳統HIS數據庫架構
3.1.1 獨立服務器架構,保證數據庫橫向擴展能力 數據庫的升級不是僅僅通過增加服務器,以空間換時間的方式進行改造,而是需要考慮到橫向擴展的獨立資源方案,這樣既可以避免因性能需求提高導致的成本過度增大,又能夠防止共享存儲帶來的單點故障。
3.1.2 在集群方案中盡量采用簡單方式進行部署 避免增加管理運維成本,管理運維簡單化是大勢所趨,通過提高存儲的在線擴展能力,借助于管理工具進行便捷化管理,提升DBA的管理水平,便于全院信息化的發展。
3.1.3 數據庫的日志和備份管理 與高可用性的目標統一實現,對于關系型數據庫來說,日志管理、數據定期備份是非常重要的環節。通常RTO和RPO是基于日志的保障,日志重要性不言而喻。所以數據庫的高可用性保障,一方面需要提高集群之間服務器自愈性和本身的可靠性,另一方面有效降低醫院業務中部分連續操作和提交數據庫的日志壓力。
3.1.4 采用新型服務器和存儲,保證業務數據安全性 數據庫的升級往往具有一定風險,使用新型服務器和存儲,停用原有的HIS數據庫,將原始數據遷移至新的數據庫中,在新的升級方案出現問題時,可快速回退到原有的數據狀態。
由于數據庫雙活集群具有高性能和高持續可用性的特點,數據庫單點故障不影響業務全局,即數據庫單點故障對業務透明,針對傳統HIS架構的不足,選擇IBM DB2 PureScale架構方案對HIS數據庫系統進行優化,PureScale的應用透明性使傳統應用平滑遷移到雙活集群上,見圖2。服務器采用Power8 System,可以降低延遲和占用空間,提高數據庫和應用的速度和效率,最佳支持DB2 PureScale,為未來靈活擴展奠定計算資源基礎。SVC既可實現生產陣列數據的實時鏡像和對Flashsystem的充分利用,保證數據的安全、高效,又可保證存儲資源統一分配和管理,為未來靈活擴展及統一容災奠定基礎。Flashsystem作為全閃存系統,可降低HIS讀寫等待時間,實現SAN環境下達到的最低延遲,提高小型機CPU Core的利用率。

圖2 HIS數據庫集群架構
HIS作為醫院的核心系統,在升級時要盡量保證其離線時間較短,且故障發生時可快速回退。在升級前3個月,醫院信息部門聯合醫務部門及部分臨床科室按照既定的方案進行3次演練,以確保順利切換。實施開始前全院啟動應急系統,以保證業務數據的電子化存儲及醫生操作的便捷性。實施過程包括:通過HIS生產庫暫停服務、HIS生成表結構和權限遷移、HIS生產庫數據遷移、斷開生產庫網絡連接、修改集群系統IP為生產庫IP、修改歸檔模式及集群系統上線,總共7步完成數據庫系統的正式升級改造。其中第3步HIS生產庫數據遷移需要提前編寫腳本,將原有數據遷移至新的生產庫中,同時校驗導入數據的一致性,耗時180分鐘。總計耗時392分鐘,和既定方案相差無幾。
考慮到醫院業務的特殊性,在升級過程中有一些經驗和教訓供其他醫院參考。一是系統的升級盡量以舊換新,切忌在原有系統上直接操作,以防止故障發生時原始數據無法恢復。二是升級前需要對既定方案進行演練,保證質控落實到每個環節。三是升級過程中需要對醫療業務數據進行電子化記錄,以確保后期數據能夠導入到生成數據的完整性。
DB2數據庫的升級一方面提高系統的穩定性和安全性,另一方面提升系統的性能。升級之后,見表1,可以看出升級后DB2性能有顯著提升。

表1 DB2升級前后性能對比
針對傳統HIS核心數據庫系統的硬件架構已無法滿足現有的性能負載現狀及架構本身存在的不足,本文結合江蘇省人民醫院實際情況,對醫院數據庫服務器環境進行升級改造,實際驗證方案的可行性。不僅運用數據庫高級特性保障高可用性,還充分挖掘數據庫集群資源以合理支撐不同實例,達到負載平衡和高可用的雙重優化效果,以期為其他醫院DB2數據庫系統升級提供參考方案。此次系統升級不僅可以使服務器長期不間斷穩定運行,確保系統性能及客戶端使用速度,還實現真正的雙活數據中心,增加系統彈性,提高服務能力及資源整合、利用能力,保障信息安全。目前使用兩個服務器節點提供對外服務,未來可考慮增加兩個高速緩存節點,作為HIS熱點數據的專用區域,以進一步提高數據庫的響應速度,更好地為患者服務。