数据湖技术及其应用
[摘要]数据湖是一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据,具有改造和分析数据处理能力。来自不同来源的详细原始的数据被加载到一个综合信息库,可以看到提供给用户分析的任何数据。主要思想是对企业中的所有数据进行统一存储,从原始数据转换为用于报告、可视化、分析和机器学习等各种任务的转换数据。数据仓库是一个优化的数据库,用于分析来自事务系统和业务线应用程序的关系数据。数据仓库技术需要事先定义数据结构和数据模式(Schema)以优化快速SQL查询,其中结果通常用于操作报告和分析。数据经过了清理、丰富和转换,因此可以充当用户可信任的"单一信息源”。本文通过具体项目亿信和河北省科技创新大数据平台分析数据湖和数据仓库的应用
[关键词]数据湖,数据仓库。
一、数据湖与数据仓库的比较
数据湖能够同时存储来自业务线应用程序的关系数据,以及来自移动应用程序、物联网设备和社交媒体的非关系数据。在进行数据捕获时,无须定义数据结构或数据模式(Schema)。数据湖支持用户对数据使用不同类型的分析(如SQL查询、大数据分析、全文搜索、实时分析和机器学习等),为企业智能决策提供支撑。主要数据来源、数据模式转换时机、数据存储成本、数据质量、面对用户和主要支撑应用类型等六个方面对数据湖技术和数据仓库技术进行比较:
1.主要数据来源:数据湖来自物联网设备、互联网、移动应用程序、社交媒体和企业应用程序的结构化、半结构化和非结构化数据;数据仓库来自事务系统、运营数据库和业务线应用程序的结构化数据。
2.数据模式转换时机:数据湖:数据进入数据湖时不进行模式转换,在进行实际数据分析时才讲行模式转换;
数据仓库:在进入数据仓库之前(需要提前设计数据仓库的Schema)
3.数据存储成本:数据湖:通常基于非关系型数据库,数据存储成本相对较低 数据仓库:通常基于关系型数据库,数据存储成本高。
4.数据质量:数据湖:原始的、未经处理的数据。数据仓库:可作为重要事实依据的高质量数据。
5.面对用户:数据湖:业务分析师、应用开发人员和数据科学家。数据仓库:业务分析师。
6.主要支撑应用类型:数据湖:机器学习、预测分析、数据发现和分析。数据仓库:批处理报告、商务智能(BI)和数据可视化
二、 河北省科技创新大数据综合服务平台是一个以科技资源数据为基础,应用现代信息技术搭建的,通过网络面向用户服务的信息系统平台。平台上系统概要体系架构设计:把放在系统资源层的分散存放的数据库数据放入缓冲管理子系统,在缓冲区中进行数据抽取、清洗、转换、入库等操作。然后在数据仓库管理系统中进行数据的整合,最后对整合后的数据进行可视化展示。其中子系统的划分采用过程/数据类法过程/数据类法:根据数据模型设计中得到的数据类以及功能需求分析中建立企业模型的业务过程来划分子系统。过程:对应用户功能需求分析中得到的功能。数据类:对应信息需求分析中得到的信息。子系统有:缓冲层管理子系统,数据仓库管理子系统。
三、系统中用数据湖技术数据治理
数据湖最主要的元素是三大元素:一个是Amazon S3/Glacier,一个是AWS Glue和Amazon Athena,一个是AWS Lake Formation。最核心的组件是Amazon S3,它可以存储二进位为基础的任何信息,包含结构化和非结构化的数据,例如:企业信息系统MES、SRM等系统中的关系型数据,从手机、摄像头拍来的照片、音视频文件,从火力发电机等各种设备产生的数据文件等。借助Amazon S3,可以通过经济高效的方式构建和扩展任何规模的数据湖。AWS Glue服务,还是可以提供数据目录服务的功能。因为数据都存在数据湖里面,在这个过程中,要对这些数据打上标签,把它做分类的工作。Glue就像爬虫一样对数据湖里的海量数据,进行自动爬取,生成数据目录的功能。而Amazon Athena是一种交互式查询服务,让您能够轻松使用标准 SQL 直接分析Amazon S3中的数据。AWS Lake Formation:把建立数据湖操作的步骤通过工具自动化管理起来,帮助企业在短短的几天的时间完成数据湖的建设工作。
1.数据库类型接入
首先对数据库类型接入,包括主流的关系型数据库以及分布式数据库,能将业务系统数据对接到平台中,提供后续建模分析使用,支持Oracle、Mysql、Sql Server、DB2、Sybase、达梦 DM、PetaBase、Impala、GreenPlum、 Hive、Spark SQL、postgresql 、FusionInsight、Gauss DB200、Vertica、Transwarp、Informix、 易鲸捷 EsgynDB 等,同时也支持通过接入其他数据库驱动的方式自定义数据库。导入各种类型的数据库及excel、txt、csv、db等文件
2、数据的整合
使用可靠的 ETL 过程、过程流发布和智能的调度管理。ETL 过程流编辑器是以图形化的方式完成 ETL 过程的前驱后继关系和调度顺序 的定义。ETL 过程依赖关系分为强制依赖和非强制依赖,强制依赖是指作业之间有着 业务上的依赖关系,前置作业的输出做为后置作业的输入,只有前置作业执行完成后, 才能进行后置作业的调度,而非强制依赖是指作业之间没有任何的业务依赖关系,为了管理的需要将一组作业进行序列化的处理,在前置作业执行出错时候,可以选择跳 过进入到下一个作业的执行中去。
3.数据建模
有引用库表创建主题表、SQL 创建主题表、虚拟主题表、自定义创建主题表,以及通过 ETL 创建主题表等方式。
4.数据分析
数据分析使用户能够从大量的数据中发现有价值或者感兴趣的信息,这些功能可以简单的划分为六类:
(1)报表分析,用户通过系统提供的可视化设计工具,定义各种分析报表、查询模板、统计图模板等,在需要的时候再刷新分析结果。
(2)敏捷分析,系统提供灵活方便的操作界面,允许用户任意选择指标、维度和过滤条件等,快速生成多维分析表、统计图形等。
(3)报告分析,通过将用户关心的图表结果汇集在报告中,便于用户演示汇报。
(4)酷屏分析,可灵活自由地制作和展现酷炫的图表,方便开发和实施人员快捷地完成页面需求,支持在线编辑 html/js/css 代码完成页面效果制作。
(5)移动分析,分别可通过浏览器、手机、平板电脑等多途径,对自己权限范围内的报表进行浏览访问。ABI 提供了大量的功能,可以很好的实现这几类数据分析展现需求,并且操作简洁。