相对于结构化数据而言,非结构化数据指不方便用数据库二维逻辑表来表现的数据。高校非结构化档案数据包括由各类业务系统产生的档案数据,随着高校非结构化档案数据不断膨胀,高校对数字档案馆的信息处理能力和信息资源建设能力提出了更高要求。目前应用的各种管理非结构化数据的技术存在诸多弊端,如,处理不同文件时,服务器的写入路径需要变换,由此给数据管理带来很多不便,还容易造成文件丢失。下面,笔者介绍几种非结构化档案数据数据库管理技术及其应用,并比较其适用性,以供高校选择。
XML即可扩展标记语言(Extensible Markup Language),它作为纯文本文件,不受操作系统、软件平台的限制,可交换性良好;它是一种自描述语言,可以用来对非结构化档案数据进行描述。关系数据库经过二十几年的发展,因具备良好的事务处理能力、可进行JOIN等复杂查询、拥有近乎标准的模型和良好的稳定性,被广泛应用于各个数据库系统中。但关系数据库本身无法直接处理非结构化数据,需要将非结构化数据资源统一转换成XML文档,通过映射策略将XML数据项加载到关系数据库,利用关系数据库的强大处理能力实现资源的存储、检索和共享。
非关系数据库(Not Only SQL,简称NoSQL)对集群有良好的支持性,可以用来解决对数据库的高并发读写、海量大数据的高效存取问题。NoSQL可以直接对半结构化和非结构化数据进行存储与管理,其中MongoDB作为NoSQL家族中的代表产品之一,能够实现关系数据库单表查询的绝大部分功能,在管理非结构化档案数据方面具有很大优势。MongoDB可以支持任意格式和任意大小的文件,数据被存储在MongDB中会被自动分割成许多块,每块包括本块的元数据和具体数据两部分,分块后的数据由Mongos路由服务器根据负载状况分配存储到某一特点的shard上。NoSQL与关系数据库为互补关系,在应用中要发挥NoSQL长于存储和检索的功能,将占用空间比较大的非结构化档案数据及其元数据存到NoSQL中,将占用空间不大的元数据信息复制导入到关系数据库中进行管理,以保持数据之间的联系。
关系数据库一般只对主键(key,用于区分每行记录的唯一性字段)进行检索,检索非主键内容时速度较慢。可将非结构化数据记录作为key/value进行存储,key作为主键,其余数据作为一个整体Value,把key和Value的每一个属性组成二维子表。为了存储方便,将不定长的字段值的存储转化为定长的子块进行存储,并对每一个字段值分配定长空间进行存储。
XML转换成关系数据库存储技术,适用整合非结构化的异构数据,能够实现关系数据库对非结构化档案数据的管理,而关系型数据库尤其善于处理“关系”的特性,便于挖掘电子档案之间的关联性。但使用这一方法抽取转换海量数据需耗费大量时间,且存在出错的概率;关系数据库难以应付集群操作,这一特点也使得当数据量分散在集群的各台服务器上时,数据库处理数据力不从心。此外,关系数据库要求字段结构和长度固定,在处理存储数据大小不一致的非结构化档案数据时,会产生空间浪费。规模较小、产生的数据量相对有限的高校,可考虑采用这一技术。
NoSQL是web2.0时代针对关系型数据库处理大数据时的瓶颈问题而产生的,NoSQL以良好的存储扩展性和存储优化能力、高效的数据检索能力、结合关系型数据库良好的数据关联性挖掘能力,是处理“海量”非结构化数据的理想方法。但这一技术也存在不少弊端,以MongDB为例,MongDB不能执行多表间的关联复杂查询,也不能挖掘电子档案的关联性,且不具备事务处理能力,当多用户对同一个数据进行读写并发操作时,可能会出现数据不一致的情况。产生数据量庞大、资金充裕、技术力量强的高校可以采用这种技术。
将非结构化数据转换为二维关系存储于关系型数据库,是提升关系型数据库数据存储能力和检索效率的改良手段,其突出优点是完全建立在成熟的关系数据库技术的基础上,稳定性好。但这一技术扩展性较差、开发成本比较高,存储海量非结构化档案数据时需要配置比较高端的服务器;拆分成二维表后,查询语句不适合表达数据间过于复杂的“关系”,尤其在表达过于复杂的嵌套关系时比较困难,在检索关联性数据的智能性时会受到一定影响。这一技术一般只限于资金充裕的高校采用。
总之,以上列出的非结构化档案数据的数据库管理技术各有优缺点,高校应结合实际情况进行选择,以做好大数据环境下的档案工作。