• 登入
  • 註冊網站會員
CIO Taiwan
  • 活動
  • 影音
  • 趨勢分析
  • CIO 雜誌
  • CSO精選
  • 電子報
  • 下載
  • 聯繫我們
沒有結果
查看所有結果
CIO Taiwan
沒有結果
查看所有結果
首頁 專欄

以NoSQL重構HIS資料庫(上)

2021-01-29
分類 : 專欄
2
A A
0
孫132222

雖然關聯式資料庫的歷史已有數十年之久,多數人也很熟悉相關的SQL語法跟操作,但不管是效能、易用性、彈性及擴充性,關聯式資料庫都有值得商榷的地方。

每次跟使用者訪談需求後,開始設計資料庫時,往往要做第一正規化、第二正規化及第三正規化,因為我們要節省儲存空間,去除一些重複性,還有相依性的資料,但資料做完正規化後,其實跟當初訪談的內容,已經不夠實際了。

[ 下載 2020-21 CIO大調查報告,掌握最新企業IT導入趨勢 ]

所以日後要查詢儲存到資料庫的資料時,就得下一堆SQL指令,可能會關聯加入一大堆表格(Table),才可以找到我們要的資料。如果SQL語法下得不好,小則可能要等很久資料才會出來,大則可能會造成整個表格被鎖住(Lock),甚至連累到其他系統的運作。

因此,如果要重構HIS資料庫,我不會再選擇關聯式資料庫管理系統,會選NoSQL,因為NoSQL才是更趨近於真實的資料庫。

內容目錄 隱藏
當前HIS資料庫面臨的問題
傳統資料庫無法滿足醫療資料型態
微服務後HIS資料庫要重構
NoSQL的優勢

當前HIS資料庫面臨的問題

當HIS系統在查詢病歷資料時,會關聯很多表格,有時候本以為會以表格A的索引做關聯,但資料庫卻自做聰明,根據資料筆數來最佳化查詢索引,改用表格B的索引,使得查詢效率突然下降很多,若查詢的資料量太大時,還會造成表格非常忙碌擁塞,導致整個系統短暫的停擺。

為了避免這種情事發生,我們還要特別寫死程式強制指定索引。為了避免此事件發生,每周還要在固定的時間更新統計資料(Update Statistics)以達到最真實的資料統計筆數,避免資料庫誤判資料筆數而亂用索引鍵。

為了要加速HIS系統資料庫的效能,線上資料庫可能只能保存一定的年限的資料,否則一旦電腦當機後,資料復原(Recovery)的時間就會拖得太長。然而,資料如果累積到一定的量,就得做備份,每個月或每年都得進行資料維護,把累積的資料搬到另一個地方。所以問題就來了,如果醫師需要查詢比較早期的資料,寫程式的人可能就會很麻煩,程式得寫成到A主機抓三年前的資料,如果還要更早的資料,再到B主機去抓,於是資料不斷的封存,程式也不斷的改寫,也就是資料越來越多的時候,就要去抓更多不同的地方,長期下來就可能會造成很大的問題。

[CIO都在讀: 醫療業關鍵基礎設施資安進入落實階段 ]

許多醫院的關聯式資料庫也是個問題,例如原本是十個欄位的表格,因為需求而要再增加一個欄位時,如果這個表格太大,做資料結構異動時,資料庫就會先鎖住表格,而導致醫療系統作業停擺,或者是遇到醫療系統正在使用時,系統也會鎖住表格,就無法增加欄位。為了避免前述狀況發生,就只能利用臨床作業的離峰時期,以我們醫院來講,通常是淩晨四點到五點才能停機去增加欄位,也因此會增加不少的人力跟時間成本。

其實資料庫面臨到的主要問題,就是以前的資料空間因為不允許那麼大,所以資料都要精簡,就必須要去進行正規化作業。以關聯式資料庫來講,正規化就是去除重複性的資料,以避免更新異常或者去除功能的相依性。有正規化,也會有反正規化,就是每個表格都有一組常用的查詢屬性,雖然重複但就不用參照其他表去查詢,可以大幅提升效能。

