趙云霞
摘要:隨著數據庫技術的發展,數據庫技術與其他學科的內容相結合,是新一代數據庫技術的一個顯著特征,主動數據庫由于其相對傳統數據庫具有能主動提供服務的優勢而得到了迅猛發展。本文從主動數據庫的產生、構成、實現、研究進展及其應用五個方面對其進行了闡述。
關鍵詞:傳統數據庫;主動數據庫
1 引言
數據庫系統已從第一代的網狀、層狀數據庫系統,第二代的關系數據庫系統,發展到第三代以面向對象模型為主要特征的數據庫系統。數據庫技術與網絡通信技術、人工智能技術、面向對象程序設計技術、并行計算機技術等互相滲透,互相結合,成為當前數據庫技術發展的主要特征。
主動數據庫自20世紀80年代初被提出后,因為能較好地滿足計算機集成制造、網絡管理、辦公自動化等眾多應用領域的特殊需要,受到了廣泛的關注,已成為數據庫領域的一個研究熱點。
2 主動數據庫的產生
傳統的數據庫所作出的一切響應都是針對用戶所作出的指令而進行的,數據庫本身不會根據自身狀態主動進行操作。在實際應用領域中,如管理系統、辦公自動化系統等,用戶希望數據庫在緊急的情況下能根據當前狀態主動做出反應,進行相關操作,使得用戶能及時了解數據庫的情況并作出合適的操作。但是傳統的數據庫對此無能為力,無法主動向用戶提供信息。
因此,在傳統數據庫的基礎上,計算機工作者結合人工智能技術和面向對象技術提出了主動數據庫。主動數據庫不僅能提供一切傳統數據庫所能提供的服務,而且能主動對用戶提供服務。
3 主動數據庫的構成
主動數據庫系統(ADBS)由三部分構成,一個是傳統數據庫系統(DBS),一個是事件驅動的知識庫(EB),另外一個是相應的事件監視器(EM)。即:ADBS=DBS+EB+EM。其中,EB是一組由事件驅動的知識的集合,每一項知識表示在相應的事件發生時,如何來主動地執行其中包含的由用戶預先設定的動作。EM是一個隨時監視EB中的事件是否已經發生的監視模塊,一旦監視到某事件已經發生時就主動地觸發系統,按EB中指明的相應知識執行其中預先設定的動作。EB中知識表示形式的不同, 將獲得各種不同的主動行為,在目前常采用事件驅動的“條件——動作”規則表示這種知識。每條“條件——動作”規則指明什么條件下執行什么動作。
4 主動數據庫管理系統的實現
傳統的主動數據庫管理系統一般采用“事件——條件——動作”模式,獨立地進行DBMS全部功能的設計實現;或在原有的DBMS的基礎上添加主動機制,使原來的DBMS具有主動性,能夠主動地實現動態修改和主動適應的功能。目前大多數ADBMS都采用“事件驅動”、“規則匹配”的機制來實現,如哈弗大學的CPLEX,IBM公司的SIARBURST。
傳統的ADBMS在實際應用中存在開發難度大、周期長、無法利用已有的歷史數據的不足之處。如果直接利用已有的數據而又能使傳統的數據庫系統具有主動性就能夠解決上面的問題,既可以節約資金又可以與現有數據庫系統兼容。這個問題的解決辦法是最近的研究重點,比較典型的方法主要有以下幾種:
4.1 基于組件的主動數據庫
基于組件的ADBMS實現方法直接利用已有的DBMS完成數據組織、共享資源等方面的功能,在數據連接層加入一個中間層組件監視系統發生的變化,并將這些變化實時地傳給系統的事件監視器,當事件監視器發現有系統定義的事件發生時自動進行條件匹配,如果匹配成功,則觸發相應的動作執行。
4.2 基于圖的主動數據庫規則模型的E-RG
此模型基于規則執行的時間關系,引入“依次關系”、“同步關系”與“并發關系”,將多個C-A規則按時間語義關系組成規則圖(Rule Graph)RG,相同的規則集可對應不同的RG,分別聯系于不同的事件,從而形成一種E-RG主動規則。E-RG主動規則的語義可表示為;事件E的發生觸發規則圖RG的執行,RG的執行滿足RG所含的時序關系,執行的耦合方式包括“立即”、“推遲”、“分離”。
4.3 基于動態模糊邏輯的主動數據庫
基于動態模糊邏輯的主動數據庫系統引入了動態模糊數據的概念,它由一個DF數據庫(DFDBS)外加一個DF事件驅動規則庫(DFEB)及其相應的DF事件監視器(DFEM)組成。即:DFADBS=DFDBS+DFEB+DFEM
4.4 分布式主動數據庫
分布式主動數據庫(DADB)的出現是應用的具體需求和分布式數據庫與主動數據庫互相融合、共同發展的結果。
5 主動數據庫的研究進展
實習主動數據庫的關鍵技術在于它的條件檢測技術,能否有效地對事件進行自動監督,使得各種事件一旦發生就很快被發覺,從而觸發執行相應的規則。此外,如何擴充傳統的數據庫系統,使之能描述、存儲、管理ECA規則,適應于主動數據庫;如何構造執行模型,也就是說ECA規則的處理和執行方式;如何進行事務調度,使之不僅能滿足開發環境下的可串行話要求,而且滿足對事務時間方面的要求;如何在傳統數據庫管理系統的基礎上擴充事務管理部件和對象管理部件以支持執行模型和知識模型并增加事件偵測、條件檢測和規則管理等部件從而形成主動數據庫的體系結構;如何提高系統的整體效率等都是主動數據庫需要集中研究解決的問題。
“主動數據庫”它的一個很突出的思想是要讓數據庫系統具有各種主動進行服務的功能,并以一種統一而方便的機制來實現各種主動性需求,即要求把這些主動性功能用一種統一的方法與原有的數據庫功能集成在一個數據庫系統中。目前為止,這種機制主要是通過將一些規則嵌入數據庫系統的辦法來實現,目前人們研究工作主要集中在主動數據庫的實現模式和方法上。
6 主動數據庫的應用
雖然還處于研究的初級階段,但主動數據庫在計算機集成制造、網絡管理、辦公自動化等眾多應用領域都有著廣泛的應用。例如,在一些商品化的數據庫管理系統中,如Oracle和Sybase等數據庫系統,在某種意義上都引入了主動處理的功能。另外,主動性概念正在被引入各種與數據庫關系密切的領域中,因為人們發現這種主動性機制可方便地用來實現實時數據庫、合作數據庫、動態數據庫和演繹數據庫等。另外,在電網監控等工業應用方面,主動數據庫也有廣泛應用。
主動數據庫已成為數據庫技術中一個活躍的研究領域,近年來的研究已取得很大的成果,雖然還有許多概念尚不成熟,技術問題還有待進一步研究解決,但它有著廣泛的研究應用前景。