APP下载

“NoSQL”数据管理技术在档案大数据中的应用探析

2022-06-22

管理工程师 2022年3期
关键词:海量数据管理档案馆

孙 安

(河南科技大学 图书馆,河南 洛阳 471000)

大数据时代,档案信息化建设进入了一个新阶段,基于云服务,智慧型的数字档案馆概念进入人们视线中,为档案工作指明了前进方向。新形势下,档案数据收集的领域、范围不断扩大,数据的种类不断增加,互联网上海量社交媒体的电子数据实时归档,正逐渐使得档案大数据管理与其他大数据行业一样面临着海量信息存储、系统分布式部署、用户高并发访问、数据的长久保存等难题。

传统关系型数据库管理系统(RDBMS)面对这类问题时遇到了性能瓶颈,在这种背景下一类新的数据管理技术NoSQL技术应运而生。它突破了传统关系型数据库的模式限制,遵从CAP理论[1]和BASE原则[2],数据类型包容性和系统的横向扩展能力变得更强,有效地解决了大数据应用中出现的各类难题。随着NoSQL技术的成功应用,人们开始关注这项技术的最新研究动态,数据库管理技术研究视角也由过去的层次型、网状型、关系型逐渐演变为关系型与非关系型两种[3],如图1所示。

图1 数据库管理系统的分类

通过文献调查发现,吴鹏等利用MongoDB(NoSQL的一种)技术设计企业产品数据信息管理系统,较好地满足了文档、图片、视频等多类型数据管理要求[4]。赵永强提出相较于关系型数据库,TPI特藏数据库更适合采用NoSQL数据库产品,支持非结构化数据管理和数据的分散保管及数据扩展[5]。施晓峰分析了档案大数据特征:格式多样、结构复杂、规模庞大,认为NoSQL技术可以较好地满足非结构化数据的管理,并搭建了一个基于NoSQL系统的档案数据管理原型系统[6]。卞咸杰采用Hadoop(NoSQL的一种)技术设计档案信息资源共享平台,并分析档案数据处理流程[7]。综上发现,目前图情档领域关于NoSQL技术研究较少,研究多以Hadoop、MapReduce、Virtuoso某一种NoSQL技术作为视角,并未整体分析NoSQL技术符合大数据应用的内在机理,也未发现阐述NoSQL技术与档案大数据应用的内在机制与理论论述等相关文献。由于NoSQL技术的出现,让大数据应用突破了硬件性能的限制,使档案部门驾驭大数据成为一种可能。本文拟梳理NoSQL的发展脉络与技术特征,解析其在档案大数据应用中的契合机理与发展地位,为我国档案信息化建设提供一点思考。

1 NoSQL技术的产生与发展

NoSQL泛指非关系型的数据库(NRDBMS:No Relational-DBMS),在大数据环境下,用于解决海量数据分布部署,以提高系统平台的可扩展性、可用性、实时性的“一类”数据管理技术。

2000年Google针对大数据环境下高并发、高可用、高性能的海量数据管理需求,重新设计了Google搜索引擎后台数据库管理系统,放弃了传统关系型数据库,自行研发非关系型数据库,并于2003-2006年发表了4篇关于其数据管理技术的核心论文:GFS分布式文件系统、MapReduce高性能计算框架、Bigtable一种分布式结构化数据存储方案、Chubby一种面向松耦合分布式系统的锁服务[8-11]。Google相关论文的公开发表引起了互联网公司和开源爱好者的广泛关注和浓厚兴趣。2006年2月Apache Hadoop开源项目正式启动以支持MapReduce和HDFS[12]的独立发展,同年5月雅虎建立了一个300个节点的Hadoop研究集群,2011年12月Hadoop1.0.0版本发布,标志着Hadoop已经初具规模。2007年亚马逊公司对外展示了Dynamo分布式数据存储系统。2008年Facebook将其研发的数据库管理技术Cassandra开源。2009年英国软件开发者Johan先生在一次非关系型数据库讨论会上,以“NoSQL”作为此次会议的主题,从此人们习惯以NoSQL命名这类非关系型数据库技术[13]。