就像程式前端操作畫面,讓使用者輸入真實的資料,但若要存到關聯式資料庫,就得將資料正規化後,才儲存到資料庫中。假設日後前端有人想要查詢這個資料,我們就要把已正規化資料,從資料庫中關聯很多表格,以反正規化的方式關聯起來,反反覆覆地做正規化與反正規化的動作。

然而一個HIS資料庫的關聯式表格,可能就會有成千上百個表格,要查詢一個病歷資料,可要關聯五、六個表格才找到要的資料,所以傳統資料庫的正規化,反而會讓資料不夠真實且複雜。

傳統資料庫無法滿足醫療資料型態

以前是因為儲存空間要斤斤計較,為了節省空間,才要將資料正規化,但現在儲存空間變得很便宜,已經不需要斤斤計較,所以整個儲存觀念就要改變。

事實上,關聯式資料庫的形態已經無法滿足現在的醫療資料型態。因為醫療資料型態非常多樣,如文字類型的資料就有檢查報告、出院病摘;數字類型的資料像檢驗報告、生理訊號;圖形型態的資料有心電圖、手繪圖;聲音型態的資料有心音、口述報告;靜態影像資料有X光、CT、MRI;還有動態影像資料如超音波、心導管、內視鏡等,如果要用關聯式資料庫來儲存這些資料,就可能會較辛苦了。

如醫師每次看完診後,就會把資料儲存在HIS資料庫,但醫院為了追求無紙化,還會把醫師看診的資料,透過他的醫事人員卡去做簽章,存到電子病歷資料庫(EMR)。但如果HIS資料庫是以表格的方式儲存資料,也就是前面講的正規化,而電子病歷資料庫卻是以文件(Document)的方式來儲存,這兩個資料庫等於是各自儲存,無法整合。以醫院作業來講,兩個資料庫不同步就會很麻煩,這也是很多醫院沒辦法整合資料庫所要面臨的問題。

微服務後HIS資料庫要重構

醫院如果想要推動微服務架構,資料庫可能要重構。這個過程我比喻為「乾坤大挪移」,也就是說把本來單體式主機寫在一起的程式做功能性重構,把本來屬於單體的服務架構,每一個功能變成一個服務,拆解成不同的微服務,如果服務能量不夠,就再開另外一個。

如醫院就會有一組一組的服務,包括護理、醫囑、藥局等多個實例,假設有一個服務檢測可以承受一百多人,結果卻來了兩百個人,工作量大到沒辦法執行時,就可以變成兩個服務,我稱之為「螞蟻雄兵」,就是說一個服務可以應付一百個人,三百個人就用三個服務去應對,如此一來,就可以確保整個系統的穩定性,不會因為工作量突然增加,伺服器就被衝垮。

這就是現在很多系統為什麼要從集中式變成分散式的原因。但問題來了,如果服務架構都拆開重構了,一千個人需要服務時,我就可以開十台伺服器來提供服務,但如果資料庫卻沒有跟著解決,這一千個人的資料都只能在一個集中式資料庫,日後的瓶頸就會出現在資料庫裡面。

[CIO都在讀: IT必須掌握的新核心能力 ]

程式既然都要重構,資料庫是不是要切割成「微資料庫」?但問題的根源則是太過於依賴關聯跟交易,很多東西我們必須要去做join,或者是view或者做transaction。如果要解決這些太過度依賴的關聯跟交易,首先要做的是垂直切割,也就是我們要設法依照不同的功能切割不同的表格,再將不同的表格可以獨立放到不同的資料庫。

另一種作法是水平切割,就是降低資料筆數,才能夠讓資料可以快速查詢,而且碰到當機時地復原時間不會太久。如何執行跨越服務之間的交易,以及讓多個使用者的資料做到實體隔離的多租戶設計,都是我們要面臨的挑戰。

