摘 要:隨著虛擬化技術的不斷發展,虛擬化技術作為一種新的計算模式,改變了傳統計算機的體系結構。在進行數據庫相關的開發應用中,常常會因為數據庫結構的變化導致應用系統出現異常,針對數據庫結構變化而要進行的有關應用系統的修改會需要很大的人力資源。數據庫虛擬機的框架模型可在一定程度上解決上訴問題。
關鍵詞:虛擬機技術;數據庫;框架模型
中圖分類號:TP39 文獻標識號:A 文章編號:2095-2163(2013)04-
Application of Virtual Machine Technology in the Database
LIU Liping
(Department of Computer Science, Hegang Teachers College, Hegang Heilongjiang 154100,China)
Abstract: With the continuous development of virtualization technology, virtualization technology as a new computer model changed the traditional computer architecture. In database applications, change of database structure often leads to abnormal application system .But the change of the database application system structure will require a lot of manpower resources. Database virtual machine model can solve the problem in a certain extent.
Keywords: Virtualization Technology; Database; Framework Model
0引 言
作為主流的數據庫管理系統,關系數據庫管理系統已經具有相當成熟的管理技術,但隨著RDBMS復雜性增強以及新功能的增加,數據管理的難度也隨之加大,就是使得對數據庫管理人員的技術有了更高的要求,數據庫管理系統的一些管理功能已經無法滿足現有需求。通過建立一個數據庫虛擬機模型對數據進行重構和管理,使用戶可以通過數據庫虛擬機的功能來實現更為全面的管理,則成為當前的一個研究熱點。
1 數據庫的變更對應用系統的影響
在實際應用中,由于很多數據庫結構是為了不同的目的在不同的階段建立的,由此而帶來大量的數據重復,造成了數據的冗余[1]。而榆次同時,又會產生大量的同名異義和異名同義但數據結構不同的問題,這些問題增加了數據庫的負擔和管理的復雜性。另一方面,由于應用程序是對數據庫中的數據進行直接訪問,當數據庫結構發生改變時,也必將直接影響應用程序的正常運行[2]。
2 數據重構和管理平臺框架
根據設計的目標要求,構建了數據重構和管理平臺兩個框架。數據重構模塊是數據庫虛擬機中的重要核心模塊之一。由于數據之間存在著數據沖突和數據冗余等問題,影響了數據的使用效率,因此通過數據重構的方式來解決數據之間存在的數據沖突和數據冗余等問題。數據重構模塊包括數據管理單元(MU)[3]和注冊中心[4]兩部分,如圖1 所示。
由圖1可知,MU是數據重構模塊的核心,記錄所管理的數據表的相關信息,其核心思想是抽象與實際相分離。即先提取給定數據在數據庫中的數據結構,通過統一命名標準,抽象成MU全局的數據結構描述。MU是按照數據類別劃分的,它們映射的數據彼此互不相同。在應用程序和數據庫中的表之間添加一個轉換層,轉換層用來記錄數據結構消除沖突前后的對應映射,當數據庫結構發生變化時,通過轉換層來映射數據庫結構轉換,這樣就可實現應用程序和底層數據庫的邏輯獨立性[5-6]。
3 數據庫虛擬機框架
當應用程序向注冊中心申請數據訪問,注冊中心審核請求,并返回相應的MU。如果相應的MU不存在,則不能訪問數據庫;如果存在,則與應用程序綁定,該應用程序對數據庫的訪問都將經過這個MU。當數據庫結構發生改變時,通過一定的規則修改MU與數據庫之間的映射關系,因為應用程序直接訪問的是MU,在數據庫結構改變后,應用程序與MU之間的關系卻未改變,虛擬機將根據應用程序的需求將從數據庫提取得到的數據進行轉換。除此,虛擬機還具備管理的功能,對其分析如下:
(1) 降低同名異義、同義異名的功能。在應用數據結構和數據庫中的數據結構之間可以用一棵注冊樹來表示,在每一個MU內部都存在一棵注冊樹中,將單元數據對應的數據庫中的數據結構注冊到樹中的相應位置,而在注冊樹中,任意兩棵子樹或節點的數據描述都互不相同。數據描述相同的會成為注冊樹中的同一個節點。這樣同名異義的注冊的節點是不同的,同義異名注冊的節點將會是同一個。
(2) 數據類型轉換功能。當數據結構改變時,會改變屬性的數據類型或數據長度,虛擬機會通過函數進行轉換。例如數值型轉換為字符型,數據長度由3位轉換為6位等。轉換函數庫也是根據不同的情況而變化的,管理員可以根據數據庫變更的情況對函數進行添加。
4數據轉換方式
(1) 直接轉換。當應用程序申請數據訪問時,MU根據映射關系從數據庫提取數據,如果數據結構不同,則要將數據轉換后再返回給應用程序。這種轉換是在應用程序發出申請后進行的,由于是針對申請逐個轉換的,因此不占用額外的存儲空間。如果轉換的數據量龐大或復雜,必將會影響查詢的速度。
(2) 基于空間數據轉換。在最初建立數據庫時,應用數據結構和數據庫中的數據結構是相同的。在MU中建立監聽器來監聽數據庫中數據結構的變化,當數據庫中的數據結構改變時就會進行轉換。這樣當應用程序申請數據訪問時,可以直接將完成轉換的數據返回給應用程序。這種轉換方式可以大大提升查詢速度,但是需占用一定的存儲空間。
5 結束語
數據重構是數據庫虛擬機的核心技術,運用數據庫虛擬機解決了數據沖突,同時通過轉換函數,解決了由于數據庫結構改變對應用程序的影響。在數據庫虛擬機模型中建立映射機制,完成應用程序所需數據結構和數據庫結構的映射,實現應用程序和數據庫數據的邏輯獨立性。在MU中提出了注冊樹的概念,將屬性按照其數據描述進行分類,使數據的管理規范、清晰。同時,還在一定程度上消除了同名異義和同義異名,減少數據冗余,降低了應用程序的維護工作量,提高了數據處理人員的工作效率和質量,節約成本。
參考文獻:
[1] 戴大蒙,劉均.關系數據庫重構模型的研究與實現[J].計算機工程,2005:31(23):211-213.
[2] 薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000.
[3] 陳偉.數據清理關鍵技術及其軟件平臺的研究與應用[D].南京:南京航空航天大學,2004.
[4] 孟小峰,數據庫技術發展趨勢[J].軟件學報,2004,15(12):1822-1836.
[5] 張孝天.面向企業數據重構和管理平臺的研究與應用[D].青島:中國石油大學(華東),2006.
[6] 胡德敏.基于數據庫虛擬機的數據重構和管理平臺研究與應用[D].濟南:山東大學,2008.
作者簡介:劉立平(1978-),女,黑龍江鶴崗人,碩士,講師,主要研究方向:數據庫、模糊數學。