从国内实践情况看,阿里巴巴是具有代表性的互联网电子商务公司,在应对海量淘宝交易数据管理时,独立研发了非关系型数据库OceanBase,整个系统采用服务器集群架构,能够满足达10亿笔日支付处理需求,系统对100TB的数据进行排序只需377秒,打破了Apache Spark的纪录23.4分钟[14],处理速度之快可见一斑。不仅在电商领域,我国在机械制造领域中的大规模设备监测数据[15]和天文领域中的大规模天文观测数据也已经成功运用了NoSQL技术进行管理,这些数据库系统具有处理TB级和PB级海量电子数据的能力[16]。截至2022年1月,官网上可查的在册NoSQL产品已经超过225种,可见大数据背景下NoSQL技术的需求与应用前景广阔[17]。

2 从大数据的3V视角分析NoSQL内在技术特征

2001年META 集团分析师Laney在一份报告中首次提出大数据的3V概念[18],即大数据环境下,数据呈现类型多样化(Variety)、海量数据(Volume)、处理速度快(Velocity)特征。之后人们对“大数据”认识不断深入,在Laney的3V基础上提出了4V、5V、6V等概念[19]:数据价值(Value)、可视性(Visualization)、合法性(Validity)。本文从Laney最初的3V视角解析NoSQL的技术原理与特征。

2.1 数据类型多样化(Variety)与NoSQL的弱模式数据模型

在传统关系型数据库中,每张表都事先定义好模式,数据存放在表里。表中每一行为一条数据,对应的列是该条数据的属性值,属性的数据类型具有严格定义。当插入一条数据,该数据项中某一个列值不满足表的预先定义格式要求,会导致插入数据不成功。这种“严格定义”较好地保证了数据的正确性。但在大数据环境下,数据类型与数据结构呈现多样化特征,结构化和非结构化数据并存。今天设计好的档案数据库系统所存放的数据类型与数据格式,不一定能满足未来工作需求。另外,当遇到不同档案数字资源整合时,异构系统之间的数据格式与数据类型未必完全一致,作为档案信息系统后台的数据库管理系统DBMS需要有更开放的数据包容能力,以满足数据类型多样化要求。

大部分NoSQL的数据模型采用的是一种键-值类型(key-value),可细分为:键-值型(key-value)、键-列型(key-column)、键-文档型(key-document)。key是数据的序号,通过key查找数据库中的数据位置。该数据模型不用事先定义其内在的数据结构,所以NoSQL数据模型属于弱模式或者无模式的数据模型。相对关系型数据库的表数据,NoSQL采用的数据模型弱化了数据结构中的语义部分,value部分的数据结构依每条数据要求自行定义,其语义特征交由应用层解析。这种弱模式或者无模式结构很好地支持了大数据环境下数据类型多样化。当前电子文件归档范围不断扩大:文本文件(txt、word、pdf...)、图像文件(jpg、gif、bmp)、影音文件(flash、rmvb、avi)等都纳入数据库管理范围,且不同类型的文件其著录信息也不相一致。传统关系型数据库下,通常为这些不同类型的数据构建不同的表,一旦需求发生改变,表结构就可能需要随之改变,从而产生额外的技术冲突和成本。而在非关系型数据库中,不同类型结构的数据可以统一保存在(key-value)的数据集中,每条数据value部分的数据结构可以依据具体要求而自行定义,数据类型与数据结构的包容性更强,异构系统之间的数据整合也更为方便,满足大数据对数据类型多样化要求。

2.2 海量数据存储(volume)与NoSQL的分布式存储

在传统关系型数据库中,数据库里所有表的集合构成了一个逻辑上的整体。当数据库中表容量增加到一定规模,致使一台服务器存储容量无法承载其全部表集合时,需要分布式承载,此时数据分割问题便随之而来。虽然关系型数据库在分布式环境下给出了“表”的横向分割和纵向分割多种方案,但每种方案的代价都是惊人的,其对“表”分割的代价无异于系统的二次开发。大数据环境下的海量数据呈流数据状态,随着时间的推移会持续增长,数据库会面临着再次分割。数据库系统需要适应这种数据膨胀环境,以低代价或者无代价方式任意扩展自己的数据存储。显然,关系型数据库难以满足此项要求。

