“数据仓库”“数据集市”“数据湖”“数据海” 这几个词常听人提起,但很多时候,大家说着说着就混为一谈了。
其实啊,它们的设计思路、技术框架和能用在啥地方,完全是企业数据管理从靠工具到靠生态驱动的一整条发展线。
我干数据这行这么多年,服务过金融、零售、制造不少行业,一直觉得:搞明白这四个东西的不一样,说到底是搞明白企业挖数据价值的深度 —— 从记录过去发生了啥,到预测将来会咋样,再到重新构建协作新模式。
今天这篇文章,我就不搞那些花里胡哨的解释,从核心目标、关键特点、技术架构、谁来用这四个方面,把它们的本质区别拆解开,再结合实际业务场景说说该咋选。
数据仓库(Data Warehouse,DW)是上世纪 90 年代出现的,比尔・恩门(Bill Inmon)给它下了个经典定义:
面向主题的、集成的、非易失的、随时间变化的数据集合。
说白了,它就是要给企业提供统一的、能信得过的分析用数据,本质上是一套为决策服务的数据治理体系。
有以下几个特点:
数据仓库的技术核心是 “ETL(抽取 - 转换 - 加载)” 流程:
谁在用呢?
主要是企业中层以上的管理者、财务分析师、战略决策的人。他们要的是 “经过验证的、统计标准一样的” 数据,比如:
数据仓库也有一些不足之处:
建个数据仓库周期不短,一般得六到十二个月,花钱也不少,还得有专门的数据团队维护 ETL 流程。
而且对图片、日志这些非结构化数据支持不太好:
数据集市(Data Mart,DM)可以说是数据仓库的一部分,最早是拉尔夫・金博尔(Ralph Kimball)提出来的:
“面向特定业务部门或者业务场景的、更细致的数据分析仓库”。
它的核心目标很简单,就是:
让一线做业务的人能快点拿到自己要的数据,缩短分析和做决策的时间。
它的数据范围就限定在某一条业务线里,比如:
架构上也更轻量:
不用重新建一套完整的 ETL 流程,可以直接用数据仓库处理到一半的结果。所以建起来也快,一般两到四周就能搞定,还能支持业务部门自己定义指标。
具体建法有两种:
技术上也更简单,常用:
能支持实时或者差不多实时查询。
用的人主要是一线业务人员:
像区域销售经理、电商运营专员,还有分析师,比如用户增长分析师。
他们就想 “快点拿到数据验证自己的想法”,比如:
但数据集市也有不足:
它可能会造成 “数据孤岛”,不同部门的集市统计标准可能不一样,比如 “月活用户” 怎么算,各有各的说法。
时间长了,企业整体的数据治理就会变复杂:
所以成熟点的企业一般会要求数据集市的元数据和数据仓库保持一致。
数据湖(Data Lake)是 2010 年 Pentaho 创始人詹姆斯・迪克森(James Dixon)提出来的:
“存储原始格式数据(像文本、JSON、CSV、图片、视频)的企业级数据存储库”。
主要作用是:
打破数据格式的限制,把数据的 “原始样子” 保留下来,支持各种数据分析和创新应用。
它最关键的是:
数据进湖的时候不清洗、不转换,就保持原来的格式,比如日志文件的每一行、物联网设备的每一条传感器数据。
举个例子:
银行的反欺诈系统得分析用户所有的操作,包括那种 “短时间内多次输错密码” 的异常情况,这些原始日志要是被数据仓库过滤掉了,因为不符合 “有效交易” 的标准,那关键的风险特征就没了。
而且它能存多种类型的数据:
比如制造业的设备监控数据湖:
这里有个重要的点,就是 “读时定结构”:
数据的元数据,像字段啥意思、数据类型,是在分析的时候才动态定义的,不是进湖的时候就强制规定好。
这和数据仓库的 “写时定结构” 正好相反:
数据湖用的人主要是数据科学家、AI 工程师、搞创新业务的团队。他们就是想 “从大量原始数据里挖出不知道的价值”,比如:
不过早期的数据湖因为没好好治理:
比如没有元数据管理、没控制权限,经常被叫做 “数据沼泽”—— 存了一堆没用的数据,想找个需要的信息半天找不到。
“数据海” 不算个严格的技术术语,就是对 “跨组织、多类型、超大容量数据集合” 的一种描述。
它的核心目标是:
打破企业之间的界限,通过数据协作创造整个生态的价值。
关键特点有这几点:
数据海的技术基础是云平台,主要靠这些关键技术:
主要是行业里的头部企业、政府机构、生态平台。他们想 “通过数据协作创造新的商业模式”,比如:
但建数据海也面临三个大挑战:
搞明白数据仓库、数据集市、数据湖、数据海的区别,其实是搞明白企业数据能力的成熟程度,下面我从几个方面给大家做一下对比:
那么企业具体该咋选呢?
数据仓库、数据集市、数据湖、数据海不是谁替代谁的关系,而是覆盖企业不同层级数据需求的工具组合:
数据仓库解决 “数据可信” 的问题,数据集市解决 “数据好拿” 的问题,数据湖解决 “数据能用” 的问题,数据海解决 “数据能协作” 的问题。
咱们做数据这行的,别总追着 “新概念” 跑,得明白企业的业务阶段和核心痛点:
数据管理的最终目的,从来都不是 “存下所有数据”,而是 “让对的数据,在对的场景里,被对的人用上”。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。