选择知识管理系统的数据库平台

选择知识管理系统的数据库平台

知识管理系统(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应用将会有一种更好数据处理解决方案,融结构化数据、非结构数据处理于一体的数据库平台。
good