孙晓萍
[摘 要] 当前,社会已经步入了大数据时代,互联网技术的应用非常广泛。随着数据技术的快速进步,数据的产生速度也在以指数级增长。传统的油田开发作业中,对数据的记录方式以关系型数据库技术为主要的数据记录和更新方式。但随着信息技术的发展,新数据中出现了非结构化数据,这些数据的格式不确定,记录起来非常困难。文章以非结构化数据为研究对象,针对油田开发过程中面临的数据记录问题,提出可以有效储存和记录非结构化数据的Hadoop分布式框架模式,从而解决油田开发过程中遇到的数据记录和更新的难题。
[关键词] Hadoop分布式框架;非结构化数据;数据管理
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 07. 029
[中图分类号] F270.7 [文献标识码] A [文章编号] 1673 - 0194(2020)07- 0063- 02
0 前 言
石油行业是一个与数据关联密切的行业,勘探数据、地震数据、钻进数据、方案文档等都需要以数据形式进行记录。为了保障数据的精确性,这些方案数据又往往以图件这类非结构化的数据进行存储,这造成了数据的后续查阅和更新非常麻烦,对于油田开发过程的深入推进相当不利。HBase数据库技术是一种可以有效处理多格式小文件的数据技术,它使用Lucene检索引擎编写和设计,采用分层体系架构,具备全文检索的能力,可以处理大量的非结构化数据文件,能有效应用到那些格式难以确定的非结构化数据记录当中。
1 加强石油行业数据管理的必要性
当前国际油气市场供应关系较为紧张,全球经济形势不断发生变化,在此背景下油田企业应进一步提升对于数据管理的重视程度。工业化的推进对企业数据管理工作来说有更高要求,油田企业应配合市场的能源需求着重加强数据管理工作,实现资源的优化,充分利用时代形势来促使自身实现创新改革。
油田企业在数据管理上也发生了较大变化,企业应结合油田开发来对数据管理工作进行整改,制订与开发进程相适应的数据管理操作程序,在数据信息管理系统运行上进一步优化,加强数据档案管理等,结合企业具体业务范围来对数据管理制定相关内容进行调整。
随着科技的不断发展,油气资源在勘察、开采、储存、运输及利用方面都发展出了更好的渠道,企业数据管理理论与实践操作之间融合度更好,数据管理作用得到了更深层次的体现,数据管理已经由以往的监督导向慢慢向服务导向进行转变。在数据范围上,已经由过去仅仅进行现场作业数据逐渐向开采管理范围进行转变,这样能够进一步提升数据管理工作的监督作用和服务质量,大大提升了企业对于风险的化解作用。油田企业应借助时代机遇,促使自身数据管理向为企业进行服务方向进行转变。在数据领域方面,进一步拓展数据管理范围及数据职能。
2 Hadoop分布式框架的数据库技术选择
数据技术的进步和石油行业乃至整个能源产业的发展呈相互递进的关系。我国的工业化产业发展加快,对能源的需求增多,石油等能源行业必须进一步提升钻探作业的精确性,因此需要使用准确性更好,误差更少的非结构数据。可见,非结构数据的发展和石油行业的发展是呈现为直白的需求链关系,而为了适应这种非结构数据增多的数据储存环境,發展以Hadoop为基础的文档存储技术就很有必要。
2.1 Hadoop分布式计算框架对数据库技术的要求
传统的数据库技术以Oracle为代表,Oracle主要是对油田开发中的结构化数据进行记录和管理,对于图件等非结构数据,需要以二进制大对象(BLOB)作为储存容器。不难看出,Oracle作为长期应用于石油行业的主流数据库技术,无论是在记录结构化数据,还是非结构化数据时,都有一定的兼容性。不过,由于非结构化数据的格式是不确定状态,所以在储存和检索非结构化数据时,Oracle需要用到二进制大对象(BLOB)这种额外的处理能力才能获得与对非结构化数据的存储[1]。
非结构化数据的管理难点在于其格式的多元化,这要求数据库必须有很高的兼容性,因此以非结构化数据为存储对象的数据库必须要有足够的高性能硬件作为支撑,为了解决这个问题,开源的计算方法就孕育而生。在这些计算方案中,又以Hadoop分布式计算框架最为突出。
Hadoop作为一种分布式计算框架,它采用的是流式数据访问模式。在Hadoop中,数据的保存、管理及更新是依靠数据副本和分布式处理实现,而为了达成这一效果,设计者在编写Hadoop时使用了主/从架构模式,使该数据库技术具备了可伸缩、高效率的数据存储处理特征。
不过,Hadoop计算框架也并非没有缺点,Hadoop从编写之初就是为大文件的存储设计的,这让Hadoop拥有比传统计算框架更强的兼容性,但是在处理小文件时,小文件主要以对象形式存储到数据库的元数据节点内存里,这使得过多的小文件会严重消耗元数据节点的内存,而过小的内存容量又会对集群扩展形成制约,最终影响到数据储存效率。而Hadoop对于小文件的管理采取了流式访问,在获取文件时必须请求数据节点,而当小文件数量过多时,Hadoop的请求就会变得频繁,这样一来对元数据节点和数据节点的IO性能就会带来严重的影响[2]。
基于Hadoop的上述特征,如果未来的油田开发开始大规模的使用Hadoop计算框架,那么就不能在以Oracle数据库技术为载体,而是需要一种带有分布式特征,可以面向列的开源数据库来处理小文件的打包和全局命名空间工作。
2.2 HBase数据库技术的优势与特征
HBase作为一种分布式的数据库技术,相比Oracle有很强的计算和管理效能,以Oracle文档的存储结构为对比对象来设计HBase的表行键结构,确定HBase文档的文档代码为行键,文档的录入时间为时间戳,已经项目和文档的名称、最后的更改时间、文件内容以及用户名称等等列簇。然后使用Java语言作为接口对两种数据库技术进行连接,以此便可测得两种数据库技术的文档上传下载效率。以已有的实验结果来看, Oracle对数据文件的响应和处理能力要落后HBase许多。HBase上传了20个文档文件,所有文件的大小一共为130 M,整个上传过程大约用时19秒,而同样的大小,同样的文件数量,Oracle用了330秒。而即使是单独的文件下载,HBase只需14~15秒便能完成,Oracle却要花上将近一分钟。考虑到未来的油田开放中,小文件体量的图件数据会越来越多,数据管理对文件吞吐效率的要求会越来越严格,所以Hadoop计算框架未来的数据库技术应当以HBase为主[3]。
3 Hadoop计算框架的搭建
3.1 引擎选择
Hadoop计算框架要明确两个基础要求,一是存储基础,二是系统编写的引擎选择。存储基础已经明确,以文件吞吐效率更高的HBase数据库技术为主,而在引擎选择上,考虑到Hadoop计算框架开源的特点,所使用的引擎也必须是一套开源的全文搜索框架。从当前数据管理系统编写中所使用的引擎类型来看,具备文档分词处理、信息入库索引、用户查询匹配的Lucene引擎无疑是最适合搭建Hadoop计算框架的引擎。Lucene引擎是完全开源的数据引擎,能够在非结构化数据入库前对文档进行分词处理和全文扫描,以此解析出需要写入索引库的信息,比如文档的文字、文档的内容、文档的创建时间、文档的大小、文档的页数等等。这样一来,管理人员在查询相关数据时,Lucene便可根据用户给出的关键词段进行索引内容的查找,将匹配内容从索引库返回给数据管理人员,节约了管理人员在数据查找、调整、更新等工序上的耗时。
3.2 框架设计
为了保障Hadoop计算框架可以和石油企业正在施行的管理系统集成,设计人员一般会把Hadoop计算框架设计为三层架构,分别是模块资源中心、接口层、储存层。模块资源中心是Hadoop计算框架的核心,一般要包括权限控制、日志管理、消息提醒、文件上传下载、文件预览删除、文件版本控制、文件格式转换、文件分词索引、文件夹管理、文件格式解析、智能检索、统计分析、相关性分析、关注度排名等几个模块,而接口层则要包括数据增删改查访问接口和文件上传下载访问接口两个模块,储存层由Oracle、Hbase和Lucene三个部分组成。
底层数据的访问借由访问接口和功能模块两个部分实现,在数据的储存和管理上借由存储层的三种数据技术实现,结构化数据依然用Oracle数据库进行存储,图件等非结构化数据则由Hbase进行存储,而数据的索引工作则由Lucene完成。
为了保障库中的数据足够完整,防止出现数据丢失的现象,负责非结构化数据存储的HBase在运行操作上遵从事务处理模式,同时为了确保在服务器宕机时,HBase的服务和数据能够无缝使用备份服务器运行,设计者还需要提供双机热备解决方案,以防万一。
Hadoop计算框架的接口层定义了标准数据处理接口,其作用是为了方便使用者对各模块的调用,由于在油田开发中对数据的处理,目录的管理还有站内消息的查询需要使用到不同系统,因此需要接口层的标准数据处理有组合查询、访问控制等可复用功能。
因此在搭建Hadoop计算框架的过程中,必须按照统一的开发标准,设计可扩展、可复用的模块资源中心,为使用者在进行数据管理的过程中提供文件上传、下载、预览、备份、删除等14个功能模块,而且还要让各模块间松耦合,以此使管理人员在进行数据备份或者数据迁移时可以使用不用系统服务,并进行多系统调用。
4 结 语
随着油田信息化工作的不断推进,企业在数据管理方面的要求也原来越严格,Hadoop分布式存储系统和传统数据存储系统相比有一定的优势性,但也存在缺点,故在文章中提出基于HBase和Lucene来完善Hadoop计算框架的思路,以此实现文件储存管理、全库智能检索等核心功能。
主要参考文献
[1]张圣杰.分布式大数据管理系统的设计与实现研究[J]信息通信,2019(2):33-34.
[2]李元亨,邹学玉.Hadoop综述[J].电脑知识与技术,2018(9):39-40.
[3]曹恒瑞,曹展碩.一种基于Hadoop平台的分布式数据检索系统[J].软件导刊,2017(4):55-55.