但如果要用集中式資料庫來處理前述問題,就真的很困難。因為一旦要走微服務架構,就一定要把資料庫拆解,拆解成一個服務對應一個資料庫,讓服務歸服務,服務跟服務之間再去做資料交換,就可能要用分散式資料庫,才有辦法解決前述問題。

所以微服務既然屬於分散式架構,資料庫也必須要遵照分散式架構做改變,日後真的需要延伸時,就可以很方便的做到,這也是集中式和分散式資料庫的對照。

[ 加入 CIO Taiwan 官方LINE,與全球CIO同步獲取精華見解 ]

NoSQL的優勢

要做分散式資料庫,就不能不提NoSQL。NoSQL的意思是「Not Only SQL」,也就是不限定為「關聯式資料庫」的資料庫管理系統的統稱。在操作上,NoSQL並不支持SQL語法與SQL的邏輯。所以,NoSQL不使用關聯模型,且不需要固定的結構(Schema-free),假設現在有十個欄位,未來可能會新增五個時,可以很容易很輕鬆的去加欄位,即時自動加起來都沒有問題,可以是很真實的。

NoSQL的操作因為屬於分散式多資料中心,不需要用特定或者緩存層來儲存資料。NoSQL的架構非常靈活,可以輕鬆的去更改,不會造成停機或者中斷,要加幾個欄位時,不用停機或者服務中斷。諸如此類,這麼多的好處,讓我覺得未來的HIS資料庫,應該是屬於NoSQL,才是最佳的拍檔。

(口述/孫培然 彙整/CIO編輯室)

  • [ 以NoSQL重構HIS資料庫(中) ]
  • [ 以NoSQL重構HIS資料庫(下) ]
標籤: HIS資料庫NoSQL孫培然醫療資訊系統
上一篇文章

施耐德電機獲得業界雙重認可,引領產業創新

下一篇文章

遠程醫療市場投資商機

相關文章

I169s11
專欄

堅韌的台灣供應鏈

2025-07-08
I168d15
CSO精選

從原則邁向 IT 系統實踐之路(下)將個資保護 DNA,注入資通系統新生命

2025-07-08
I168s11
專欄

企業如何應對台灣加密監管升溫?

2025-07-08
下一篇文章
廖肇弘2

遠程醫療市場投資商機

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

追蹤我們的 Facebook

近期文章

  • 堅韌的台灣供應鏈
  • 從原則邁向 IT 系統實踐之路(下)將個資保護 DNA,注入資通系統新生命
  • HPE完成對Juniper Networks的收購 將提供業界領先的全方位雲端原生、AI驅動產品組合
  • 企業如何應對台灣加密監管升溫?
  • 【專訪】燁輝企業總經理張振武

📈 CIO點閱文章週排行

  • ASUS NUC 15 Pro

    那可太厲害!華碩NUC 15 Pro系列迷你電腦 釋放AI極致潛能

    0 分享
    分享 0 Tweet 0
  • 健康台灣深耕計畫下的科技角色與挑戰

    0 分享
    分享 0 Tweet 0
  • 【專訪】燁輝企業總經理張振武

    0 分享
    分享 0 Tweet 0
  • 【專訪】羅昇企業資訊部資深經理林忠信

    0 分享
    分享 0 Tweet 0
  • 紅帽提出數位轉型五步驟

    0 分享
    分享 0 Tweet 0
  • 從供應鏈轉型遠眺長線戰略目標

    0 分享
    分享 0 Tweet 0
  • NVIDIA 黃仁勳:代理式人工智慧(Agentic AI)引領產業變革,數位員工時代來臨

    0 分享
    分享 0 Tweet 0
  • 終於!HPE 完成購併 Juniper 兩強攜手迎戰 AI 網路運算新時代

    0 分享
    分享 0 Tweet 0
  • 破解偽臉陷阱:臉部融合攻擊偵測(MAD)成為AI資安新戰場

    0 分享
    分享 0 Tweet 0
  • 企業如何應對台灣加密監管升溫?

    0 分享
    分享 0 Tweet 0

