面向混合数据源的企业数据库私有云设计

数据专题
Big  Data  Special  Reports
2021年2月第24卷第2期Feb. 2021, Vol  24,No. 2
电力大数据
POWER  SYSTEMS  AND  BIG  DATA
面向混合数据源的企业数据库私有云设计
李卫兵,曾泽熠,曾强
(中国长江电力股份有限公司,湖北宜昌443002)
摘要:针对混合数据源的采集、集成和应用问题,提出一种面向混合数据源的数据库私有云设计,针对混合数据源
的不同结构化程度,将数据源分成结构化、半结构化和非结构化;针对混合数据源不同的不同时序特点,数据库私有 云设计定时采集和实时采集两种采集方式;为了提高混合数据源的存取效率,数据库私
有云将非结构化和半结构化
数据存储在分布式文件系统,将结构化数据存储在分布式数据库;针对混合数据源的大数据应用需求,数据库私有 云的计算层由数据仓库、实时数据处理、机器学习和数据查询服务组成;数据库私有云通过服务使能系统辅助用户
开发具体应用程序,通过服务管理系统管理和监控这些具体应用程序。数据库私有云设计可以有效提供企业采集、 集成和应用混合数据源的效率和效益。
关键词:混合数据源;私有云;数据中心;大数据;分布式数据库
文章编号:2096 -4633(2021)02 -0027 -07 中图分类号:TM311 文献标志码:B
企业的应用系统呈现爆炸性地增长,各种应用 系统的数据来源和数据类型越来越丰富,传统企业
架构一般使用关系型数据库集存储海量的结构化
数据,使用分布式文件系统来存储海量的半结构化
和非结构化数据,传统的关系型数据库和分布式文
件系统在平台类型、存储方式以及访问方式上都存
在一定的异构性,难以统一集成、应用和管理这些 数据。
云计算(cloud  computing )'1-"%通过资源池技
术,实现应用服务器和硬件服务器隔离,使硬件资源 切片使用,提供逻辑虚拟服务器为应用提供服务,这
样不但物理资源得到充分利用,而且机房压力减少,
整体投资下降。私有云(private  clouds  )[5_6]是一个 企业或者用户构建的,提供对数据、安全性和服务质 量的最有效的控制,私有云的核心属性是专有资源, 虽然公有云的技术很先进,但却对企业的遗留应用
支持不好,私有云还能够充分利用企业现有的软硬 件资源来构建数据中心,极大降低企业的成本。
针对企业应用数据的不同来源、规模、采集、结
构和应用特性,本文通过分层设计的数据库私有云
设计解决企业应用数据的集成、存储、计算、访问和 管理需求,重构企业数据中心,将企业应用数据的来
源分为结构化、半结构化和非结构化数据;通过增
量/非实时方式采集结构化数据,通过增量/实时方
式采集半结构化和非结构化数据;使用分布式数据
库存储结构化数据,使用分布式文件系统存储半结 构化和非结构化数据;设计统一访问接口支持对不 同数据结构的数据的统一访问需求;并通过服务使
能系统辅助企业开发和运行大数据应用,通过服务
管理系统管理和监控用户的大数据应用#
1数据库私有云总体架构
针对企业应用数据的不同来源、规模、采集、结
构和应用特性,数据库私有云采用分层设计的软件
架构,将企业数据中心分为接入层、集成层、存储层、 计算层、服务层和应用层,如下图所示:
电力大数据第 24 卷
计算层存储层集成层
亟待解决
服务层应用层分布式文件系统数锯库体占匕分布式数期床)
增勘实时集成系统
图1数据中心总体架构
Fip. 1 Overall  architecture  of  date  center
数据共享与交换基加设施
平台运行与维护支撑体系标准规范与安全保障体系
全斶卜实W 集成系统数据库私有云最底层是数据接入层,支持各种 应用数据来源的接入,将企业的应用数据源主要分 为三种类型:结构化数据,一般来自用户录入或者外 部应用系统的关系型数据,这些数据一半可以适合
直接集成和应用;半结构化数据,一般来自各类传感
器、设备和相关外部应用系统,这些数据一般通过结
构化以后可以集成和应用;非结构化数据,一般来自 应用音频设备、视频设备和外部应用系统,这些数据
一般用来显示或者播放,一般不需要进行数据格式
的变换。
为了适配不同规模、不同类型和不同接收频率
的应用数据,集成层采用两种方式进行采集:全量/
非实时和增量/实时集成,全量/非实时集成主要面
向结构化的关系模型数据,增量/实时集成面向半结
构化和非结构化的数据,不同的采集方式使用不同
的数据采集框架。
存储层由分布式文件系统和数据库一体机(分 布式数据库)组成:分布式文件系统实现非结构化 数据持久化,通过多副本复制实现非结构化和半结
构化的持久化、访问的高性能和高可靠性;数据库一
体机通过关系数据库集实现结构化数据(关系模
型数据)的持久化、访问的高性能和高可靠性。
计算层支持目前大数据处理方面各种计算框
架,包括数据仓库、实时数据处理、机器学习和大规
模数据查询。通过数据仓库工具进行数据提取、转 化、加载,能将结构化的数据文件映射为数据库表,
并提供SQL 查询功能,能将SQL 语句转变成
MapReduce  任务来执行; 通过实时数据处理框架实
时处理大量数据,具有高摄取率,可以并行地对实时 数据执行各种操作,支持中间输出结果可以保存在
内存中,从而不再需要读写分布式文件系统;通过机
器学习框架支持数据挖掘和机器学习需求;大数据
查询框架提供SQL 语义,能提供统一接口查询存储
在分布式文件系统中的PB 级大数据和关系数据库
中的结构化数据。
服务层包括业务使能和服务管理两大系统。业 务使能系统对上传业务系统进行业务赋能,为具体
应用程序开发者提供成套的应用开发SDK 、中间
件、数据存储、业务逻辑引擎、第三方API 接口功能, 支撑具体应用程序调用底层大数据应用服务。服务
wifi怎么读管理系统管理和监控具体应用系统使用业务使能功 能,包括用户管理、服务管理、策略管理、行为管理等 功能。
数据中心数据库私有云应用层支持各种应用场
第2期李卫兵,等:面向混合数据源的企业数据库私有云设计
景,包括数据开发、任务运维、自助分析、数据管理、
项目管理和实时流计算等。
2混合数据源的数据集成设计
根据数据来源的结构,企业数据来源可以分为三
类:来自用户输入或者外部应用系统的关系模型数据,一般称为结构化数据;来自企业内部或者外部的设备、传感器或者外部应用系统的半结构化数据,例如面向对象模型的JSON数据,一般称为半结构化数据;来自各种设备和外部应用系统的非结构化数据,例如视频和音频数据,一般称为非结构化数据。
不同来源和不同类型企业应用数据,数据规模和采集频率也差异很大,不适合采用单一的集成方式,数据中心将应用数据集成方式为两种方式:全量和增量。全量就是每天定时或者周期性把数据从一个地方拷贝到另外一个地方;增量方式一般有两种,一种针对结构化和半结构化数据,这种增量方式的基础是全量,使用某种方式先把全量数据拷贝过来,然后再采用增量方式同步进行更新,另一种是针对非结构化并且实时性要求计较高的业务数据,例如 视频流和音频流文件,采用实时增量方式进行上传。
集成层使用开源框架Apache Sqoop支持全量非实时的数据集成$7%,支持将结构化数据导入上层的关系数据库,将半结构化数据导入上层的分布式文件系统。对于上层的应用程序访问需求,Sqoop 还负责将关系数据和非结构化数据从存储层导出,支持更上层的计算层和服务层的快速访问。使用开源框架Apache Hudo支持增量实时的数据集成,将支持非结构化的视频流和音频流的上传。针对小规模
的非结构化数据,采用批处理的数据集成,使用Apache Hudo的Update/Delete记录原语;针对大规模的非结构化数据,采用基于数据湖的流方式集成,使用Apache Hudo的变更流原语。
阿伊努人
3基于数据库一体机的存储层设计
数据库私有云的存储层基于企业常用的数据库一体机进行设计,由五个部分组成:存储节点、网络节点、智能监控平台、分布式文件系统)HDFS)[8-10]和分布式数据库(Oracle集),如下图所示:
图2分布式存储结构设计
Fig.2Design of distsbuted storage stucture 数据库一体机的底层是物理存储节点,存储节点配置Flash卡、SSD硬盘和HDD硬盘,提供基本的数据存储服务。
3.1存储节点和网络设计
物理存储节点之上时网络层,采用InfiniOand 交换机和QLink高速存储互联组件。InfiniOand交换机支持56Gb/s高带宽低延迟的网络传输,通过InfiniOand传送数据时,数据是以数据包方式传输,这些数据包组合成一条条信息。这些信息的操作方式可能是远程直接内存存取的读写程序,或者是通过信道接受发送的信息,或者是多点传送传输。就像大型机用户所熟悉的信道传输模式,所有的数据传输都是通过信道适配器来开始和结束的。QLink 高速存储互联组件基于高速网络的传输软件,对存储设备
高并发、低延迟的I请求同步到远程存储设备上。QLink基于RDMA协议实现,通过零复制网络技术和内核内存旁路技术减少服务器CPU的耗费,避免了内核空间和用户空间上下文切换,高效、快速地实现了数据传输协议。
存储层智能监控平台提供了一整套完善的面向存储大的智能监控设计,可以实现对存储设备、网络、文件系统和数据库系统的全面可视化监控及自动化运维。智能监控平台还提供了一系列的自动化管理功能,为用户进行存储运维提供极大的便利性。
存储层最上层安装运行HDFS文件系统和Oracle数据库集。HDFS是一个高度容错性的系统,适合部署在普通计算机节点上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。Oracle数据库采用RAC架构提供数据运算服务‘Oracle RAC架构可以非常方便地根据需求随时增加服务器来扩充集系统,无须重新分布数据和应用。
电力大数据第24卷
存储层为每个用户新建一个以用户名为命名的表,表的结构根据xml配置文件的配置信息动态变化,但具体原则是结构化数据直接根据它的不同类型进行存储,而非结构化数据我们存储的是该非结构化数据在HDFS中存储后的存储路径,从而使关系数据库与Hadoop分布式文件系统产生关联,使得同一个用户的数据能够得到统一管理,保证了数据不会产生孤立,一方数据的变化必然能够引起另一方数据的同步变化。
3.2分布式事务设计
针对分布式文件系统和Oracle数据库集的事务管理问题[山,设计利用中间件技术来实现面向HDFS和Oracle数据库集的分布式事务管理方案,针对HDFS的事务访问需求,从事务过程、类、接口三个方面设计HDFS的事务组件,通过两阶段提交协议将HDFS的事务组件和Oracle的分布式事务组件组合在一起,支持分布式文件系统和Oracle数据库集的统一事务管理。
存储层事务主流程分为两个部分组成:事务操作流程和非事务操作流程。对于事务操作流程:首先初始化系统中间件对象,调用开始事务接口,然后对HDFS文件进行读写删操作和对关系数据库进行增删改查操作,判断上述操作是否全部成功,如果操作全部成功,就提交事务,否则就回滚事务,最后一次调用结束。对于非事务操作流程,首先,初始化系统中间件对象,然后对HDFS文件进行读写删
操作和对关系数据库进行访问操作,一次调用结束。
开始事务流程首先调用关系数据库的开始事务方法,其次调用HDFS的开始事务的方法。混合数据源系统的提交事务流程采用分布式事务中的两阶段提交协议,将HDFS事务组件和关系数据库的事务组件用两阶段提交协议结合起来。首先,调用混合数据源系统的Commit方法;接着,对关系数据库进行预提交操作,如果关系数据库数据操作预提交成功,则对HDFS的事务操作进行提交;如果关系数据库预提交失败,则跳到对关系数据库进行回滚操作的步骤。如果HDFS提交成功,则对关系数据库进行提交操作,至此一次调用结束;若HDFS提交失败,则跳到对关系数据库进行回滚操作的步骤。对关系数据库进行回滚操作后,一次调用结束。HDFS 并不能进行预提交操作,只能进行提交操作。存储层回滚事务流程包含了调用关系数据库的回滚事务方法和调用HDFS的回滚事务方法。
根据HDFS事务组件的流程,对HDFS事务组件进行类设计如下图所示
G mw.serviceJOService
G mw.hdfs.HdfsVisit
Add(contents:byteQ):String
Delete(HDFS_PATH:String):void
Read(HDFS PATH:String):byteQ
G mw.service.LogService
®mw.HDFSObject1
°hdfsObject HDFSObject|
•add(buffer byteQ):String!
•read(url:String):byteQ
•delete(url:String):int
•beginTransO:void I
•commitO:void
数学猜想•rollbackQ:void
•write(buffen byteQ):String
•FileExist(hdfs_path:Strinq,file_path:Strinq):int
•getByteArrayFrom(fileUrl:String):byteQ
•Add(contents:byteQ):String
•Delete(HDFS_PATH:String):void
•Read(HDFS PATH:String):byte[]
hf:HdfsFileDao
•FileIsExist(fileurl:String):boolean
•FileIsDelete(tranId:long,fileld:long):boolean
•FileIsAdd(tranId:long,fileld:long):boolean
图3HDFS事务设计
Fig.3Design for HDFS Transaction
拟南芥
整个HDFS事务组件的主类包括了:HDFSObject、A)Semice"LogSemice、HdfsWisit四个组件,下面对这四个类进行介绍:
(1)HDFSObject——HDFS事务组件的接口类,提供六个HDFS数据访问和事务支持的接口。
(2)IOSemDe为HDFSObject类提供文件操作服务,主要包括:文件上传、文件删除、文件读取、通过文件路径获取字符数组等方法。IOSemice类并不会直接与底层的HDFS进行数据访问。下面对IOService类中的方法进行描述。
(3)LogService为HDFSObject类提供文件判断服务,包括:文件存在判断、文件删除判断、文件上传判断三个方法。类的功能由日志组件提供。
江苏卫视人间栏目(4)HdfsVisit——提供访问HDFS的10接口,与底层的HDFS进行直接地数据访问。HdfsVisit类包括文件上传、文件删除、文件读取三个数据操作方法,IOService类可调用HdfsVisit类中的方法操作文件。4面向混合数据源的统一访问接口
针对分布式文件系统HDFS和分布式数据库Oracle集在平台类型存储方式和访问方式上存在的异构性,设计一组混合数据源的统一访问接口作为中间件,用于解决结构化数据和非结构化数据难以统一访问和管理的问题,用户只需调用中间件,即可实现关系型数据和非关系型数据的统一存储,访
第2期李卫兵,等:面向混合数据源的企业数据库私有云设计
问和维护。同时,还设计实现了底层存储的自动配置与生成,通过导入配置xml文件,在分布式文件系统中建立存储目录,在关系型数据库中生成所需的数据库,灵活利用了存储空间,大大提高了存储设备的空间利用率,使中间件具备较高的实用性和普遍性,方便了用户的使用。
XML文件被用于作为用户配置HDFS和关系数据库存储目录与结构的配置文件,用户只需在XML文件中定义好数据类型和格式,利用我们混合数据源的统一访问接口中的函数,便可以轻松地完成对数据的分类,将非结构化数据类型分配在HDFS中,并创建存储目录,并在关系数据库中创建存储HDFS地址的字段,结构化数据类型分配在关系数据库中,自动创建tabla,生成合适地存储字段。
使用XML定义应用实体:entityld是实体编码, entityNama是实体名称,entityTypa是实体类型,每个不同实体都拥有唯一的entityld,entityNama和entityType,根据这三个属性,可以确定一个唯一的实体,一个XML文件中可配置多个实体。dsld是数据源编号,athCount存储的是一个实体中存储属性的个数,而attu是一个保存了所有属性信息的数组,个数与athCount相符。attu数组的每个属性包含attrld属性编号,attrName属性名称和attrType属性类型这三个数据,通过这三个数据,设计接口便可以对实体中的每个属性进行分类和配置。
为了实现混合数据源的相互关联与共享,并将对关系数据库的访问操作与对HDFS的访问操作封装到
一组统一接口中,实现调用该接口同步访问处理关系数据库和HDFS,保证了海量数据的传输可靠性与一致性。该中间件主要包含以下四个核心接口:数据模型配置接口,该接口实现了根据用户xml 配置文件对关系型数据库和HDFS进行存储目录的自动配置;数据存储接口,该接口实现了对用户传入的包含结构化数据和非结构化数据的混合数据源的分类存储功能,存储过程中保证混合数据源的关联统一性;数据查询接口,该接口主要实现了读取关系型数据库中的数据,生成JSON格式字符串返回给用户,通过调用该接口,用户可以知道混合数据源在各系统中的存储情况;HDFS访问接口则提供了一组功能函数,用户通过该组功能函数能够实现对HDFS的访问,且访问过程中,该接口同步地改变修改关系型数据库中的存储字段,保证关系型数据库和HDFS不会因为系统之间的异构性而出现信息隔绝,无法关联共享的现象。
针对不同用户实现自动配置数据库和HDFS存储目录功能,通过用户给的xml配置文件,统一访问接口具备读取解析xml文件,并将xml文件中的配置内容进行实例化,自动识别数据源的类型,并在Oracla数据库中产生相应的表,且同步在HDFS中生成相应文件的存储目录。
5服务使能和服务管理的分离设计
分布式的计算模型对数据分析人员要求较高且不易维护。数据分析人员不仅需要了解业务需求,同时还需要熟悉底层分布式计算模型。服务使能子系统提供完善的数据导入方案以及多种经典的分布式计
算模型,开发人员可以不必关心分布式计算和维护细节,便可轻松完成大数据分析。服务使能子系统协助用户进行数据开发、任务运维、自助分析、数据管理及项目管理,降低了大数据应用技术门槛,为具体应用程序开发者提供成套应用开发SDK、中间件、数据存储、业务逻辑引擎、第三方API接口功能,帮助企业应用开发者快速设计、实现和落地大数据项目。这些服务使能功能包括:数据开发、任务运维、数据管理和项目管理等。数据开发模块提供数据库传输、基于SQL访问数据、Spark$12-15%流计算、数据仓库、MapReduce及脚本各种类型任务的敏捷开发,方便任务开发者进行数据集成、数据ETL[16]、数据分析等数据应用开发。任务运维模块包含可视化的任务管理和实例运维。任务管理让用户可以查看当前产品线任务列表及各个任务的状态、创建人、修改时间、最近执行时间及调度信息。实例运维让用户可以查看任务实例列表及各个实例的状态、运行方式、开始时间、结束时间、运行时长、计划执行时间及提交人信息。数据管理模块包括元数据管理、数据源管理、权限设置及权限查看。通过主题视图,企业可以实现数仓分层,用户可以根据主题快速定位感兴趣的表。项目管理功能提供创建项目、管

本文发布于:2024-09-23 00:25:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/565114.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   结构化   数据库   用户   应用   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议