新疆維吾爾自治區環境保護科學院 道仁·哈尼開
異構數據庫其實就是計算機本體在體系、基礎操作系統、物理結構、數據結構和語義以及數據庫管理系統等方便的異構問題。其中數據庫管理系統本身的異構性可分為三個方面:一是在不同結構方面,從本質上來說就是DBMS數據的應用在模型和數據結構兩方面上的不同;二是數據存儲種類異構,主要指的是現實中相同數據在不同的數據庫中的表達和存儲不同;三是關系表達異構,主要指的是事件中的兩個事務之間的關系可以從多個不同的方面來定義和理解;本文需要針對異構數據庫問題的探索,從根本上來說指的是按照異構數據庫的管理體系之間的不同所產生的問題通過數據轉換的方式來解決。
XML是Extensible Markup Language的縮寫,具有描述性的標記作用,能夠在標記語言的基礎上賦予用戶定義源語言的權利。一般情況下在進行電子文件標記的過程中賦予其鮮明的結構性,同時能夠針對數據來定義其類型并且進行標記。XML在SGML的范疇之內,也是標準通用標記語言,在數據傳輸和轉換兩方面上的應用十分普遍。為應用程序在描述和交換方面建立了統一的辦法。
在XML技術誕生之前,數據的交換不具備統一的標準,所以異構數據的轉換和共享難以實現。XML技術誕生以后,在各個領域都發揮了極其廣泛的作用,其優勢有助于行業之間在轉換和共享異構數據方面的應用。由于XML 格式開放,在許多操作系統和不同的平臺上得到支持,所以廣泛用于數據交換,尤其是在異構系統集成的過程中常使用XML 作為數據交換的媒體;XML 文檔解決了純文本格式在存儲上的問題,所以進行數據共享時不需要有與該數據相對應的應用程序,而數據共享的各種系統只需要有XML 解析器就可以方便地存取XML文檔,所以常常用于數據共享;XML具有格式自由、編輯方便、易于擴展、文檔中嵌套的標記結構清晰等特點廣泛用于數據的存儲,目前很多應用程序和業務系統都把XML作為配置文件,可以方便地存儲和讀寫數據。
異構數據轉換是將異構數據轉換成一種統一的標準數據傳送格式的一種數據整合的技術。異構數據轉換技術可以很好地解決異構系統間的數據共享以及業務協同的問題,從而大大提高系統的運行效率。
如今,對異構數據庫數據實行有效轉換的方式有三種。其一,通過不同數據庫廠里面所特有的轉換功能來實行。一般我們選擇甲骨文公司里面針對異構數據的Oracle導入和導出功能,又或者是Microsoft 公司針對異構數據的SQL Server的DTS功能。盡管這些功能的性能普遍比較穩定,轉換的質量也非常高,但是一般都對硬件和運行的環境有著過高的要求,并且在實際應用的過程中,因為每一個數據庫對于同一個數據在類型和長度方面都有著相對不同的定義,以至于在進行數據轉換的時候往往產生異常問題,導致不能實現正常的轉換;其二,利用中間數據庫里面的轉換功能。一般我們選擇Access里面的轉換功能,盡管Access轉換的模塊較少而且很容易實現擴展的效果,但是在轉換的過程中相對復雜,所需的時間也相對較長,除此之外,轉換而來的數據一般都不能保證有較高的質量。其三,借助XML來轉換。把我們需要進行處理的數據轉變成XML文檔之后,通過應用程序對XML文檔里面的數據進行辨別和解析處理。總的來說,借助XML的方式轉換數據,有著顯著的開放性。
XML 基礎上的異構數據其本質上是針對XML建立公共數據模型以此實現異構數據庫之間的轉換。常見的工具模型層次的分類有三種,第一種是源數據庫層,第二種是數據轉換層,第三種是目的數據庫層。圖1所示的是數據轉換在XML基礎上的轉換模型。針對異構數據進行轉換的過程中通常分為三個部分:第一部分是抽取源數據庫里面的數據將其轉換成XML 基礎上的格式和結構文件;第二部分是通過XML 結構文件將源數據庫與目的數據庫兩者進行有效轉換;第三部分是按照數據結構轉換過程中的相關規則,對源數據庫XML數據進行處理,使其轉換到目的數據庫當中,達到數據轉換的目的。
圖1 基于XML數據轉換模型
在圖1數據轉換工具模型中,關鍵的步驟在于怎樣將源數據庫需轉換數據抽取為 XML文件。因此整個轉換模型的核心就在于數據轉換層,它的起到承上啟下的作用,通過數據抽取器與數據庫進行關聯并且把源數據庫里面的屬于進行轉換得到XML。
在XML基礎上的異構數據庫在進行轉換數據的關鍵過程通常集中在數據的抽取、轉換和代寫這三個方面。
(1)數據抽取器:指的是針對數據的抽取,相當于是轉換數據的第一步,它首先使用 ADO.NET 技術連接源數據庫,通過對數據庫的應用實現對模塊的操作功能,主要通過對連接功能,查詢功能,插入功能、修改功能和刪除等方面的操作,來獲取數據庫的數據信息,按照需求來對數據實行轉換操作。利用數據庫將模塊抽出來,通過對轉換而來的數據進行提取,得到XML 數據文件,與此同時形成 XML 結構文件,使得數據在源數據庫和目的數據庫之間的轉換和匹配能夠有效進行。
(2)數據轉換器:指的是對數據結構進行轉換,是實現數據轉換的主要環節。首先針對XML結構文件,使得源數據庫與目標數據庫兩者之間形成聯系,通過對轉換過程中產生的語義、命名、類型等方面問題的解決,得到數據結構轉換文件,同時把源數據庫里面的數據進行更新后,將其轉換成最終所需要目的數據庫。數據轉換有兩種方式,一種是遷移式,一種合并式。遷移式的轉換方式一般針對空的目的數據庫來進行,而合并式數據轉換方式多用于目的數據庫為不空的情況。
(3)數據寫入器:是數據轉換層的最后步驟,其負責進行數據的寫入。也就是說按照結構轉換的規則實現源數據庫和目的數據庫兩者之間的轉換。
長期以來,“數據孤島”問題已經給信息化建設中的數據共享、數據轉換和數據交換帶來了制約,而XML 技術的產生和發展給解決這一問題提供了新的方法。在對異構數據庫數據進行轉換的過程中,XML有著顯著的優勢,該技術正逐漸成為實現數據共享與交換的不二選擇。
[1]韓冰.如何進行XML的異構數據庫數據的轉換[J].硅谷,2012(09).
[2]楊倩晨.高校異構數據共享與交換的應用研究[J].教育現代化,2017(4).
[3]杜邵敏.基于XML的異構數據庫數據轉換技術的探討[J].通化師范學院學報,2009(02).
[4]王沛.一種基于XML的異構數據庫數據轉換方法[J].西安郵電學院學報,2009(06).
[5]杜邵敏.基于XML的異構數據庫數據轉換工具的設計與實現[D].沈陽理工大學,2009.