由于NoSQL的数据模型采用弱模式或者无模式的数据类型。其数据分割不再像表数据分割那样困难,只需依据数据集中每个数据的key值范围“重新”划定部署位置,便可以分布式地存放在不同服务器的存储空间。目前较为流行的NoSQL数据存储方案为“Master-Range”方案,如图2所示:

图2 Master-Range数据分布式存储方案架构

Master节点(MasterServer)负责管理整个数据库系统,同时监视Range节点(RangeServer)的运行状态,并为每一个Range节点分配数据存储的范围(key值范围),形成一个key值与RangeServer的映射表tablet,通过tablet表获取key值和RangeServer地址。Master一般采用多副本控制策略,当主Master服务器宕机时,选择一台副Master为新的主Master。Range节点是数据存放节点,也是真正与客户发生数据交互和数据处理的节点。同时Range节点不时向Master节点汇报自己的健康状况和负载情况,当某个Range节点发生故障或者负载过重时,Master节点会执行局部调度,将负载过重的Range数据调整到较空闲的Range节点上,同时相应调整tablet表的映射关系。

通过Master-Range结构将数据分散到多个节点中,当增加新的Range节点时,Master节点只需修改key值范围与RangeSever集群的映射关系表tablet即可,扩展代价非常低。Google的BigTable、Hadoop的Hypertable,阿里巴巴的OceanBase都是采用类似结构。据阿里巴巴官方报道,其增加一个数据库服务站点的时间从过去1个月缩短为90分钟。由此可见NoSQL在海量数据组织与数据管理上较传统关系型数据库具有更好的灵活性与横向扩展性,满足大数据环境下对海量数据存储的管理要求。

2.3 处理速度快(Velocity)与NoSQL分布式计算资源

大数据环境下提高数据处理速度,一般可以通过提升性能或者增加规模来完成,也称为纵向扩展方式和横向扩展方式两种。纵向扩展方式是指通过提升现行服务器硬件的性能来提高数据处理能力。其优点是方法简单,系统程序不需要修改,只需投入相应的硬件更换费用;缺点则是单台硬件设备的性能存在上限,因而纵向扩展方式存在性能提升瓶颈,且单台硬件设备性能越高,其性价比越低。横向扩展方式是使用多台廉价服务器,组成一个集群,通过并行运算来提高系统的运算速度。其优点是系统的计算能力呈线性提升,随处理速度需求增长集群规模相应扩大;缺点则是针对集群服务器数量变化,系统程序要做相应调整。

针对大数据环境下的各类云服务平台往往需要面对TB或是PB级数据存储,用户数量千万甚至上亿,日访问量百万次以上,并发数时常以千为数量级。由于纵向扩展存在性能提升瓶颈,所以横向扩展方式将是各类数字化平台提升性能的首选方案。如图2所示,实际与客户发生数据交互的是Range节点,而不是Master节点。所以当Range节点数量增加时,NoSQL系统平台的计算资源也得到相应提升。同时NoSQL技术引入了Map-Reduce高性能计算框架:通过映射(Map)化简(Reduce)的思想,可以把一个复杂任务分解为多个子任务交由不同Range节点并行执行,再将执行结果进行化简归约输出,大大提高了数据库系统的查询、统计、数据分析运算效率[20]。例如万方数据知识服务平台,采用自行研发的WFIRC检索引擎(NoSQL技术的一种),将资源按照期刊、会议、学位、专利、标准等划分数据集,其中期刊数据集又可按照学科类型继续划分存放在不同的服务器中,整个集群系统对文献的查询、统计、分析、论文相似性检测等任务均分派由不同的数据集所在的服务器完成切词、分词、文本比对等计算任务,最后将任务结果汇总输出给用户。一篇1万字的论文相似性检测,在海量文献全文中比对耗时不到10秒。可见易于横向扩展的NoSQL技术满足大数据对处理速度快的要求。

3 “NoSQL”技术在档案大数据管理中的应用分析

3.1 档案知识服务功能实现

