知識管理系統(KMS)通過IT技術為企業提供知識管理服務,實現企業顯性知識和隱性知識、內部知識和外部知識的獲取、沉澱、共享、學習、應用和創新,實現知識創造價值。知識管理系統中的知識主要由二種數據結構存在,一是用以描述知識屬性和本體的結構化數據,二是以文檔、郵件、多媒體等開工存在的非結構化數據。如何選擇合適的數據庫平台實現二類數據的有效處理將成為KMS系統成敗的關鍵要素之一。
一、數據處理主流技術分析
在數據處理領域關系型數據庫(RDB)技術處於統治地位,它以關系數學、簡單的關系模型為基礎,以SQL為處理工具,得到了廣泛的應用,其技術特征決定更擅長結構化數據處理應用,近年來各廠商在關系型數據庫基礎上拓展功能,開始具有內容管理、多媒體等數據處理能力。典型的產品包括Oracle、DB2、SQL Server、MySQL等。而針對海量結構化數據處理,則還有如ESSBase、Cognos等多維數據庫系統。
在文檔等非結構化數據處理方面,則以文檔型數據庫為領先,具有海量特性,不受字節數的限制,任何圖形、聲音信息,無論其大小、長短、高低,都只是這一數據庫中一個的組成元素而已,IBM Lotus Domino則是在存儲這類非結構化數據方面具有業界公認優勢的產品代表。
以下是關系型數據庫與文檔型數據庫的簡單比較:
關系型數據庫(Oracle/DB2等)
文檔型數據庫(Domino等)
基於事務處理模型
基於文檔型
使用結構化數據
使用半結構化數據
提供實時訪問數據
使用復制來增加或減少文檔(按修改)
使用特別的查詢定位數據
使用視圖定位數據
使用SQL來訪問
使用全文檢索來訪問
針對特殊應用領域還有一些專用數據庫技術,如空間數據庫等技術。
二、KMS系統主流數據庫應用分析
當今的KMS系統采用的主流技術主要有IBM Domino、SUN JAVA、Microsoft .net三大體系,Domino以電子郵件、協同、非結構文檔處理、安全機制見長,Java以開放標准正引領技術方向,.Net以簡單、靈活、易用、低成本也廣受親睐。
在KMS的數據處理方面則有二大陣營,一類是Oracle/DB2/SQL Server等關系型數據庫,另一類是Domino等文檔型數據庫。
Domino具有高效的文檔處理能力,具有多達7層(管理者、設計者、編輯者、作者、讀者、存放者、不能存取者)的安全控制機制,可以實現服務器、某個數據庫、某個視圖、某個表單、某個操作、某一篇文檔或某個字段等的權限控制,可以跟蹤並記錄所有用戶對數據庫和文檔的各種操作等突出優勢,非常適合KMS系統中對文檔型知識的管理。但是面對大量表單等結構化數據處理需求時,計算、統計能力差的Domino則難以應對。
關系型數據庫則擅長結構化數據處理,具有卓越的計算、統計性能,但面對大量的文檔處理時(據統計研究表明,KMS系統處理的文檔型數據約占整個數據處理的70-80%),也會暴露出明顯的問題。
就目前比較成熟的技術而言,RDB處理文檔數據通常有二種方法:
方法一 方法二
方法一:將文檔以文件形式存放在操作系統的文件系統中,關系型數據庫僅存放文檔具體存放的位置信息,當文件組織合理時,由於直接訪問文件系統,性能非常好,全文搜索等文檔管理功能也容易實現,但其缺點也很明顯,主要是:
1. 導致操作系統文件數量巨大,系統管理員管理復雜;
2. 文檔安全性差,只能依靠操作系統的安全來保證,只要能訪問系統就可訪問文檔,前端的權限控制無法保證;
3. 系統平台比較容易受到病毒、黑客攻擊,文檔文件被破壞的可能性非常大;
4. 系統管理員備份時,除備份RDB數據庫,還必須手工備份文件系統的文檔;
5. 當文件非常多時,磁盤碎片將會很多,浪費空間,同時系統性能會大大降低。
該方法由於實現技術比較簡單已被許多KMS廠商采用,但是當知識管理系統成為企業級管理工具時,這種方法應用的風險則非常大,因此這種方法更適合中小規模的知識管理應用或部門級應用。
方法二:文檔作為關系型數據庫的一個特殊字段(如Oracle的BLOB字段)保存,該方法管理方便、安全性高,但數據庫設計復雜、大量文檔時性能影響大、全文搜索等功能實現復雜。目前采用這種方式的KMS系統還比較少,隨著RDB功能的不斷加強,相信該方法會越來越成熟。
三、混合數據庫平台的KMS解決方案
通過對業界主流數據處理技術的分析可以看出,基於文檔型數據庫或關系型數據庫技術都難以滿足KMS應用的需求,根據研究、開發與實踐,提出混合數據處理技術的KMS解決方案,整個KMS方案基於J2EE體系架構,數據存儲層由Domino和RDB共同支撐,Domino負責文檔等非結構化數據處理,RDB負責結構化數據的處理,具體實現方案示意如下:
1) 對純結構化數據(如業務表單),直接通過Java+RDB實現數據的處理;
2) 對混合數據(如合同中包括表單和合同附件),系統則將其分解為結構化數據和非結構化數據二部分,結構化數據由RDB處理,非結構化數據由Domino處理;
3) 對純文檔數據(如知識文檔),則直接由Domino負責處理。
采用混合數據處理技術的KMS方案具有以下優勢:
1) 整個KMS系統基於J2EE體系架構,充分利用了Java開放性等技術優勢;
2) 合理運用了文檔型和關系型數據庫各自的優勢,完善地解決了KMS應用需求;
3) 避免了純Java技術實現KMS時需要開發“類Domino”平台(如文檔處理、搜索、安全控制等)的工作量與風險。
當然,采用這種方案也存在弱點,一是需要二套數據庫平台,成本較高,二是需要熟悉二種數據庫的開發、實施人員,對人員素質要求較高。
這種方案更加適合企業級KMS應用,在實際應用時,可以根據需求的具體情況選擇合適的產品與技術來構建數據支撐平台,如當KMS系統絕大部分處理的是文檔型數據,少量的結構化數據時,則可以選擇Domino+MySQL,這種方案幾乎不會增加投入,又能滿足需求。
四、結束語
從目前技術發展趨勢看,二種數據庫技術將逐步走向融合與統一,關系型數據庫增加文檔處理功能,如Oracle增加內容管理等,文檔型數據庫增加計算能力,如IBM 宣布Domino 7支持DB2為作為數據存儲工具。相信在不遠的將來,KMS應用將會有一種更好數據處理解決方案,融結構化數據、非結構數據處理於一體的數據庫平台。