來源:twt社區
醫院集成平台存儲選型問題?是選擇集中式還是分布式?
在新的集成平台中,我們的系統提出支持熱備高可用性部署,主備機之間配置、消息庫可實時同步,當主機發生故障時,備機可在不需人工干預的情況下秒級自動啟動,消息在備機中繼續運行,當主機修復後,消息會轉回主機中繼續處理;在產品選型中,如何選擇,是選擇集中式還是分布式?請專家提出意見。
問題來自社區會員@Yilanzhu 某中醫院系統架構師 系統架構設計師,下文來自眾多同行實踐經驗分享,歡迎大家參與交流,各抒己見。
* “爭議”欄目內容來自同行分享的一手體驗和觀察,僅代表個人觀點
@劉東 東軟集團 IT技術諮詢顧問:
醫院集成平台主要考慮的是存儲的性能、穩定性和可靠性,選擇集中式還是分布式主要還是看具體的業務場景。
1、集中式存儲主要用於對數據一致性要求比較敏感的系統,例如數據庫和數據倉庫等應用。以醫院集成平台為例,大部分醫院的集成平台數據庫為ORACLE數據庫,國產數據庫和分布式式數據庫應用的還比較少。對於ORACLE數據庫來說,集中式存儲是比較合適的。而且大部分傳統的集中式存儲都具備雙活和高可用特性“即當主機發生故障時,備機可在不需人工干預的情況下秒級自動啟動,消息在備機中繼續運行,當主機修復後,消息會轉回主機中繼續處理”;對於存儲的性能、穩定 性和可靠性也都比較符合集成平台數據庫服務的數據存儲需求。
2、分布式存儲,這類存儲設備主要是可以進行靈活擴展,初期投入成本也相對比較低,可以支持塊、對象和文件等多種數據存儲類型。對於 醫院集成平台來說最適合私有雲存儲服務。通常醫院集成平台由數據庫服務器+私有雲服務器組成,對於私有雲服務這一塊業務,使用分布式存儲還是比較合適的,兼具靈活性和高可擴展性,可以為集成平台提供靈活的數據存儲服務。
3、如果醫院希望統一存儲架構,使用一套存儲系統,那麼在存儲選型時,就需要考慮不同產品之間的差異了。例如集中存儲既可以用於數據庫也可以用於雲服務,但是在選型的時候需要選擇擴展能力和靈活性都比較強的集中存儲設備。如果選擇分布式存儲架構,那麼首先要考慮分布式存儲是否可以支持ORACLE等數據庫,因為並不是所有的分布式存儲都能很好的支持數據庫服務。
@jakeyyu 三甲醫院 系統架構師:
目前的應用還主要集中在集中式存儲上,分布式存儲有其獨特的優勢,但是根據業務使用需求來說,目前以SOA服務模式為主的醫院應用軟件,集中式存儲能夠滿足其對業務性能和數據庫性能的需求。而目前對於微服務等技術的推廣,分布式存儲對於微服務技術也有一定的支持,如果未來微服務等技術或者新興的應用技術在醫院系統進行規模化的應用,或許採取分布式存儲也是一種選擇。
@wuliangy 浙江省腫瘤醫院 信息工程部工程師:
高性能(IOPS)的情況下,還是集中式存儲不是更好,這類型存儲更加容易通過堆盤(SSD/NVME SSD)等來大幅度抬高存儲整體性能,無論是4K隨機讀寫的速度還是延時都可以得到大幅度提升。
而分布式存儲目前醫院的主要應用場景還是在pacs的海量文件存儲和類型基因測序這種單個文件較大(3G-5G)的情況。
拋開應用純談存儲的集中式還是分布式意義不大,分布式架構往往需要數據庫、應用、中間件等整體支持才能發揮出作用。
@zyp8365 廣東省中醫院 數據庫管理員:
醫院互聯互通是近些年醫院信息化建設的重點,醫院的集成平台的重要性與醫院的核心業務HIS是同一級別的。集成平台是高IOPS的OLTP系統,需要存儲具有高性能,高可靠。其實只要滿足這個需求,是集中還是分布均可。但是從架構上來說,集中式的對集成平台會更好一些,因為集中式單台存儲的性能已十分優越,雙活架構也能很好滿足高可靠的需求,相比之下,分布式架構雖然也有一定的性能和穩定性,但是性能容易消耗在中間數據轉發,仲裁及維護數據一致性上,當高IOPS時容易出問題。
集中式架構優點是穩定可靠,維護方便,缺點是當存儲擴展到一定容量或規模的時候會出現控制器瓶頸,性能會下降。分布式架構優點是擴展靈活,缺點是依賴以太網絡作為數據交換網絡穩定性略差,性能主要消耗在維持數據一致性和副本等上,擴展規模與實際性能的關係需要嚴格的測試。
集成平台是採用集中式還是分布式,主要看如下:1.醫院的體量。2.後續發展預期。3.醫院IT技術人員技術能力。鑒於現在信息發展狀態,預算足夠,個人建議混合結構,數據類放傳統集中式,應用類放分布式。當然,從來沒有一個通吃的解決方案,選擇什麼架構還是要根據醫院實際情況與需求來確定。
@nightdxl 華為 架構師:
如何選型,具體還是要根據平台自身的建設規模和後續擴展性來選擇。
集中式系統架構的最大的特點部署結構非常簡單,因為無需考慮如何對服務進行多節點的部署、也就不用考慮各節點之間的分布式協作問題了,但是,因為採用了單機部署,所有的功能都集成到了主服務器上,對於服務器的性能要求很高,性能也不好。帶來的問題有系統大而複雜、難以維護和發生單點故障、擴展性差等問題。發生單點故障還可能造成整個系統或整個網絡的癱瘓。優點也顯而易見,便於維護,操作簡單。在規模不大的情況下,部署方便,結構相對簡單啊,成本相對較低,但後期如果擴容需求增大,由於豎向堆砌的特性,則很大可能會演化成高煙囪構架,造成成本高昂。
分布式系統是一個硬件或軟件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統,即分布式就是一群獨立於計算機集合共同對外提供服務,但是對於系統的用戶來說,就像是一台計算機在提供服務。分布式意味着可以採用更多的普通計算機(相對於昂貴的大型機)組成分布式集群對外提供服務。計算機越多, CPU 、內存、存儲資源等就越多,能夠處理的並發訪問量也就越大,可以很方便的橫向擴容,成本優勢也會凸現出來。分布式空間上計算機隨意分布,計算機之間沒有主次之分。系統資源為所有計算機共享,多台計算機協調完成一個共同任務,系統內任意兩台計算機可以互相通信交換信息。
@潘延晟 系統工程師:
兩種存儲類型各有各的優點。就目前的技術發展而言,兩種技術的方向性也很明確。集中存儲主要應用於高IO的環境,如核心數據,而分布式存儲則在海量文件的存儲上比較有優勢。
醫療系統也好,其他的行業也好,目前其實都不一定要局限在某一種架構上。而是應該看你的應用需求。隨着業務的擴展,系統功能的不斷細分,可能將來會是多個平台架構並存的架構。如果資金緊張,那就看目前的業務最重要的是哪部分,最適合哪種存儲。
@馬威 深圳市人民醫院:
個人觀點。醫院的系統都有着重業務,輕技術的傾向。雖然最近幾年醫院的信息建設投入和重視度不斷提升。但是作為醫院的收入只有支出的部門,也有着許多的難言之隱(話題偏移的有點多了)。
看了幾位老師的回答,覺得還是蠻有感觸的。我就說一些自己的體會了。關於#醫院集成平台存儲#方面,個人是傾向於技術方面也就是分布式。但是這個需要結合醫院的現實和歷史信息話建設進行結合才能更好回答。比如,在某醫院中的信息化建設比較早,在已有的情況下採用的集中式存儲,但是正常運行了很多年都沒有大問題。基於維穩定等方面考慮,醫院不願再在已有的信息系統上做存儲升級。但是如果是一個新入的平台,醫院更多尊重的是廠商的選擇。但是系統的穩定、安全,這是尤其重要的。醫院的系統建設是民生問題,出了問題有可能隨時問題等級升級。
關於集中式還是分布式,除了其它老師的意見之外。我就補充點,在醫院建設過程,以業務為中心,評估風險,劃等級進行技術升級。舉個例子,門診業務尤為重要,其風險等級較高。出了問題,半個小時沒解決,可能 第一現場就過來了。而住院的等級可能不會那麼嚴重,一個小時解決可能都沒問題。所以,風險等級的劃分還是有必要的。
其次,關於# 集中式還是分布式 #。技術方面的好處與否,這些大概大家都明白,不再贅述。自己也是碼農,在寫代碼中,這些會動態的改變策略。當程序的某個功能節點壓力過大或者風險等級較高時,會採用集群分布式之類的策略降低風險,提高效率。在醫院的允許的範圍內,可以自行發揮。
最後,醫院對於信息科的重視力度之類的。比如採購的服務器的質量,信息科的支持力度之類。
總結一點,在安全、穩定的基礎上,醫院還是願意嘗試一些新的技術的,並不會過多的限制第三方的開發商的開發自由。
圖文版權歸原作者所有,如有侵權,請聯繫醫信邦刪除!