張 智 張正國
(中國醫(yī)學科學院基礎醫(yī)學研究所 北京協(xié)和醫(yī)學院基礎學院,北京 100005)
生物醫(yī)學異構數據庫集成的研究進展
張 智 張正國*
(中國醫(yī)學科學院基礎醫(yī)學研究所 北京協(xié)和醫(yī)學院基礎學院,北京 100005)
隨著生物醫(yī)學的快速發(fā)展,不斷地涌現出許多生物醫(yī)學數據庫。將這些相互獨立的數據庫有機地組織在一起,對于提高一個學科或領域的整體知識水平,以及對該學科或領域進行更深入、更全面的理解是十分重要的。數據集成可以實現數據更廣泛的共享和更有效的利用,已經成為生物信息學的核心研究內容之一。介紹生物醫(yī)學異構數據庫集成的方法,綜述生物醫(yī)學異構數據庫集成領域內最新的研究進展,并且討論和總結各種方法的特點及使用條件。
異構數據庫;數據集成;數據倉庫;聯邦數據庫;中間件
隨著生物醫(yī)學知識的快速增長、計算成本的降低以及互聯網在傳播媒介上的優(yōu)勢,生物醫(yī)學數據已呈現海量規(guī)模,并且其數據量還在加速增長。截止到2010年1月,權威的“核酸研究在線分子生物學數據庫集合”(Nucleic Acids Research online Molecular Biology Database Collection)共收錄了1 230個分子生物學數據庫[1]。但是,這些生物醫(yī)學數據庫大多相互隔離,形成了所謂的“信息孤島”,不能實現數據的共享和更有效的利用。將這些相互獨立的數據庫有機地組織在一起,對于提高一個學科或領域的整體知識水平,以及對該學科或領域進行更深入、更全面的理解是十分重要的[2]。生物醫(yī)學由于其復雜性,既需要多學科、多方位進行地研究,又需要綜合多方面的觀察進行分析。生物醫(yī)學數據庫常是細分的,而需求常是綜合的,因此數據集成對于生物醫(yī)學具有必要性和緊迫性?,F在,數據集成已經成為生物信息學(bioinformatics)的核心研究內容之一,也是一項需要長期進行的工作[3]。
數據集成(data integration)是把不同來源和不同格式的數據在邏輯上或物理上有機地集中,從而實現全面的數據共享。數據集成的核心任務是將相互關聯的異構數據源集成到一起,使用戶能夠以透明的方式訪問[4]。集成是指維護數據源在整體上的數據一致性,為用戶提供統(tǒng)一的數據訪問接口,提高數據共享的效率;透明的訪問方式是指用戶無需關心所需數據所屬數據源的位置以及如何訪問數據源,只需關注對數據的需求和操作。
由于生物醫(yī)學數據庫固有的特點,其數據集成工作困難重重[5]。第一,生物醫(yī)學數據具有多樣性和復雜性。數據的實體類型包括基因表達、序列、結構和圖像等多種,而且這些實體之間通常還有復雜的關系。第二,生物醫(yī)學數據的數據量通常很大。第三,生物醫(yī)學數據庫具有異構性。不同數據庫之間可能同時存在系統(tǒng)性異構、技術性異構和語義性異構等多種異構。第四,生物醫(yī)學數據庫具有自治性。絕大多數的生物醫(yī)學數據庫可以自由地刪除數據和修改數據庫模式,而不必考慮其他與其相關的數據庫。其數據也按照各種自定的格式或標準進行存儲。
近年來,越來越多的研究者致力于生物醫(yī)學異構數據庫集成的研究。這些研究面向的領域也更加廣泛,涉及基因組學、蛋白質組學、相互作用組學、醫(yī)學圖像和臨床醫(yī)學等多個方面,并產生了豐碩的研究成果。文中介紹了生物醫(yī)學異構數據庫集成的方法,綜述了生物醫(yī)學異構數據庫集成領域內最新的研究進展,并且討論和總結了各種方法的特點及使用條件。
數據庫的異構是生物醫(yī)學數據庫集成的難點和重點。數據庫的異構體現在以下三個方面:系統(tǒng)性異構(systematic heterogeneity)、技術性異構(technical heterogeneity)[6]和語義性異構 (semantic heterogeneity)[6]。
系統(tǒng)性異構包括:一是數據庫所依賴的計算機體系結構不同,如大型機、小型機和 PC服務器等;二是數據庫所依賴的操作系統(tǒng)不同,如 Linux、Windows和Unix等;三是數據庫所依賴的網絡平臺的不同,如ATM(異步傳輸模式)、Ethernet(以太網)和FDDI(光纖分布式數據接口)等。
技術性異構包括:一是數據存儲方式不同,如普通文本文件,XML文件,關系型、層次型、面向對象型、網絡型或函數型數據庫等;二是數據訪問方法不同,可以通過HTTP等網絡協(xié)議訪問,也可以通過JDBC、ODBC和 SOAP等編程接口訪問;三是數據查詢語言不同,如SQL、OQL和XPath/XQuery等。特別地,不同數據庫支持相同查詢語言的標準和程度也不盡相同。
語義性異構包括:一是數據庫模式(schema)不同,不同數據庫字段的數據類型不同、名稱不同以及存在語義差異等;二是實體命名不同,不同數據庫使用了形式不同,但彼此等價的規(guī)范化詞表(controlled vocabulary)和本體(ontology)作為實體的標識符。
在實際情況中,生物醫(yī)學數據庫之間往往同時存在多種異構,這更加造成了數據集成工作的困難與復雜程度。因此,解決異構問題,屏蔽各局部數據源的異構性,構建與平臺和系統(tǒng)無關的查詢平臺,是數據集成最重要的任務。
基于數據倉庫(data warehouse)的數據集成是對異構數據源的物理式集成,其系統(tǒng)結構如圖1所示。該系統(tǒng)主要是使用ETL(extract-transform-load)工具,對各個異構數據源中的數據進行抽取、轉換,并在通過集成器進行消除數據異構性后,將數據物理地裝載到數據倉庫中。特別地,在將數據裝載到數據倉庫之前,需要經過嚴格的數據清洗(data cleansing),以提高數據的質量。數據倉庫的構建,實際上就是各個異構數據源模式轉換為公共數據模式(common data schema)的過程。當用戶直接面向數據倉庫進行查詢時,各個數據源的異構性已經消除,這使得檢索過程更加簡單和快速。為了確保數據倉庫中的信息與各個數據源中的信息保持一致,必須定期更新數據倉庫。在實際應用中,EnsEMBL、NCBI和UniProtKB等大型數據集成系統(tǒng)都是根據基于數據倉庫的方法構建的。
圖1 基于數據倉庫方法的數據集成系統(tǒng)架構Fig.1 The architecture of data integration system based on data warehouse
Trissl等人基于數據倉庫的方法集成若干蛋白質結構信息相關數據庫,建立了 Columba系統(tǒng)[7]。Columba通過物理的方式集成了12個異構數據庫,構成了一個數據倉庫,其數據涵蓋了蛋白質基于結構和序列的分類信息、蛋白質功能注釋信息、蛋白質二級結構信息和代謝通路信息。Columba已經被證明在許多蛋白質結構的相關研究中發(fā)揮了重要作用,是一個成功和成熟的異構數據集成系統(tǒng)。在此基礎上,Columba已經準備繼續(xù)集成 LIGAND,MEDLINE和OMIM等數據庫,拓展該數據倉庫的應用。Chaurasia等人建立了用于查詢、分析和可視化人類蛋白質相互作用組的數據倉庫 UniHI[8]。UniHI集成了14個異構蛋白質相互作用數據庫以及GO和OMIM等輔助數據庫。UniHI系統(tǒng)結構分為數據集成、數據倉庫和網絡應用程序3個部分。數據集成部分負責通過解析器,將異構數據源的數據轉存到臨時數據庫,此時已經通過應用全局數據模式消除了數據的異構性;然后,對臨時數據庫中的數據進行數據清洗、ID轉換等修飾性工作;最終,將修飾好的數據導入數據倉庫中。用戶通過網絡應用程序接口訪問該數據倉庫,獲取相應信息。UniHI通過數據倉庫的方式完整、一致地描述了人類蛋白質相互作用組領域的數據,其數據規(guī)模很大、數據質量很高,是一個成功的數據集成案例。Tarcea等人基于數據倉庫的方法構建了分子相互作用的數據集成系統(tǒng) MiMI[9]。MiMI采取了深度集成(deep-merging)的策略,即在消除數據異構性的基礎上,還要進一步消除冗余的數據,消除相互矛盾的數據,將相關的數據進行連接并追蹤數據的來源。其他數據集成方法由于是在程序運行階段進行集成,因此無法做到如此程度的深度集成。由此可見,只有使用基于數據倉庫的方法,才能在構建數據倉庫的過程中進行如此程度的深度集成,進而提高數據集成的質量。MiMI成功地集成了10個分子相互作用異構數據庫。但并不急于尋找新的數據集成到數據倉庫中,而是通過完善深度集成的策略,強調增強對已知數據的更完善的使用。
聯邦數據庫系統(tǒng)(Federated Database System,FDBS)是一種元數據庫管理系統(tǒng),負責將多個自治數據庫以透明、虛擬的方式集成到一個聯邦數據庫。各自治數據庫通過計算機網絡互聯,相互提供訪問接口,相互分享數據。對這些自治數據庫的操作進行控制和協(xié)調的軟件,稱為聯邦數據庫管理系統(tǒng)(federated database management system,FDBMS)。FDBMS是一個管理中心,它能把各成員數據庫模式映射到一個公共聯邦模式,負責各種模式之間的轉換工作,自動解決網絡傳輸問題和異構數據庫操縱問題,接受聯邦用戶的數據請求,把這個請求翻譯后送到各個目的數據庫引擎,并將收到的結果數據集成后返回給用戶。其一般結構如圖2所示,它通過包裝器與各異構數據源進行通信。包裝器從FDBMS接受數據訪問指令,進而轉換為各異構數據源所支持的數據訪問指令,然后通過各異構數據源的服務器提交執(zhí)行,最后將結果返回給 FDBMS進行異構數據集成處理。除了包裝器之外,FDBMS還有兩個核心部分。一個是全局的元數據字典,用于描述數據集成的公共聯邦模式;另一個是配置數據表,其中包括各異構數據源的配置信息、模式、字段數據類型、相應的索引、數據分布的統(tǒng)計信息,以及CPU、網絡、I/O等系統(tǒng)資源情況。
圖2 基于聯邦數據庫系統(tǒng)的數據集成系統(tǒng)架構Fig.2 The architecture of data integration system based on federated database system
Muilu等人使用聯邦數據庫,將歐洲600 000個孿生雙胞胎的基因組和表型組數據進行了集成,構建了TwinNET系統(tǒng)[10],結構如圖3所示。TwinNET采用IBM的DB 2數據庫和IBM的聯邦服務器Discovery Link作為異構數據集成系統(tǒng)的基礎。8個國家的表型組數據庫通過虛擬專用網絡(virtual private network,VPN),連接到表型數據庫集線器(Hub)。表型數據庫集線器負責將各個表型組數據庫的數據提交到聯邦數據庫系統(tǒng)中的信息集成器,完成數據集成,基因型數據庫也是以此種形式得到集成。用戶可以通過網絡程序,訪問聯邦數據庫系統(tǒng),獲取集成后的數據。TwinNET十分注重系統(tǒng)的安全性,各個成員數據庫通過VPN或安全外殼協(xié)議(secure shell protocol/SSH)的方式連接到聯邦數據庫。聯邦數據庫與互聯網之間有前端防火墻、VPN網關和非軍事區(qū)3個屏障,聯邦數據庫服務器位于 TwinNET非軍事區(qū)(demilitarized zone,DMZ)內,因此系統(tǒng)安全性很好。
圖3 TwinNET系統(tǒng)架構[10]Fig.3 The architecture of TwinNET system[10]
Androulakis等人構建了集成X射線衍射圖像異構數據的聯邦數據庫系統(tǒng)[11],采用了第三方軟件框架Fedora成功地構建了該聯邦數據庫系統(tǒng)。由于圖像數據量十分龐大,達到數百GB,因此從技術上和經濟上考慮將這些異構圖像數據集中存儲在本地數據庫里是不適合的。同時,由于圖像數據量比較大以及處理過程耗時等特點,基于中間件的方法也無法高效地處理數據圖像的集成。因此,Androulakis等人選擇了基于聯邦數據庫系統(tǒng)的方法,既考慮了圖像數據分布式存儲的便利,又兼顧了數據集成的效率問題。
基于中間件(middleware)的數據集成方法通過統(tǒng)一的全局數據模式來訪問異構數據庫,是模型層的數據集成方案,數據集成中間件位于各異構數據源(數據層)和應用系統(tǒng)(應用層)之間。這種方法的核心是全局模式(global schema):數據集成系統(tǒng)通過一個全局模式,將各異構數據源的數據集成起來,而數據仍存儲在局部數據源中。通過各異構數據源的包裝器對數據進行轉換,使之符合全局模式。用戶提交的查詢是針對全局模式的,所以用戶不必知道數據源的位置、模式及訪問方法。按照實現方式的不同,基于中間件的數據集成方法可以分為基于包裝器/中介器、基于本體、基于網格和基于XML共4種具體方法。
基于包裝器/中介器(wrapper/mediator)方法的體系結構如圖4所示。中介器為應用系統(tǒng)提供統(tǒng)一的全局數據模式和通用的數據訪問接口,同時負責協(xié)調各異構數據源,為用戶提供全局的查詢服務。中介器將基于全局數據模式的查詢轉換為基于各局部異構數據源的子查詢,通過針對各異構數據源的包裝器執(zhí)行該子查詢并獲取查詢結果,最終將結果集成后返回給用戶。
圖4 基于包裝器/中介器的數據集成系統(tǒng)架構Fig.4 The architecture of data integration system based on wrapper/mediator
Hwang等使用基于包裝器/中介器的方法成功地集成了果蠅相關的蛋白質相互作用數據、基因組數據和其他輔助數據[12]。該研究將蛋白質相互作用數據存儲在本地數據庫,而使用基于包裝器/中介器的方法集成與該數據庫中信息相關的基因組數據(GenBank,FlyBase和GadFly)和其他輔助數據(SwissProt和GO),所構建的系統(tǒng)分為包裝器模塊、中介器模塊和應用模塊等3個部分。包裝器模塊根據查詢關鍵詞,應用 HTML、XML和 HTML-XML包裝器,從待集成的5個數據庫的網頁上分析并獲取所需的信息。中介器模塊提供中介服務,將包裝器模塊和應用模塊連接起來,實現數據集成;中介器分析用戶的查詢請求,將查詢任務分派給各個包裝器,在得到包裝器的返回結果并進行集成后,返回給用戶。應用模塊負責結果顯示和用戶交互。這項研究成功地將5個公共數據庫和蛋白質相互作用的數據進行了集成。具有將蛋白質組數據集成入該系統(tǒng)的擴展能力,從而形成一個以蛋白質相關研究數據為中心的綜合性生物學數據集成系統(tǒng)。
Marenco等人創(chuàng)建了基于包裝器/中介器模式的生物醫(yī)學數據庫集成框架 QIS[13],其體系結構如圖5所示,核心是3個功能單元:集成服務器、數據源服務器和本體服務器。這3個功能單元的有機統(tǒng)一體現了用戶、數據和知識的三位一體結構:集成服務器作為中介器,負責調控另外兩個功能單元,進行數據集成以及與客戶端的交互;數據源服務器作為包裝器,負責對各個異構數據源進行結構化查詢;本體服務器負責管理UMLS本體,為集成服務器提供語法式查詢,為數據源服務器提供相關數據與本體之間映射的信息。QIS具有很好的泛化能力,可以應用于不同領域的數據集成。在實際應用中,QIS已經成功地應用于神經科學和基因組學。QIS通過引入本體,為數據集成系統(tǒng)提供了在不同粒度下的應用。例如:數據源服務器可以通過本體服務器的輔助,掌握哪一個數據源中含有神經元細胞的相關信息,而哪一個數據源中含有某一種特定的神經細胞,如小腦浦肯野細胞的相關信息。特別地,通過引入UMLS本體,對于臨床醫(yī)學信息學數據的集成有著重大的意義。
圖5 QIS框架的系統(tǒng)架構[13]Fig.5 The architecture of QIS framework[13]
Blankenburg等人構建了用于集成異構分子相互作用數據的 DASMI系統(tǒng)[14],該系統(tǒng)基于分布式注釋系統(tǒng)(distributed annotation system,DAS)[15]。DAS封裝了包裝器/中介器方法,用戶只需要按照DAS規(guī)范調用即可實現包裝器/中介器方法。DASMI系統(tǒng)由數據交換規(guī)范和提供相互作用數據集成的客戶端兩個部分組成,采用非集中化的(decentralized)系統(tǒng)架構(見圖6),提供在線的從分布式異構數據庫中獲取的最新數據。各個相互作用數據服務器提供相互作用的數據,可信度評分服務器提供對于相互作用數據的評分。DASMI客戶端查詢相互作用數據服務器,并集成查詢結果;DAS客戶端分為基于網絡程序的客戶端和基于軟件插件的客戶端兩種類型。DAS注冊表用于維護互聯網上可用的 DAS服務器列表,通過注冊新的 DAS服務器,就可以方便快捷地實現 DASMI系統(tǒng)的擴展。DAS服務器與客戶端的數據交換需要符合DAS的 URL規(guī)范和 XML規(guī)范。DAS客戶端通過HTTP協(xié)議向DAS URL對應的DAS服務器發(fā)送查詢請求,DAS服務器通過DASINT XML協(xié)議響應該請求并返回數據,從而完成一次數據交換。因此,DAS的 URL規(guī)范和 XML規(guī)范是 DASMI系統(tǒng)實現分布式異構數據集成的基礎和關鍵,DASMI系統(tǒng)可以對所有實現了DAS服務的相關相互作用數據庫進行有效集成。由于采用了非集中化的系統(tǒng)架構和數據交換規(guī)范,DASMI系統(tǒng)本身并不需要存儲任何相關數據,有效地降低了系統(tǒng)的維護成本,同時提高了系統(tǒng)的靈活性和可配置性。Blankenburg等人在DASMI系統(tǒng)的基礎上,又開發(fā)了在線集成、分析和評估分布式異構數據庫的 DASMIweb系統(tǒng)[16]。該系統(tǒng)采用基于網絡程序的DAS客戶端,專門面向蛋白質相互作用異構數據的集成;集成了35個蛋白質相互作用的相關數據庫,具有靈活、高效的特點,并具備一定的擴展能力。但是,由于采用了DAS系統(tǒng)的方式進行集成,所以該系統(tǒng)集成的對象只能是實現了DAS服務的數據庫,對于其他沒有實現該服務的數據庫無能為力。DASMIweb系統(tǒng)擴展能力的高低,取決于科學共同體對DAS服務的支持力度。
圖 6 DASMI系統(tǒng)架構[14]Fig.6 The architecture of DASMI system[14]
本體對特定領域的實體給出名字和描述,使用謂詞來表示這些實體間的關系。本體具有描述數據源的語義和解決數據源異構問題的潛力,因此可以用于異構數據集成?;诒倔w的數據集成中間件通過將各異構數據庫的模式映射到本體,實現了不同數據源間的語義一致,完成了語義層次上的數據集成?;诒倔w的數據集成的基本思想:一是在領域專家的幫助下,建立相關領域的本體;二是收集數據源的數據模式,并參照已建立的本體,把數據源模式與本體間的映射信息按規(guī)定格式存儲在元數據庫中;三是對用戶的查詢請求,查詢轉換器按照本體把查詢請求轉換成規(guī)定的格式,在本體的幫助下從元數據庫中匹配出符合條件的數據源集合,進而實施查詢;四是將查詢結果經過定制處理,返回給用戶。
K?hler等建立了一個基于本體實現生物學數據庫語義集成的系統(tǒng)SEMEDA[17],其總體策略是將數據庫的表和屬性映射到一個本體,而本體則需要實現“is a”的層次結構,圖7顯示了通過所建立的本體集成 Enzyme和 Vertebrate兩個數據庫的思路。首先,將兩個數據庫中表和屬性映射到本體,用本體提綱挈領地通過語義方式將所有表和屬性串聯到一起,形成語義網。同時,通過規(guī)范詞表(controlled vocabulary),對數據庫表的屬性值,進行語義規(guī)范,以進行一致性的語義查詢,如圖7中所示的ec nr和ec_nr兩個屬性被規(guī)范化為規(guī)范詞表中的“ECID”項?;诒倔w的語義集成方法特別適用于大量異構數據庫的集成,能夠通過本體對數據集成系統(tǒng)進行管理,十分靈活,可以方便地添加和刪除數據源。同時,該方法不需要維護復雜的集成模式,避免了相應的問題。
圖7 SEMEDA系統(tǒng)的集成思路[17]Fig.7 The integration way of SEMEDA system[17]
Alonso-Calvo等人建立了基于本體和代理(agent)的基因、蛋白質和疾病相關異構數據庫集成系統(tǒng) OntoFusion[18],結構如圖 8 所示。OntoFusion系統(tǒng)構建在多agent系統(tǒng)JADE基礎上,共有4個模塊:用戶界面、詞表服務模塊、中介器模塊和數據訪問模塊。系統(tǒng)的核心模塊是中介器模塊,負責提供對各異構數據庫的一致性訪問。詞表服務模塊負責維護和提供醫(yī)學和遺傳學本體,數據訪問模塊實現對公共和私有生物醫(yī)學數據庫的查詢,用戶界面模塊包括用戶接口和管理模塊。OntoFusion系統(tǒng)采用了多agent架構,使得其各個模塊可以運行于不同的計算機上,增強了系統(tǒng)的并行處理能力和靈活性。OntoFusion系統(tǒng)提供了獨立的詞表服務模塊,既可以用于數據集成,完成各異構數據庫模式之間的映射,又可以直接為用戶提供本體數據,使詞表服務模塊的復用性得到充分體現。
圖8 OntoFusion系統(tǒng)架構[18]Fig.8 The architecture of OntoFusion system[18]
Noy等建立了通過本體倉庫(repository)集成生物醫(yī)學數據的系統(tǒng) BioPortal[19]。BioPortal提供兩個主要功能:一是開放的生物醫(yī)學本體倉庫,二是使用該本體倉庫進行生物醫(yī)學數據源的集成。BioPortal的生物醫(yī)學本體倉庫包含134個本體,極大地拓展了數據集成的領域。特別地,BioPortal為編程者提供了用于訪問該本體倉庫的網絡服務(web service),可以方便地為需要該項功能的用戶提供服務。通過豐富的本體信息,BioPortal集成了諸如 ArrayExpress,DrugBank,OMIM,PubChem 和UniProtKB等20個不同領域內著名的異構生物醫(yī)學數據源,體現了強大的適應能力和擴展性。Min等人創(chuàng)立了前列腺癌本體(prostate cancer ontology,PCO),并以此為基礎開發(fā)了前列腺癌數據集成系統(tǒng)PCIS[20]。PCIS利用PCO為美國著名的??怂埂げ趟拱┌Y中心(Fox Chase Cancer Center,FCCC),成功地集成了與兩個前列腺癌相關的數據庫系統(tǒng)。該系統(tǒng)的關鍵是通過創(chuàng)建PCO與兩個異構數據庫模式之間的映射關系以達到消除語義性異構的目的。特別地,PCIS使用了一種語義查詢語言SPARQL進行查詢的構造,這樣可以更好地利用PCO語義方面的優(yōu)勢。PCIS是基于本體的數據集成方法在臨床醫(yī)學領域內的成功應用之一。
開放網格服務架構-數據訪問與集成(open grid services architecture-data access and integration,OGSA-DAI),是一種成熟的基于網格技術(grid technology)的分布式異構數據集成中間件。OGSADAI通過定義數據訪問的接口,隱藏數據庫驅動、數據傳輸等技術細節(jié),使用戶可以通過統(tǒng)一的網絡服務接口連接和使用分布式數據源,使得數據共享和使用更加方便。特別是在互聯網飛速發(fā)展的今天,基于網格的OGSA-DAI數據集成方法非常適合用于公開在互聯網上發(fā)布的生物醫(yī)學數據庫的集成。
Crompton等使用基于網格的OGSA-DAI技術進行了生物信息學領域的數據集成[21]。OGSA-DAI客戶端按照用戶的查詢請求,創(chuàng)建網格數據服務,同時調用 Jones等開發(fā)的 BDW[22]中間件的DWQueryActivity服務進行查詢。BDWQueryActivity使用包裝器查詢目標數據庫,獲取查詢結果。然后,XSL轉換器將結果轉換為BDW格式文件,并經過數據集成模塊處理,將集成后的結果返回給OGSI-DAI客戶端,進而返回給用戶。BDW是一個建立生物多樣性方面網格系統(tǒng)的中間件,但是Crompton等人將 BDW應用在生物信息學領域,使BDW中間件實現了基于網格的異構數據查詢和集成,并取得了成功。Luo等建立了一種基于網格的、用于分布式醫(yī)學數據庫集成的模型[23],所支持的異構數據源類型包括關系型數據庫(MySQL、Oracle和SQL Server)及文件數據源,其系統(tǒng)結構如圖9所示。該模型使用OGSA-DAI組件提供的網格數據服務(grid data service)作為本系統(tǒng)的核心組件,通過網格系統(tǒng)來訪問各分布式數據庫,隱藏了這些數據庫之間的異構性和動態(tài)性。該模型還提供了其他的功能組件用于實現數據集成和數據查詢功能。最終,通過應用程序接口可以實現基于網格技術的網絡應用程序,供用戶使用。該模型使用了網格技術及OGSA-DAI,實現了基于標準框架的分布式數據源的訪問和集成。同時,該模型提供了成熟的服務接口,以數據源相互獨立的方式支持了對醫(yī)學數據庫的一致性訪問。
XML(eXtensible Markup Language)可擴展標記語言,以一種開放的自我描述方式定義數據結構,在描述數據內容的同時又能突出對結構的描述,從而體現出數據之間的關系。XML有很強的數據結構表達能力及擴展性,非常適合于解決數據集成中關鍵的語義異構性問題??梢詫悩嫈祿吹臄祿J矫枋鰹?Schema或 DTD文檔,進而轉換為XML文檔結構,從而實現局部異構數據源的數據模式到全局數據模式的映射與數據的轉換。同樣具有跨平臺特性的XML數據描述技術與Java編程技術的結合,可以很好地解決系統(tǒng)異構性的問題。同時,可以利用基于成熟的XPath技術的XQuery查詢語言來訪問XML數據。XQuery之于XML相當于SQL之于關系型數據庫,可以完成復雜的查詢任務。
圖9 基于網格的數據集成系統(tǒng)架構[23]Fig.9 The architecture of data integration system based on grid[23]
Huang等構建了一個基于XML方法的生物數據集成系統(tǒng) JXP4BIGI[24]。JXP4BIGI是一個獨立于系統(tǒng)的通用框架中間件,其功能包括對異構數據的訪問、提取、轉換和集成。JXP4BIGI有4個核心組件,即XML生物實體模板,查詢/邏輯提取組件,包裝器和 JXP處理器。XML生物實體模板也稱為Java XML頁面(JXP),是用于表示生物實體的數據結構。包裝器按照查詢/邏輯提取組件的要求,在從異構數據源獲取到所需數據后,就將其存儲到JXP中。然后,JXP處理器就來分析處理這些 JXP,以抽取出用戶所需的數據,返回給用戶。由于定義目標生物實體的模板是XML文件,因此可以靈活地定義非常復雜的描述目標實體的結構,為解決數據的異構性奠定了堅實的語義描述基礎。JXP4BIGI是基于Java技術開發(fā)的,因此具有平臺獨立性,使其中間件的特點更加鮮明,適用范圍更廣。Bales等人提出了基于XML的生物醫(yī)學數據集成框架XBrain[25],該系統(tǒng)結構如圖 10 所示。XBrain 所集成的異構數據源分為3種數據模型:關系型(如CSM)、XML類型(如 IM)和本體類型(如OQAFMA)。XBrain采用 XQuery,在分布式條件下的擴展應用 XQueryD,實現數據的獲取;利用 XML技術,實現異構數據的集成。XQueryD處理器負責根據用戶提交的查詢需求,從各個異構數據源獲取數據。其中,XQueryD處理器使用 Silkroute[26]完成XML和關系型數據庫之間的映射,使用 StruSQL包裝器完成XML和本體之間的映射。XBrain可以提供CSV、HTML和XML3種格式的查詢結果返回給用戶。XBrain使用XML技術集成的數據模型基本涵蓋了生物醫(yī)學數據可能的數據模型,具有數據集成對象的全面性。XBrain使用了成熟的XQueryD技術,構建的應用程序具有很好的性能,特別是穩(wěn)定性和查詢速度。
圖10 XBrain系統(tǒng)架構[25]Fig.10 The architecture of XBrain system[25]
本文綜述了生物醫(yī)學異構數據庫集成領域內的最新研究進展,對基于數據倉庫、聯邦數據庫系統(tǒng)和中間件的3種方法及其相關研究進行了介紹和討論。下面將對這些方法的特點和適用性進行總結。
數據倉庫通常利用成熟的關系型數據庫,因此處理海量數據具有優(yōu)勢。利用數據倉庫還可以對數據進行預處理,特別是數據清洗,以提高數據的質量。可以利用數據倉庫提供的工具進行聯機分析處理(OLAP)和數據挖掘,對數據進行多層次、全方位的有效利用。數據倉庫通常在本地存儲,而且對其中的數據進行了預處理,因此實現了以磁盤的空間換取了用戶查詢的時間,提高了數據存儲和查詢的效率。數據倉庫增加了數據的可獲取性,當使用其他兩種方法時,如果某一個外部數據源暫停數據訪問服務時,數據集成系統(tǒng)的數據來源就減少了一個,而數據倉庫則不會發(fā)生這種情況。但是,數據倉庫也存在一些不足:其架構不夠靈活,不能及時反映所集成數據源的改變;建立數據倉庫的成本較高;隨著數據量的不斷增長,存儲設備不斷增加,數據更新和維護逐漸困難。
聯邦數據庫系統(tǒng)著重實現各異構數據源之間的互操作,其最常用的方法是將每個數據庫模式分別和其他所有數據庫模式進行映射。如果有n個自治數據庫,則聯邦中需要建立 n(n-1)個模式映射規(guī)則。但是,當參與聯邦的數據庫很多(n值很大)時,建立映射規(guī)則的任務將變得很復雜而難于實現和維護。所以,聯邦數據庫集成系統(tǒng)適用于自治數據庫的數量比較少、各數據庫有較好的自治性、允許用戶單獨查詢、各數據庫間能夠彼此聯合回答查詢的情況。
中間件是目前比較流行的數據集成方法。由于每次查詢都要連接到各數據源,因此該方法可以很好地反映所集成數據的實時性。該方法可以集成非數據庫數據源,如半結構化數據。基于中間件的數據集成系統(tǒng)中的數據源的查詢能力可以是受限的,如可以不支持SQL查詢。因為這些數據源是完全自治的,所以很容易對系統(tǒng)中數據源進行添加或刪除,這使得系統(tǒng)的數據維護工作大大減少、系統(tǒng)的靈活性大大加強。該方法也存在一些不足之處?;谠摲椒ń⒌臄祿上到y(tǒng)通常是只讀的,而數據倉庫和聯邦數據庫系統(tǒng)既可讀也可寫;不支持各異構數據源之間的互操作;因為該方法是基于程序運行時的數據集成方法,所以受程序運行效率的限制,很難完成在線的數據清洗等維護數據質量的工作;該方法可能引發(fā)原始數據源非故意的拒絕訪問,此時系統(tǒng)所集成的數據源就會減少。例如NCBI嚴格限制用戶每天訪問的次數,如超限,可能會被暫時禁止訪問。當數據源的查詢能力受限時,如何處理查詢和進行優(yōu)化也是亟需完善的工作。
[1] Cochrane GR and Galperin MY.The 2010 Nucleic Acids Research Database Issue and online Database Collection: a community of data resources[J].Nucleic Acids Research,2010,38(Database issue):D1-D4.
[2] Karasavvas KA, Baldock R, Burger A. Bioinformatics integration and agent technology[J].J Biomed Inform,2004,37(3):205-219.
[3] Goble C,Stevens R,Hull D,et al.Data curation + process curation= data integration + science [J]. Briefingsin Bioinformatics,2008,9(6):506-17.
[4] Maurizio L.Data integration:a theoretical perspective[A].In:Proceedings the ACM Symposium on Principles of Database Systems[C].New York:ACM Press,2002.233 -246.
[5] Hernandez T and Kambhampati S. Integration of biological sources:current systems and challenges ahead [J].ACM SIGMOD Record,2004,33(3):51-60.
[6] K?hler J. Integration of life science databases[J]. Drug Discovery Today,2004,2(2):61-69.
[7] Trissl S,Rother K,Müller H,et al.Columba:an integrated database of proteins,structures,and annotations [J].BMC Bioinformatics,2005,6:81.
[8] Chaurasia G,Malhotra S,Russ J,et al.UniHI 4:new tools for query,analysis and visualization of the human protein-protein interactome[J].Nucleic Acids Res,2009,37(Database issue):D657-660.
[9] Tarcea VG,Weymouth T,Ade A,et al.Michigan molecular interactions r2:from interacting proteins to pathways[J].Nucleic Acids Res,2009,37(Database issue):D642-646.
[10] Muilu J,Peltonen L,Litton JE.The federated database-a basis for biobank-based post-genome studies,integrating phenome and genome data from 600,000 twin pairs in Europe [J].Eur J Hum Genet,2007,15(7):718-723.
[11] Androulakis S,Schmidberger J,Bate MA,et al.Federated repositories of X-ray diffraction images[J].Acta Crystallogr D Biol Crystallogr,2008,D64(Pt 7):810 -814.
[12] Hwang DS,Fotouhi F,Son YJ.A case study:development of an organism-specific protein interaction database and its associated tools [J]. InternationalJournalofCooperative Information Systems,2003,12(2):15.
[13] Marenco L,Wang TY,Shepherd G,et al.QIS:A framework for biomedical database federation[J].J Am Med Inform Assn,2004,11(6):523-34.
[14] Blankenburg H,Finn RD,Prlic'A,et al.DASMI:exchanging,annotating and assessing molecularinteraction data [J].Bioinformatics,2009,25(10):1321-1328.
[15] Dowell RD, Jokerst RM,Day A, et al. The distributed annotation system [J].BMC Bioinformatics,2001,2:7.
[16] Blankenburg H,Ramírez F,Büch J,et al.DASMIweb:online integration,analysis and assessmentofdistributed protein interaction data[J].Nucleic Acids Res,2009,37(Web Server issue):W122-128.
[17] K?hler J,Philippi S,and Lange M.SEMEDA:ontology based semantic integration of biological databases[J].Bioinformatics,2003,19(18):2420-2427.
[18] Alonso-Calvo R,Maojo V,Billhardt H,et al.An agent-and ontology-based system for integrating public gene,protein,and disease databases[J].J Biomed Inform,2007,40(1):17-29.
[19] Noy NF,Shah NH,Whetzel PL,et al.BioPortal:ontologies and integrated data resources at the click of a mouse [J].Nucleic Acids Res,2009,37(Web Server issue):W170-173.
[20] Min H,Manion FJ,Goralczyk E,et al.Integration of prostate cancer clinical data using an ontology[J].J Biomed Inform,2009,42(6):1035-1045.
[21] Crompton S,Matthews B,Gray A,et al.Data integration in bioinformaticsusing OGSA-DAI[EB/OL]. http://www.allhands.org.uk/2005/proceedings/papers/500.pdf,2005/2009-12-18.
[22] Jones AC,White RJ,Gray WA,et al.Building a Biodiversity GRID[A].In Konagaya A and Satou K,eds.:Grid Computing in Life Science[M].Berlin:Springer-Verlag,2005.140-151.
[23] Luo Y,Jiang L,Zhuang TG.A grid-based model for integration of distributed medicaldatabases [J]. JournalofDigital Imaging,2008,22(6):579-588.
[24] Huang Y,Ni T,Zhou L,et al.JXP4BIGI:a generalized,Java XML-based approach for biological information gathering and integration[J].Bioinformatics,2003,19(18):2351-2358.
[25] Bales N,Brinkley J,Lee ES,et al.A framework for XML-based integration ofdata,visualization and analysisin a biomedical domain [A].Database and XML Technologies[M].Berlin Heidelberg:Springer-Verlag,2005.207-221.
[26] Fernandez M,Kadiyska Y,Morishima A,et al.SilkRoute:a framework for publishing relational data in XML [J].ACM Transactions on Database Technology,2002,27(4):438-493.
Progress in Biomedical Heterogeneous Database Integration
ZHANG ZhiZHANG Zheng-Guo*
(Institute of Basic Medical Sciences,Chinese Academy of Medical Sciences,Peking Union Medical College,Beijing 100005,China)
With the rapid development of biomedicine,many biomedical databases have constantly emerged.How to methodically organize these independent databases is fundamental to increase the overall knowledge and understanding of a specific subject.Data integration can implement wider data sharing and more effective utilization of data,and it has become the core research content of bioinformatics.In this paper,the methods of the integration of biomedical heterogeneous database were introduced,and the newest progress in this field was reviewed.The characteristics and the use conditions of all methods were discussed and summarized as well.
heterogeneous database;database integration;data warehouse;federated database;middleware
R318
A
0258-8021(2010)03-0454-10
10.3969/j.issn.0258-8021.2010.03.022
2009-12-25,
2010-01-08
中華醫(yī)學基金(CMB03-787)
*通訊作者。 E-mail:zhangzg126@126.com