今天和大家分享的主題是《Greenplum在醫療大數據領域的應用》,Greenplum這幾年越來越火,但在醫療行業里面的應用似乎并不多,個人認為主要原因如下:
首先醫療行業并不是一個特別前沿的行業,不像金融、電信、電力等,在IT設備上投入很大、數據量也非常的高,從而促使這些行業需要不斷的追求新技術。而醫療是發展較為緩慢的行業,近年來,雖然醫療行業的大數據也比較火,但是做的好的企業其實并不多。醫療大數據需求很高,但也存在很多的專業性的數據處理需求,如今醫療的信息化發展仍然較為緩慢,需要行業進行更高的投資。接下來我來介紹一下我們醫療數據的具體情況,同時也邀請大家多關注民生行業。
提到醫療行業,就不得不關注醫療數據學。醫療數據有兩大特點。
首先,相較于其他行業,醫療數據的規范化程度不高。我們在日常生活中經常能看到醫生手寫的病歷、拍的X光照片,這些都是非結構化的數據,必須經過二次處理才能形成結構化數據;
第二是,單條數據的體量較大,例如基因數據,往往包括成千甚至上萬個字段,一條個人信息的原始數據就能達到幾個TB。很多數據需要經過精細化的處理才能入庫;有一些則需要用到很多人工智能的算法來處理。
基于以上的情況,在選擇數據庫產品時,我們主要關注以下幾點:
1
入門門檻不能太高
由于數據庫使用對象以非計算機專業的教授和學生為主,因為大家都是非專業的DBA,在SQL編寫上都非常不規范、不熟練,因此需要盡量對標準SQL有很好的兼容;
2
統一化的集群
之前我們也用了很多其他的數據庫,例如Oracle、MS SQL、MySQL等,集群數據量達到一定規模后,只能通過分庫分表來提高計算性能,非常麻煩;所以我們需要的是一款一體化的集群,集群內部自動完成分庫分表操作;
3
現有的數據分析工具多數要求數據離線,不安全;
在這種情況下,在做分析時,需要去別的地方拿數據,比如從hadoop里面去把數據拿出來,因此需要一段等待時間;
4
基因數據放在HBase中,維護不便;
HBase雖然大家應用的也比較多,但是維護和使用都不是很方便;
5
實時性需求較少
醫療行業的數據分析和計算,對數據實時性要求不高;但是我們要求數據變動的最后一個版本,必須為最后版本;這個背景促使我們可以采用小批量入庫,多次抓取的方式來處理數據,而不用像那些實時同步工具那樣一有變化馬上就發送過來;
6
我們沒有熱數據、溫數據和冷數據之分;
我們的數據需要存放在一個地方,最好不要拆分開。在查一個人的基因數據時,有可能需要向前追溯幾代人的基因信息,這時也需要有一個強力的計算引擎來快速給出結果。
Greenplum帶來了什么?
01
入門門檻較低
Greenplum兼容標準SQL語法,上手較為容易。與PostgreSQL兼容,便于遷移。文檔規范,社區活躍。且Greenplum自帶完整的運維工具生態,包括備份、遷移、測試、優化等,對運維人員非常友好。
02
MPP架構的優勢
Greenplum是一款MPP架構的數據庫,可以解決單體數據庫無法很好的完成數據拆分并行計算的問題;不需要分庫分表,方便運維。Greenplum的批入庫效率特別高,之前我們采用insert入庫的性能是260行/s左右,經過改造后,入庫性能直接能達到10萬行/s左右,完全能滿足我們的日常數據入庫需求;Greenplum支持線性擴容,能滿足醫療行業多變需求。Greenplum的高可用支持,不間斷恢復,可以保證電子病歷、健康檔案、基因測序等敏感數據的安全。
03
對R語言的深度支持
R語言是醫學、生信領域最常用的統計工具。Greenplum天生支持數據庫內分析(In-Database Analysis),尤其是對R語言的支持,這是我們給予厚望的一個功能。利用PivotalR包和MADlib機器學習庫,充分利用并行計算優勢,突破R語言性能限制。
04
面向分析的關系型數據庫
基因數據數據量大、計算密集,非常適合Greenplum。Greenplum的GPText對非結構化文本數據的支持,也很適合醫療領域的醫囑、診斷、檢驗等。所有數據在線,原始數據低頻使用。多表關聯查詢和復雜查詢效率高。
在使用Greenplum之前,我們已經用Oracle有10多年時間了。開始接觸Greenplum還是兩年前的事,這么短的時間,我們就果斷的決定轉換陣營,還是由于Greenplum的強大功能。
作者簡介
胡錫峰 國家健康醫療大數據研究院 醫療數據治理研究中心主任
預防醫學背景,曾主持多個省級醫療信息化項目,擁有16年醫療信息化行業數據庫使用經驗,在醫療數據匯聚、標準化、大數據應用方向有深刻認識。
來源:騰訊網