数据切片技术在石油大数据分析中的应用

发表时间:2020/4/28   来源:《科学与技术》2019年18期   作者:金云智
[导读] 油田企业面对不断拓展的业务需求、多种数据类型和海量的数据管理需求
         【摘要】油田企业面对不断拓展的业务需求、多种数据类型和海量的数据管理需求,需要先进的数据横向扩展能力和高频访问能力。通过引入数据切片技术,在扩展数据元模型的基础上,建立数据立方体,完成石油大数据的数据切片,把海量业务数据均匀分布到数据库集群的不同机器节点,实现数据横向扩展,有效降低单台机器的访问负载,提高数据访问速度和并发量。
         【关键词】数据切片、数据立方体、动态拼接
Application of data slicing technology in big data analysis of oil enterprise
JIN Yunzhi WANG Jipeng ZENG Xiaoming CHEN Jianhua
Zhanjiang Branch.CNOOC China Limited.Zhanjiang.Guangdong 524057.China
【Abstract】 In face expanding business needs, multiple data types and massive data application requests, oilfield enterprises need advanced data horizontal expansion ability and high-frequency access ability. Through the introduction of data slicing technology, on the basis of expanding the data meta model, established the data cube,complete the data slicing of oil big data, and the massive business data is evenly distributed to different machine nodes of the database cluster, so as to realize the horizontal expansion of data, effectively reduce the access load of a single machine, and improve the speed and concurrent amount of data access.
【Key words】Data slicing, data cube, dynamic splicing
一、数据切片技术简介
         随着石油企业数据应用的广泛发展,在传统数据库模式下,高频访问会形成性能瓶颈,并且横向扩展能力有限,扩展成本高。通过数据切片以横向扩展数据层的方式来提高应用访问性能已经成为架构研发人员首选的方式。
         数据切片技术把海量业务数据均匀分布到数据库集群的不同机器节点,实现数据横向扩展,有效降低单台机器的访问负载,提高数据访问速度和并发量。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。
         建立数据切片算法,采用分布式数据库的数据路由、全局索引和序列等技术,可以实现应用程序对切片数据的透明访问,提升访问效率。

图1 切片后存储示意图
         建立业务数据的切片算法是分布式数据库切片技术中的关键点,目前常用的算法主要包括哈希算法、取模算法、区间范围算法等

图2 MDA数据库切片示意图
         设计业务数据的切片维度应该这样进行——根据业务数据的内聚性、事务相关性等特点,按照不同维度进行数据切片。同时要实现切片数据的透明访问:对访问数据的SQL请求进行分析,并根据切片算法和切片维度,自动路由到请求所对应的切片DB和库表,实现对切片后数据的透明访问。
         利用全局序列功能,解决分布式架构下序列唯一性问题;新增切片索引功能,提升非分片键查询效率;新增库内分表功能,解决超大表分库后需再次分表问题;新增分布式事务支持,保障分布式架构下数据的一致性。
二、数据切片技术在石油大数据分析中的应用
(一)元模型扩展
         基于模型驱动的数据中心建立起了模型驱动的数据管理体系,可以方便地进行模型的扩展与部署,通过业务模型、逻辑模型和物理模型三个层次的划分和管理[2],可以实现业务的扩展直达物理模型底层,但数据中心的元模型主要是针对数据管理层面,这种划分是按照专业的纵向维度来进行的,对于业务数据之间的其它维度则没有涉及,而这恰恰是业务人员更习惯和更希望实现的日常工作方式。
         除了常规的按专业进行数据查询之外,从石油行业业务应用的角度,研究人员更需要从业务的维度对数据进行关联查询和应用。这就需要在数据中心元模型的基础上,扩展出勘探开发数据之间的横向业务关联关系。
         在业务应用的角度,勘探开发业务数据主要可以分为地质和工程两个方面,因此,对于大数据的分析应用,可以在元模型的基础上进行地质和工程两个维度进行关联。难点在于对石油勘探开发所有业务进行业务分析,抽取出具有代表性的业务指标来作为地质和工程两个业务维度的横向关联指标。
(二)数据立方体抽取
         数据立方体(图3)是通过多个维度来对数据进行建模和观察,在数据仓库中,数据立方体可以是n维的[2]。数据立方体由维和事实组成,维是想要记录的透视或实体,每个维都可以有一个与之相关联的表即维表,用来进一步描述维,维表可以由用户或专家设定,也可以根据数据分布自动产生或调整。通常多维数据模型围绕中心主题组织,主题是用事实表来表示的,事实是用来进行数值度量的。事实表包括事实的名称或度量,以及每个相关维表的码(外键)。

图3 数据立方体示意图
    给定维的集合,我们可以对给定各维的每个可能的子集产生一个方体,结果将会形成一个方体的格(图4),每个方体在不同的汇总级显示group by数据,方体的格称做数据立方体。放在最底层汇总的叫基本方体,0维方体放在最顶层汇总,叫做顶点方体。
 
