什么是数据湖
数据库是一个集中式数据存储库,允许你以任意规模存储所有结构化好非结构化数据.你可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析.从数据可视化到数据分析,机器学习等等.
为什么需要数据湖
数据仓库架构
数据仓库是一种体系结构,而不是一种技术,数据仓库最为核心的内容分为2类
- 基于关系数据库的多维模型
- 基于数据立方体的OLAP查询
数据仓库体系结构中包含了从外部数据源或者数据库中抽取数据的ETL工具.ETL工具还负责数据的转换,清洗,然后加载到数据仓库的存储中.一般来说,数据都会加载到存取速度较慢的存储中,以元数据的方式保存下来.
为了提高查询效率,原始数据会按主题分类,以聚合的方式存到数据集市中,称之为数据聚合.
原始数据往往有多条聚合路径,时间维度是一个最基本的内置聚合路径,行政级别划分,产品属性也都是比较常见的聚合路径.
数据仓库体系中还包括前端查询工具,报表工具和数据挖掘工具,被称为front-end.
最后数据仓库体系中都包含一个构建数据仓库的元数据仓库.
元数据仓库包含数据库schema,view用于ETL的metadata,用于数据聚合的metadata,用于报表呈现的metadata和SQL模板等.数据仓库往往采用meta data driver的架构设计,这个元数据仓库至关重要.
维度是观察事物的角度,也是数据数据库事实表中用来描述数据分类的层次结构.维度在数据中就是表示为列,在SQL中用作过滤和分组。对数据进行多个维度的抽象,并借助数据库的select,group by 等基本操作形成的olap多维数据操作被称为多维数据模型.
数据立方体
数据立方体只是多维模型的一个说法,立方体只有三维,但是多维模型不仅限于三维模型,可以组合跟多维度的.
数据湖和数据仓库对比
特性 | 数据仓库 | 数据湖 |
---|---|---|
数据 | 来自事务系统、运营数据库和业务线应用程序的关系数据 | 来自 IoT 设备、网站、移动应用程序、社交媒体和企业应用程序的非关系和关系数据 |
Schema | 设计在数据仓库实施之前(写入型 Schema) | 写入在分析时(读取型 Schema) |
性价比 | 更快查询结果会带来较高存储成本 | 更快查询结果只需较低存储成本 |
数据质量 | 可作为重要事实依据的高度监管数据 | 任何可以或无法进行监管的数据(例如原始数据) |
用户 | 业务分析师 | 数据科学家、数据开发人员和业务分析师(使用监管数据) |
分析 | 批处理报告、BI 和可视化 | 机器学习、预测分析、数据发现和分析 |
数据湖的特点
- 数据存储 大容量低成本
- 数据保真度 数据湖以原始的格式保存数据
- 数据使用 数据湖中的数据可以方便的被使用
- 延迟绑定 数据湖提供灵活的,面向任务的数据绑定,不需要提前定义数据模型