1 企业现状
1.1 数据孤岛的形成
随着互联网的兴起,企业数据量不断上升。为了存储这些数据,单个数据库已经不再满足数据存储的需求,这时企业一般会建多个业务数据库。
这些数据库独立运行,支撑相应的业务,方便了公司对业务的管控。但是,由于数据相对分散,无法集中存储和利用,导致数据孤岛的形成,以至于对数据的利用效率低。
这时,企业开始走向数仓模式。
1.2 非结构化数据涌现
随着数据仓库的兴起,我们通过ETL工具从各个数据孤岛中抽取数据注入数仓中进行维度分析和展现,数据孤岛的问题似乎被数仓解决了。
但是,由于互联网的高速发展,数据呈爆发式增长,半结构化、非结构化数据不断涌现,这时,数仓就有点显得力不从心了。
1.3 原始数据存储的问题
在以前,由于大规模存储的成本和复杂性以及大数据技术尚未开始蓬勃发展等客观原因,造成企业对于数据的存储是精简的。也就是能够存储到企业系统的数据都是经过提炼的,这些数据撇除了价值密度低的信息,只保留了和业务高度相关的核心数据。
这样使得原始数据无法保留,当我们想要朔源的时候就很难完成了。
2 数据湖(Data Lake)的出现
随着大数据技术Hadoop的发展,解决了海量数据的存储和计算的问题,同时,数据湖的概念也被提出。
3 数据湖应做到
(1)数据的集中存储
(2)保留原始数据格式
(3)支持任意格式
(4)支持海量数据分析
4 数据湖、数据仓库、数据集市的比较
4.1 数据湖
是整个公司内的一个开放的数据中心,接收任意类型的数据输入,对数据进行集中存储,并能对这些数据提供分析服务。
4.2 数据仓库
是整个公司的业务数据集合,主要针对结构化的业务数据,并能提供查询分析服务。
4.3 数据集市
是一个小型的部门级别或者工作组级别的数仓。其内部数据主要针对指定业务范围,或者为指定人员提供服务。
数据湖 | 数据仓库 | 数据集市 | |
应用范围 | 全公司 | 全公司 | 部门或工作组 |
数据类型 | 任意格式数据处理 | 结构化数据处理 | 结构化数据处理 |
存储规模 | 海量 | 大量 | 中等规模(小型数仓) |
数据应用 | 海量任意格式分析、不限应用的类型 | 维度建模、指标分析 | 小范围数据分析 |
新应用开发周期 | 短 | 长 | 长 |