图4 方体的格示意图
         同一个维可以具有不同的层次,比如构造单元,其本身可以分为一级构造、二级构造、三级圈闭、四级圈闭等等,通过概念分层来定义一个映射序列,将低层概念集映射到较高层、更一般的概念,从而可以更方便灵活地形成不同层次的汇总统计结果。
         以北部湾盆地(图5)为例,下分多个不同层次级别

         图5 北部湾盆地维度概念分层示意图
(三)数据切片
         应用哈希算法建立业务数据的切片算法,根据石油行业业务数据的业务相关性,按照不同相关性的维度进行数据切片,并根据不同的切片算法和切片维度,建立数据存储路径。根绝切片规律自动路由到请求所对应的切片DB和库表,实现对切片后数据的透明访问。
         通过数据立方体中维度及其划分,可以实现在数据仓库中经常使用的上卷(roll-up)或下钻(drill-down)操作。上卷即是通过某个维度的概念分层向上攀升或通过维规约在数据立方体上进行聚集。下钻是上卷的逆操作,由不太详细的数据钻取到下层更详细的信息,下钻通过沿某个维度的概念分层向下或引入附加的维来实现。
        
         图5 石油数据切片示意图
         在确定业务抽取维度之后,对数据中心的所有数据表和字段进行重新定义和配置,包括数据中心已经定义了的业务对象。总体上是以深度为匹配基准,将所有的业务数据按照抽取的业务维度进行分析和定义,与原始的元模型管理方式一起形成纵横关联的多维勘探开发数据立方体。
         难点在于将数据中心所有管理的数据按照抽取的业务指标进行逐一定义和配置。
(四)数据应用方式
         业务应用需求是不可控的,数据管理不能限定业务应用的需求,因此,作为石油大数据应用,需要从技术层面来提供灵活方便的数据组织和抽取手段来满足不同层次的应用需求。基于已经定义了的勘探开发纵向和横向多个维度的数据关联关系,需要动态满足最终业务应用的数据组织和抽取需求。
         一是支持业务应用抽取任意数量的字段信息,基于元模型定义,需要实现前端应用任意多个字段的抽取,从而节省网络流量并提高数据响应效率;
         二是支持业务对象引用场景的还原,在数据中心管理体系中,所有的对象和活动均赋予了唯一标识符,对象和活动在被引用时均通过该唯一标识符进行关联,在前端应用过程中,业务人员不需要在意该唯一标识符的存在,通过对元模型中对象信息的扩展,可将所有对象和活动的引用场景还原为真实的对象和活动,让业务人员无感地进行数据应用;
         三是支持附录代码和外键引用的替换,在数据中心的各级模型中,为了标准和规范数据入口,对部分信息需要进行严格的规范和定义,即形成相应的附录代码表来作为数据录入和应用的标准,通过扩展数据中心元模型,可提供灵活的附录代码和外键引用的替换,展现给业务应用人员以熟悉和规范的业务数据。
         以最直观的数据可视化来实现大数据在应用,数据的可视化可以分为两大类,一类是通用型的数据可视化图件,如折线图、柱状图、散点图、饼图等等,另一类是石油行业的专业图件的可视化,如C-M图、粒度分析图、天然气碳同位素指纹对比等等。
        
图6 石油数据指标分布规律统计图
         第一类通用可视化图件的实现难点在于对任意字段的可视化成图,需要实现数据范围的动态标定,异常点的处理,量纲的转换等,这些都需要根据实际的数据情况来进行处理。
         第二类石油专业图件的实现难点在于专业算法和规则的实现,以及临时数据来源的同化处理等。
三、结语
         石油行业经过多年的数据建设和信息化工作,积累了海量的数据资产,随着国内三大油公司数据中心的建设,实现了数据层面的集中管理。随着石油业务的深入开展,业务应用的需求爆发式发展,各种大数据的应用和需求也随之不断涌现,要求数据存储和管理能实现高频并发和大数据量吞吐能力,传统的数据管理和和应用方式以及不能满足需求。通过数据切片以横向扩展数据层的方式来提高应用访问性能已经成为架构研发人员首选的方式,数据切片技术在中海油湛江分公司的业务应用中较好了实现了数据的横向扩展和高频并发,基于数据切片技术建立的数据立方体应用于石油大数据分析中,实现了数据应用的可视化分析,取得良好效果。
参考文献(References):
[1] 杨耀忠.油田数据中心数据服务引擎研究[J].内蒙古石油化工.2017.(9):25-27.
[2] 肖波.基于模型驱动的中国石化企业数据中心模型架构[J].计算机与自动化工程.2012.36(1):78-82.
[3] 梁杨.大数据背景下企业级数据中心建设探索[J].互联网天地.2014.(2):40-43.
作者简介:金云智,男,1985年出生,2009年6月毕业于长江大学,硕士学位。现工作于中海石油(中国)有限公司湛江分公司,从事地球物理测井研究及勘探开发信息化工作.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: