混合数据管理引擎_数据管理论文

混合数据管理引擎,本文主要内容关键词为:数据管理论文,引擎论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

20世纪90年代,互联网的出现和发展极大地改变了人与人之间交流的方式,互联网逐渐成为人们发表言论、获得信息、进行交流的主要形式,成为人们生活、学习、工作离不开的环境。互联网技术的迅猛发展,极大的推进并影响政府、企事业单位对日积月累并不断涌现大量的内容丰富、种类各异的数据应用需求。目前,信息系统的应用,其主要目的不再是“交易”,而是“交流”和“沟通”,海量信息资源检索成为计算机处理的主要操作。现今计算机处理的对象从单一数据到以自然语言文档为代表的多样非结构化数据,例如图书、文献、新闻、网页、技术资料、电子邮件、图片、音频、视频等等。如何整合、访问、分析、挖掘和利用这些海量信息资源,成为增强机构业务核心能力的一个关键。有效地理解、挖掘这些文档中的知识,将成为21世纪初的30年中计算机科学面临的一个重要研究课题。

在大量的企业级信息系统的应用中几乎都需要对混合型的数据进行管理。典型的信息服务系统,包括信息的采集、编审、存储、处理、发布等。管理的信息既包括数值信息,如统计数据、生产数据,还有描述性信息,如姓名、地址、证号等短字符信息,又有说明性文件,如分析报告、政策文件、产品说明等。即使数字档案馆、数字图书馆、医疗管理系统,除需要对文档资料、多媒体内容管理外,还需要对元数据、用户、权限、日志信息及控制流程等结构化信息进行统一管理。

今天的应用系统要处理的数据对象,是多类型并存的混合型数据,具有3个特点:(1)信息量大。信息数量多、容量大,而且同一机构的数据还可能分布在不同的介质载体上。(2)类型多样。包括结构化、半结构化、非结构化混合型类型数据。信息来源不同、格式不同、载体不同。(3)处理复杂。对混合类型数据进行统一管理,实现结构化数据和非结构化数据的集成检索。

1 混合数据管理技术

数据管理技术的发展一直紧密跟随着应用需求的发展。20世纪70年代以前的30年,计算机的应用领域主要集中在“计算”密集型应用上,处理的对象主要是科学计算。这个时期的计算机是名副其实的“计算”机。20世纪70年代以后到90年代的30年,商业数据处理成为计算机的主要应用领域,数据库面向的典型商业应用如银行资金结算、工资管理、存销货清单管理等,计算机处理的对象主要是结构化的数据。计算机在商业领域的广泛应用极大地推动了以关系数据库为代表的结构化数据处理技术的发展。关系数据库系统(RDBMS)将数据和应用分离开来,抽象了现实世界的数据模型,使得复杂实体数据被结构化,而易于被计算机处理和运算。RDBMS主要面向事务处理和数据分析应用领域,擅长解决结构化数据管理问题。

全文信息检索系统(FTRS)是20世纪80年代发展起来的、面向文档类型的数据管理系统。其核心是结合智能信息处理技术,采用专门的倒排结构对海量文本信息建立索引,以实现海量文本数据的高速检索,并对文档及其相关多媒体附件进行管理。全文检索技术在性能和可靠性上已经比较成熟。FTRS已经发展成为以海量文本管理为核心,支持多媒体附件的统一存储的非结构化数据管理系统。信息检索系统是对文本高速搜索,从图书资料、专利检索等应用到如今互联网搜索引擎(Google、百度等),其核心技术有了长足的发展。但是,全文数据库不支持数据管理和查询语言的标准,事务处理能力差。

RDBMS和FTRS的数据管理技术面向不同的应用需求、不同的应用领域独立发展。面对混合数据管理需求,现有数据管理系统已经在尝试弥补以上差距,并提供了一些解决方案。

近年来,大多数商用RDBMS系统扩展了全文检索附加功能。基本路线是以二进制大对象存储非结构化数据,利用独立的文本检索引擎实现全文检索。关系数据库所采用的高度结构化的关系模型不能有效地处理结构复杂的文本数据。

我们希望,在对混合型数据进行管理时,可利用关系数据模型在抽象和数据类型简单上的优势,以实现数据间的关系运算并确保数据一致性、容错性。利用全文检索对海量文本数据的高速检索,在系统内核把关系数据库、全文检索系统统一起来。混合型数据管理的统一内核,支持多种应用环境的开发需求,能够获得很高的开发效率,同时拥有两系统原有的长处与好处。

对混合型数据进行管理时必须满足以下六个方面要求:

(1)数据操纵。在FTRS中最大的优点是查询速度快,但是数据的修改往往是通过插入和删除来实现,速度慢、效率低。这是由于FTRS采用的是倒排索引结构,追求的是查询性能和质量(查全率、查准率)。混合型数据管理引擎作为一个面向企业级应用的数据管理系统必须拥有RDBMS中基本、重要并被实践证明是非常有效的操纵特性。这些特性包括数据并发动态快速更新、支持事务处理、并发处理、容错恢复等。

(2)查询优化。混合查询的功能和查询结果的质量对应用系统无疑十分重要,但对处理海量数据的系统,数据查询的性能将要首先考虑。系统必须拥有查询优化的功能。系统能通过数据的类型、索引的方式、负载情况自动选择查询方式、查询路线,实现查询优化,获得好的查询性能。

(3)结果输出。对于高质量查询结果输出必须具有灵活、可定制的加权(评分)和排序机制。最常用的是相关度及时间为序的输出。对于应用来说,不可能存在一个通用的加权规则,例如,新闻工作者往往希望系统能够根据他的个人喜好,计算结果的权重为序输出。

