《数据湖演进之路(1)》由会员分享,可在线阅读,更多相关《数据湖演进之路(1)(70页珍藏版)》请在金锄头文库上搜索。
1、数据湖演进之路数据湖演进之路用户画像需要从数据仓库的角度来看,才能获得完整的视图。数据集成真正从大数据的角度来看,才能明白其中的挑战。一个运行了20多年的数据架构,必然有其合理性。也正是因为年代久远,存量过多,才导致举步维艰。在Cloud和5G时代,超密度网络集成和大数据洞察需求给保险行业带来新的挑战,从数据仓库到数据湖,不仅仅架构的变革,更是思维方式的升级。数据仓库历史沿革数据仓库历史沿革1970年,关系数据库的研究原型System R 和INGRES开始出现,这两个系统的设计目标都是面向on-line transaction processing(OLTP)的应用。关系数据库的真正可用产品
2、直到1980年才出现,分别是DB2 和INGRES。其他的数据库,包括Sybase,Oracle,和Informix都遵从了相同的数据库基本模型。关系数据库的特点是按照行存储关系表,使用B树或衍生的树结构作为索引和基于代价的优化器,提供ACID的属性保证。到1990年,一个新的趋势开始出现:企业为了商业智能的目的,需要把多个操作数据库中数据收集到一个数据仓库中。尽管投资巨大且功能有限,投资数据仓库的企业还是获得了不错的投资回报率。从此,数据仓库开始支撑各大企业的商业决策过程。数据仓库的关键技术包括数据建模,ETL技术,OLAP技术和报表技术等。目前主要的数据仓库产品供应商包括Oracle、IB
3、M、Microsoft、SAS、Teradata、Sybase、Business Objects(已被SAP收购)等。数据仓库数据仓库概念概念数据仓库之父Bill Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。这是一个偏向学术的定义,却非常准确的
4、界定了数据仓库与其他数据库系统的本质区别。“A data warehouseis a subject-oriented,integrated,time-variant,and nonvolatile collection of data in support of managements decision-making process.”W.H.Inmon要理解数据仓库的概念,需要从与数据库的系统的对比来看。数据库是作为“所有处理的单一数据源”出现和定义的。数据库的出现有两个驱动因素,第一是70年代以前大量应用程序和主文件的分散存放导致一片混乱和大量冗余数据。第二是直接存取存储设备的出现使得按
5、记录寻址成为可能。基于DBMS的在线事务处理为商业发展开辟全新的视野。数据库系统的设计目标是事务处理。数据库系统是为记录更新和事务处理而设计,数据的访问的特点是基于主键,大量原子,隔离的小事务,并发和可恢复是关键属性,最大事务吞吐量是关键指标,因此数据库的设计都反映了这些需求。数据仓库的设计目标是决策支持。历史的,摘要的,聚合的数据比原始的记录重要的多。查询负载主要集中在即席查询和包含连接,聚合等操作的复杂查询。相对于数据库系统来说,查询吞吐量和响应时间比事务处理吞吐量重要的多。数据仓库和数据库系统的区别,一言蔽之:OLAP和OLTP的区别。数据库支持是OLTP,数据仓库支持的是OLAP。对
6、OLTP和OLAP的区别还可以有一个维度,就是及时性需求。OLTP对事务的及时性需求较高,而OLAP则不然。数据仓库一般基于数据库实现,但是为部署和维护上是分离的。数据仓库可以是基于关系数据库实现的,这样的数据仓库被称为ROLAP。数据仓库也可以是基于多维数据结构实现的,这样的数据仓库被称为MOLAP。数据仓库数据仓库架构架构数据仓库是一种体系结构,而不是一种技术。数据仓库最为核心的内容分类两部分:基于关系数据库的多维建模(RDBMS-based dimensional modeling)基于数据立方体的OLAP查询(cube-based OLAP)数据仓库体系结构包含了从外部数据源或者数据库
7、抽取数据的ETL工具。ETL还负责数据的转换,清洗,然后加载到数据仓库的存储中。一般来说,数据都会加载到存取速度较慢的存储中,以原始数据的方式保存下来。为了提高查询效率,原始数据会按主题分类,以聚合的方式存储到数据集市中,称之为聚合数据。参见下图,原始数据往往有多条聚合路径,时间维度是一个最基本的内置聚合路径,行政级别划分也是一种常见的聚合路径,产品属性也是常见的聚合路径。数据仓库体系结构中还包括前端的查询工具,报表工具和数据挖掘工具,被称为front-end。最后也是最重要的是,数据仓库体系结构中都会包含一个构建数据仓库的元数据仓库。元数据仓库包括数据库schema,view,用于ETL的m
8、etadata,用于数据聚合的metadata,用于报表呈现的metadata和SQL模板等。数据仓库往往采用meta data driven的架构设计,这个元数据仓库就至关重要。上文中提到的维度的概念。维度(dimension)是观察事物的角度,也是数据库事实表中用来描述数据分类的层次结构。维度在数据中就是表示为列,在SQL中用作过滤和分组。像上图这样对数据进行多个维度的抽象并借助于数据库的select,group by等基本操作形成的OLAP多维数据操作(roll up,drill down,slice and dice,pivot)被称为多维数据模型。为了方便复杂分析和可视化呈现,数据仓
9、库中数据往往以多维模型建模。每一个维度被称为一个层级,三个维度构成一个数据立方体。维度也通常用来过滤和分组,所以数据立方体称之为group by的并。OLAP也被称为在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。数据立方数据立方 数据立方体只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度。但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的称呼(见下图)。随着传感技术在穿戴医疗设备上的应用,健康保险行业的发展进入新阶段。对保险公司来说,通过物联
10、网驱动健康管理,可以准确确定被保险人的健康管理目标,根据目标制定个性化的健康管理方案。同时,通过对被保险人健康情况、日常活动等数据的分析,保险公司能够准确地进行风险评估以及价格调整。此外,穿戴医疗设备能够有效地优化健康保险产品,提升客户服务质量,促进健康保险模式的转变,推动健康保险由事后补偿向预防补偿发展。有关数据表明,截止2018年,全球智能穿戴医疗设备的使用量将超过2.5亿,另外,其出货量也会快速增长态势,将达到1.35亿。OLAP的操作是以查询也就是数据库的SELECT操作为主,但是查询可以很复杂,比如基于关系数据库的查询可以多表关联,可以使用COUNT、SUM、AVG等聚合函数。OLA
11、P的多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot),逐一解释如下:Roll up(drill-up):summarize data by climbing up hierarchy or by dimension reductionDrill down(roll down):reverse of roll-up,from higher level summary to lower level summary or detailed data,or introducing new dimensionsSlice
12、and dice:project and select Pivot(rotate):reorient the cube,visualization,3D to series of 2D planes看了上图中数据立方体的各种操作,有人觉得还是很抽象。下面给一个SQL的例子,说明数据立方体的具体操作。select/公式必须配合group by使用 tmp.time,tmp.id1,tmp.id2,SUM(counter1)counter1,SUM(counter2)counter2from/双层SQL,实现聚合路径 (select/trunc实现时间维度的变化 trunc(p.time,min)
13、time,country.country_id id1,city.city_id id2,SUM(p.counter1)counter1,SUM(p.counter2)counter2 from table country,table city,table p where/选择计算的城市 city.city_id in(北京,上海,广州)and time=to_date(2016/01/01 00:00:00,yyyy/mm/dd hh24:mi:ss)and time New Data Warehouse-Data Lake,阐述大数据技术背后的技术架构演进。A giant step bac
14、kward in the programming paradigm for large-scale data intensive applications.Not novel at all-it represents a specific implementation of well known techniques developed nearly 25 years ago.To draw an analogy to SQL,map is like the group-by clause of an aggregate query.Reduce is analogous to the agg
15、regate function(e.g.,average)that is computed over all the rows with the same group-by attribute.总结起来,大数据对于数据湖架构的拥抱,来自于以下四个方面的驱动。用四个推导公式,如下:5G-BigData(Semi-Structured and Unstructured)-Modern Data Architecture for Enterprise-Data Lake Storage Architecture-Data LakeCloud-Network Function Cloudification-Network Function Virtualization-stateless VNF-Distributed Sharing Storage-Data LakeDistributed analytics-Data LakeHierarchy architecture-Flat operations architecture-Data Lake我们尝试过在数据加载过程中自学习的产生数据库schema,证明这个思路是可行的。基于结构化的数据,这个过程非常容易。但对于非结构化的数据,还是存在很大的挑战。使用机器学习的方式,模型训练成本恐怕和人工抽取schema的工作量是相当大的。