數位及平面

  • CIO Taiwan 網站
  • CIO 雜誌紙本
  • CIO 雜誌 HYREAD 版
  • CIO 雜誌 Zinio 版

關注社群

  • Line 加入好友
  • Facebook 粉絲頁

合作夥伴

  • CIO 協進會

關於我們

  • 公司介紹及工作機會
  • 隱私權政策

旗訊科技股份有限公司|統編:84493719|台北市 100 中正區杭州南路一段 15-1 號 19 樓|TEL: 886-2-23214335
Copyright © Flag Information Co.,Ltd. All Rights Reserved.

CIO Taiwan 歡迎你回來!

可用 使用者名稱 或 Email 登入

忘記密碼 註冊

歡迎註冊 CIO Taiwan 網站會員

請設定 Email 及 使用者名稱(使用者名稱不接受中文、將來無法更改)

欄位皆為必填 登入

找回密碼

請輸入 使用者名稱 或 Email 以重設密碼

登入
  • 登入
  • 註冊
沒有結果
查看所有結果
  • 活動
  • 影音
  • 最新文章
  • 產業速報
  • 新聞速寫
  • 風雲人物
  • CXO分享
  • 產業瞭望
  • 專欄
  • 精選文章
  • 原生現場
  • 供應商視野
  • 線上調查
  • CIO 雜誌
  • 電子報
  • 下載
  • 聯繫我們

© 2020 CIO Taiwan 版權所有

7/28 活動延期通知

因高雄市政府於7/28早上宣布全日停班停課,因此「智慧醫療研討會高雄場」活動延期舉辦。主辦單位將另行公告研討會相關訊息,歡迎報名參加!

您已閒置超過 3 分鐘了,為您推薦其他文章!點擊空白處、ESC 鍵或關閉回到網頁

是方電訊產品發展部經理林佑儒

混合雲平台成主流 兼顧資安與成本

文/林裕洋 在降低維護成本、加速專案推動時間下,公有雲已成為多數企業用戶首選,尤

1200 Rgb 1k9a0089

【專訪】國泰綜合醫院行政副院長林朝祥

打造智慧醫療有成 創造最佳就醫體驗 國泰綜合醫院發展智慧醫療過程中,除在AI技術

1200 Founder Benson

台灣資安業者巡禮 ─ 奧義智慧科技

AI 資安展奧義 三大產業獲青睞 奧義智慧科技推出的 CyCraft AI,以機

12

智慧醫療研討會台北場 會後報導

智慧創新與安全合規 擘建新世代醫療系統 現階段全台灣公私立醫院逾八成收入皆來自建

◤ 新光三越電子商務部副總經理莊宛妮

【專訪】新光三越電子商務部副總經理莊宛妮

歷經數位轉型 打造百貨電子商務 新光三越透過盤點自身競爭力後,確認會員、商品力、

網頁文章首圖1200x630 網頁文章首圖1200x630

羽昇以 Google Cloud API 快速搭建醫療數據平台

智慧醫療研討會高雄場 會後報導 身為 Google Cloud 菁英夥伴的羽昇國

Ciotaiwan Logo 600 White

文章分類

  • 產業速報
  • 專欄
  • 影音
  • 風雲人物
  • CXO分享
  • 產業瞭望
  • 原生現場
  • 精選文章
  • 趨勢分析
  • 供應商視野
  • 新聞速寫
  • 下載
  • Sponsors

熱門標籤

  • 最新文章
  • 雲端運算
  • 人工智慧
  • 數位轉型
  • 製造業
  • 物聯網
  • 資料與分析
  • 資安
  • 區塊鏈
  • 5G
  • 儲存
  • 基礎架構

活動

  • CIO價值學院 四堂課
  • 智慧醫療研討會 台北/高雄場
  • 金融科技高峰會 春季/秋季場
  • 製造業CIO論壇 台北/台中/高雄場
  • 商業服務科技論壇
  • 亞太CIO論壇
  • CISO資安學院 金融/醫療/新竹場
  • CIO Insight 調查

影音

  • 影音