(4)数据访问接口。现有的FTRS系统自己设计数据访问API接口,尚无统一或标准接口,系统复杂度和开发成本高。建议在SQL/MM的标准(《ISO/IEC13249-2信息技术数据库语言SQL多媒体和应用包第2部分:全文》)的数据接口基础上进行适当的扩展,使得大量的应用程序开发人员可用SQL工具进行混合数据应用项目的开发,降低开发成本。

(5)文本智能分析。内置自然语言文本智能分析组件,提供编程的接口。内容自动分词、要素提取、自动去重、自动摘要、自动分类、自动聚类、倾向性分析等。

(6)数据预处理。原始数据如文本、语音或者照片等通常需要经过预处理,提取特征信息,可以通过这些特性查询。利用人工标注和自动标注相结合来实现对格式文档、图像、音视频等多媒体数据的特征标引、语义解释。

2 实现的技术方案

我们希望能够使用一个混合数据管理引擎获得很高的开发效率,同时也必须关注查询的功能和性能,数据的可靠性、并发控制、灾难恢复的需求。在技术上有四种可选方案。

(1)基于RDBMS实现。基于一个完整的RDBMS引擎来实现。文本没有独立的存储和索引方式。

(2)在RDBMS与FIRS之间增加接口网关。混合的RDBMS与FIRS功能通过一个接口网关来实现,该接口网关基于独立的RDBMS引擎和FIRS引擎,实现两个系统数据同步,FIRS仅作为外置全文检索引擎。

(3)在RDBMS中内置检索引擎。和(2)中在RDBM与FIRS之间增加接口网关不同,在一些商用的RDBMS中通过内置一个检索引擎的方法实现对文本的检索。应用开发时,通过函数调用方式实现对文本的检索。

(4)混合数据引擎。混合数据管理引擎是在数据管理系统的基础层提供统一的数据管理引擎。混合数据管理引擎应具有Hash索引、B+索引、层次索引、高维索引和倒排索引。同时具有完整的事务处理、并发控制和数据恢复功能,以及包括混合查询和关联查询的执行器和优化器。

在使用RDBMS实现信息检索的方案中,由于没有相应的高速检索的索引机制,因此性能无法满足应用的要求。

在RDBM和FIRS两个相互独立的数据管理系统增加一个接口网关,利用触发器实现数据在两个系统中的同步,系统的复杂度大大增加。另外,对两个系统的查询结果进行Join运算时性能低下。

在现有的RDBMS中内置一个搜索引擎,它往往只是提供分词功能以及开发中需要的查询函数,并未在内核中提供满足高性能查询的引擎,因此,查询性能低的问题没有彻底解决。

最后,我们设计一个统一的混合数据管理引擎,包含了结构化的存储引擎和基于文本倒排索引和多媒体数据的非结构化存储引擎,实现一个“内核”存储级别的混合数据管理,这样能解决实际需求。图1是系统实现的架构。

图1 混合数据管理引擎实现的架构

3 关键技术

在“内核”级的混合存储引擎方案中,支持关系和层次两种数据模型的数据访问语言及互操作机制。在统一数据管理体系架构下,集成关系数据模型和XML层次数据模型,同时支持SQL语法和XQuery语法,这是混合数据管理技术发展的方向。但是由于目前Native XML DBMS(NXD)性能没有突破,NXD数据库系统真正投入大规模商业应用很少。下面讨论开发混合数据管理引擎,必须解决的关键技术问题。

3.1 统一的索引管理机制

混合数据管理引擎必须解决各类数据统一索引管理的问题,便于实现结构化数据和非结构化数据的集成检索。结构化数据通常是基于B树索引数据结构来存储。对数值类及短字符串等采用B树索引,具有更新灵活、修改速度快的优点,一直是关系据库的核心存储机制。

为了达到海量数据快速的文本检索,一般使用倒排索引来实现词到文档号的映射。倒排索引有多种组织方式。由于倒排文件是一个顺序文件,索引动态更新不易,很难满足实时应用。

混合数据管理引擎必须能将两者结合起来,在系统底层构建统一的索引管理机制,使得混合引擎既具有更新速度快、数据操纵语言丰富的优点,又具有全文检索性能优越,这是混合数据引擎必须要解决的最基础的问题。

3.2 查询要求

为使混合数据管理引擎成为企业关键业务应用的基础,应该保留传统数据库用SQL语言提供功能丰富的精确查询功能,以及对结果集的分组、排序、聚合等功能,大量应用实践中已经证明了传统数据库在处理事务密集型应用中具有不可替代的位置。

除此,支持各种检索结果进行Join运算,系统能基于优化的查询算法,G级数据库查询速度达到亚秒级;支持多库并行检索技术;支持集群检索和分布式的应用,保证高可靠性,高可扩充性;提供中文自动分类、自动聚类、自动去重等多个智能处理模块,使得通过应用系统可以实现智能搜索、数据挖掘、内容智能分析等。

3.3 面向事务处理,实现动态索引实时更新

在数据库技术中,事务是一个很重要也很有用的技术,用以保证数据的一致性,是数据库系统可靠性的基石。数据库的增、删、改都会通过事务方式来完成。在混合数据管理引擎中,实现动态索引实时更新,使得信息系统由一种资料检索型的应用向生产事务型应用转变成为可能。

应很好地将事务机制与倒排列表的修改结合起来,使得对文本索引的修改和结构化数据保持一致。对于关键的应用来说,容错与恢复也是很重要的特性。事务失败,文本索引状态应回滚到前一个与数据一致的状态。事务提交,查询用户才能检索到索引的当前状态。

收稿日期:2010-09-14

标签:;  ;  ;  ;  ;  ;  

混合数据管理引擎_数据管理论文
下载Doc文档

猜你喜欢