20世纪50年代知识服务就被图情档界提出,发展到今天其服务的内容、形式、意义发生了巨大变化。在大数据背景下,知识服务更强调“知识”的自动化生产[21],而不是简单的知识供给:从海量数据中提炼信息,从大量信息中挖掘知识,即结构化的数据构成信息,有规律的信息得出经验(知识)过程。可以看出,未来这种知识服务是建立在拥有大量信息基础上,大量信息则是建立在海量数据获取的基础上。在大数据背景下,档案知识服务被重新定义,档案数据收集范围从过去的经加工、筛选、鉴别的历史档案数据,朝着具有记录性的人类社会生活生产的全方位信息数据扩展。档案知识服务由过去的通过简单查询获取历史档案数据作为经验知识为人们使用,演化为对海量档案数据进行数据分析、数据挖掘生成新的信息、新的知识过程。所以未来档案知识服务的根基是拥有海量归档数据。如图3所示:

图3 数据—信息—知识关系

随着档案服务功能不断深化,网络社交媒体数据已经纳入了档案数据收集的视野。Twitter是美国一家著名网络社交媒体,该公司于2012年开始推出“个人推文存档”(Your Twitter Archive)服务,用于保存用户的历史推文记录,便于用户查阅历史数据信息[22]。这也开启了数据到信息再到知识的过程,例如:通过分析个人推文历史数据,可以得出过去5年人们所关注的生活问题有哪些(提炼信息),通过获取这些人们所关注“问题”可以制定下届政府施政方案(挖掘知识)。同时我们可以看到Twitter公司于2010年弃用传统关系型数据库MySQL,启用NoSQL计划。原因是在2009年,Twitter每天产生约12TB用户数据,每年产生约4PB数据(且数据增长速度还在扩大),MySQL已经无法应对如此庞大的海量数据管理。所以在大数据环境下,这类流数据随时间成持续性增长,对电子数据长久保存提出了更高要求。因为我们无法使用传统设置时间点的概念删除老旧数据,也不能将老旧数据转储至异地与系统分隔。档案大数据背景下,以全数据作为知识服务的根基,其数据管理系统应能满足海量流数据增长需求,Twitter公司的数据管理经验可以借鉴。

3.2 数字档案记忆功能拓展

人脑具有“记忆”功能属性,且人脑记忆容量一直是一个谜。2003年,英国《独立报》曾报道:科学家估算人脑的记忆容量约为10的后面跟8432个零个字节。2014年3月Nature刊登了一篇文章,分析小白鼠的大脑相当于1TB存储容量,据此推算人脑容量约为7.6亿TB存储容量,用单块硬盘8TB,也需要9500万块硬盘,这说明人类的脑容量不是现存某一台超级计算机所能比拟的[23]。上述结论虽是科学臆测,但可以从侧面反映出人类记忆具有海量数据容量特征。

“档案是典型的记忆工具”成为“档案是一种信息”与“档案是一种知识”之后的又一重要提法[24]。虽然档案作为记忆工具有别于人脑记忆,在记忆实践活动中往往具有选择性,选取有价值的记忆作为保存对象,但作为具有人类记忆功能属性的档案记忆随着时间推演,未来会不会趋近于人类记忆,我们不得而知。同时在现代科技发展水平不断进步的背景下,数据价值的判断与选择变得模糊。比如对某一天的气象数据记忆,似乎并无太大价值,但如果连续记忆了10年、50年、100年的气象数据,针对该记忆进行大数据分析,就可得出地球气象变迁的趋势,进而预测未来地球环境演化。美国国家大气研究中心NCAR从20世纪60年代中期开始对大气变化数据进行采集、归档、保存、利用,通过最新数据模拟系统可以构建一个3D时空大气运行状态[25]。这种大记忆观对人类生活中产生的数据信息尽可能多地进行分类、归档、记录、挖掘、利用,一些看似无价值的记忆数据组合在一起将重获新生价值,这将是档案记忆价值的又一重要体现。

冯惠玲教授在《档案记忆观、资源观与“中国记忆”数字资源建设》一文中,强调“若舍弃泛在、实时的数字资源,必将造成当代社会活动记录的残缺不全”,在互联网时代应注重网络媒体资源的鉴别、收集、描述、整合、发布,通过广大网民的查询利用与鉴别考证让档案资源变得更加真实可信、更加有社会价值[26]。可见,在大数据视域下,“档案记忆观”与“档案资源观”被重新诠释,档案工作被赋予新的使命,档案作为人类记忆工具必将面临海量的数据存储与大规模的数据运算,具备大数据3V特征的NoSQL技术正是实践上述过程的有力工具。

3.3 智慧档案馆建设

随着“智慧城市”概念的提出,智慧档案馆也兴起一股研究热潮,近年围绕智慧档案馆的研究涌现出一批科研成果。鲁俊杰在“对智慧档案馆及其研究的反思性探析”一文中,尝试对智慧档案馆下定义[27]。杨来青在“档案馆未来发展的新前景:智慧档案馆”一文中对智慧档案馆的智慧特征进行了5点归纳[28]。杨智勇在“试析智慧档案馆的兴起与未来发展”一文中分析了智慧档案馆关于技术使用、体系架构、知识服务三个层面的内容[29]。陈嘉钰在“智慧档案馆数据化管理功能的实现”中强调应利用数字技术实现智慧档案馆管理功能的全面感知[30]。总结以往研究,可以得出智慧档案馆有别于传统档案馆,主要在资源收集、智慧感知、泛在化服务三个层面朝着大数据3V特征靠近,并与NoSQL技术拥有契合点,如图4所示。

图4 智慧档案馆与NoSQL技术契合点

首先,档案资源是档案服务的基础,智慧档案馆是数字档案馆的继承和发展,其资源建设更突出多元化,资源的种类、数量、增速进一步提升。数据类型多样化、归档数据的长久保存、海量数据的云存储将成为未来智慧档案馆的建设特点。其次,智慧档案馆引入智慧感知概念,通过数据挖掘、内容分析等技术手段实现感知档案、感知信息,使档案信息服务功能由过去简单的题录查询,逐渐向档案内容语义的切词、分词、数据分析与深度挖掘等智能化服务转变,这将要求智慧档案馆具备大规模高效并行运算能力。再次,智慧档案馆服务方式的泛在化,尤其移动互联网的引入,将让智慧档案馆与用户保持零距离。截至2020年12月,我国手机用户规模达9.86亿,网民使用手机上网比例为99.7%[31]。这说明智慧档案馆具有庞大的潜在用户群,届时实时响应将对智慧档案馆拥有的吞吐量、并发数提出更高要求。上述变化是档案大数据对智慧档案馆提出的内在需求,也将使得智慧档案馆对其数据管理技术提出更高要求。

4 结语:档案大数据管理技术发展格局

上述论述是基于档案数字化工作与大数据应用完全融合状态,即档案信息化建设进入高级阶段。而当前我国档案数字化建设还存在发展不均衡现象,许多地方档案馆的档案资源特点还是已加工的、滞后的、静止的、稳定的电子文件数据,这些数据虽然体量巨大,但与真正的“大数据”“全数据”还有一定差别[32],目前阶段尚不必须要使用具有大数据特征的NoSQL技术。因此,NoSQL作为异于传统关系型数据库SQL的一种新技术,并非是要取代SQL,而是作为SQL的一种补充。

未来可预见,那些建立在互联网门户基础上,后台具有海量档案信息数据,面向全体用户并提供深层次数据分析与数据挖掘服务的档案数据管理平台将会借助NoSQL技术进行档案大数据管理。而面向区域部门的传统档案馆的档案数据管理平台将会继续采用传统关系型数据库。综合分析,NoSQL与SQL在档案数字化建设中将长期并存,如图5所示。

图5 未来档案信息系统DBMS格局

猜你喜欢

海量数据管理档案馆
一种傅里叶域海量数据高速谱聚类方法
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
海洋环境数据管理优化与实践
CTCS-2级报文数据管理需求分析和实现
云南省档案局办公室关于表彰2018年度《云南档案》优秀通联组及发行先进单位的通报
海量快递垃圾正在“围城”——“绿色快递”势在必行
全省部分档案馆新馆掠影
一个图形所蕴含的“海量”巧题
一种海量卫星导航轨迹点地图匹配方法