数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。——百度百科
数据集市
是企业级数据仓库的一个子集,他主要面向部门级业务,并且只面向某个特定的主题,按照多维的方式进行存储,包括定义维度需要计算的指标维度的层次等,生成面向决策分析需求的数据立方体。——wikipedia
数据仓库
是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合用于支持管理决策。其主要功能是将组织透过资讯系统之联机事务处理(OLTP)经年累月所积累的大量资料,透过数据仓库理论所特有的资料存储架构,作一有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助构建商业智能(BI)。——《Building the data warehouse》W.H.Inmon
数据湖
数据湖是以其自然格式存储的数据的系统或存储库,同行是对象blob或文件。数据湖通常是企业所有数据的单一存储,包括源系统数据的原始副本,以及用于报告、可视化、分析和机器学习等任务的转换数据。数据湖可以包括来自关系数据库(行和列)的结构化数据,半结构化数据(CSV,日志,XML,JSON),非结构数据(电子邮件、文档、PDF)和二进制数据(图像、音频、视频)。——wikipedia
数据平台
数据平台是在大数据基础上出现的融合了结构化和非结构化数据的数据基础平台,为业务提供服务的方式主要是直接提供数据集。——网络博客
数据中台
“以全域大数据建设为中心,技术上覆盖整个大数据从采集、加工、服务、消费的全链路的各个环节,对内对外提供服务。丰富的大数据生态组件,构成了阿里的核心数据能力,通过大数据生态组件,可以迅速的提升数据应用的迭代能力,人人都有可能成为大数据专家。”——《阿里巴巴全域数据建设》,阿里巴巴数据技术及产品部高级技术专家张磊,2017杭州云栖大会-阿里大数据分论坛
“数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念。”——《数据中台已成下一风口,它会颠覆数据工程师的工作吗?》,ThoughtWorks数据和智能总监史凯
通俗的来看,以上六个数据概念按顺序整体呈现从小到大(指囊括的数据范围和层次),从后端到前台演变的趋势,这也反映出数据行业价值的转变。从前,IT是业务的后端,而数据是后端的后端,数据要往前走面临着巨大挑战,人们很难看到数据和价值的关系。如今,DT时代,数据通过中台直接面向业务来创造价值,数据的价值可以得到最直接的体现。
2 对比介绍
数据仓库作为数据行业发展时间轴上一以贯之的概念,它的存在见证了数据行业的发展,本文将以数据仓库为核心与其他五个概念的特性进行对比分析:
- 数据仓库VS数据库
一般来说,传统数据库是为存储而生,而数据仓库很明显,是为分析而生。
传统数据库包括增删改查,但数据仓库注重查询。而传统数据库的主要任务是执行联机事务处理(OLTP)。主要负责日常操作。而数据仓库系统在数据分析和决策方面为用户或“知识工人”提供服务,可以以不同的格式组织和提供数据,以便应付不同的需求,这种系统称作联机分析处理(OLAP)。
数据仓库 | 数据库 | |
面向对象 | 面向市场的,用于知识工人的数据分析 | 面向顾客的,用户操作员,客户和信息技术人员的事务和查询处理 |
数据内容 | 管理大量历史数据,提供汇总和聚集机制,而且在不同的粒度层上存储和管理信息 | 管理当前数据。一般这种数据比较琐碎,很难用于决策 |
数据设计 | 系统采用星形或雪花模型和面向主题的数据库设计 | 采用实体联系数据模型和面向应用的数据库设计 |
数据视图 | 经常需要跨越数据库模式的不同版本 | 关注一个企业或部门内部的当前数据,不涉及历史数据或不同单位的数据 |
访问模式 | 大部分是只读操作 | 主要由短的原子事务组成,一般需要并发控制和恢复机制 |
相信数据仓库和数据库的区别,大家都已经有所了解,这里就不做过多的解释了。
- 数据仓库VS数据集市
数据集市不同于数据仓库,一般是服务于某几个部门。数据仓库向各个数据集市提供数据,且一般来讲,数据仓库的表设计符合规范化设计,而数据集市一般使用维度建模。一般有两种类型的数据集市——独立性和从属性。独立性数据集市直接从操作型环境获取数据,从属性数据集市从企业级数据仓库获取数据。
从属性数据集市结构如下图所示:
上图所示的以数据仓库为基础的决策支持环境,要求数据仓库能够满足所有最终用户的需求。然而,最终用户的需求是不断变化的,而且各种类型的用户对信息的需求也不一样,这就要求数据仓库存储的数据具有充分的灵活性,能够适应各类用户的查询和分析。另一方面,最终用户对信息的需求必须易于访问,能够在较高的性能上获得结果。但是,灵活性和性能对数据仓库而言,是一对矛盾体。为了适应灵活性的要求,数据仓库需要存储各种历史数据,以规范化的模式存储(一般是第3范式)。于是,对于特定的用户,TA所需要的信息就需要在许多张很大的表上连接后得到结果,这样就无法满足用户对快速访问的性能需求。为了解决灵活性和性能之间的矛盾,数据仓库体系结构中增加了数据集市,数据集市存储为特定用户需求而预先计算好的数据,从而满足用户对性能的需求。
独立型数据集市的存在会给人造成一种错觉,似乎可以先独立地构建数据集市,当数据集市达到一定的规模可以直接转换为数据仓库,然而这是不正确的,多个独立的数据集市的累积并不能形成一个企业级的数据仓库,这是由数据仓库和数据集市本身的特点决定的。如果脱离集中式的数据仓库,独立的建立多个数据集市,企业只会又增加了一些信息孤岛,仍然不能以整个企业的视图分析数据,数据集市为各个部门或工作组所用,各个集市之间又会存在不一致性。当然,独立型数据集市是一种既成事实,为满足特定用户的需求而建立的一种分析型环境,但是,从长远的观点看,是一种权宜之计,必然会被企业级的数据仓库所取代。
数据仓库和数据集市的区别总结如下:
数据仓库 | 数据集市 | |
数据来源 | 遗留系统、OLTP系统、外部数据 | 数据仓库 |
范围 | 企业级 | 部门级或工作组级 |
主题 | 企业主题 | 部门或特殊的分析主题 |
数据粒度 | 最细的粒度 | 较粗的粒度 |
数据结构 | 规范化结构(第3范式) | 星型模式、雪片模式或混合模式 |
历史数据 | 大量的历史数据 | 适度的历史数据 |
优化 | 处理海量数据 数据探索 | 便于访问和分析 快速查询 |
索引 | 高度索引 | 高度索 |
上文中提到诸多数据建模方法,如规范化建模、维度建模(星型模式、雪片模式、混合模式等)属于具体方法论范畴,感兴趣的同学可以查阅相关资料,便于对以上概念进行更深刻的理解。
- 数据仓库VS数据湖
相较而言,数据湖是较新的技术,拥有不断演变的架构。数据湖存储任何形式(包括结构化和非结构化)和任何格式(包括文本、音频、视频和图像)的原始数据。根据定义,数据湖不会接受数据治理,但专家们都认为良好的数据管理对预防数据湖转变为数据沼泽不可或缺。数据湖在数据读取期间创建模式。与数据仓库相比,数据湖缺乏结构性,而且更灵活;它们还提供了更高的敏捷性。值得一提的是,数据湖非常适合使用机器学习和深度学习来执行各种任务,比如数据挖掘和数据分析,以及提取非结构化数据等。
数据仓库 | 数据湖 | |
类型 | 结构化数据,而且这些数据必须与数据仓库事先定义的模型吻合 | 所有类型数据,如结构化数据、半结构化、非结构化数据等,数据的类型依赖于数据源系统的原始数据格式 |
目的 | 处理结构化数据,将他们或者转换为多维数据,或者转换为报表,以满足后续的高级报表及数据分析需求 | 非常适合深度分析,包括高级数据分析、机器学习、深度学习等 |
特点 | 高性能、可重复性、持续使用 | 便于探索、创新、灵活性高 |
数据湖和数据仓库的差别很明显,然而在企业中两者的作用是互补的,不应认为数据湖的出现是为了取代数据仓库。
- 数据仓库VS数据平台
因数据仓库具有历史性,其中存储的数据大多是结构化数据,数据平台的出现解决了数据仓库不能处理非结构化数据和报表开发周期长的问题。
数据仓库 | 数据平台 | |
数据类型 | 结构化数据 | 所有类型数据,如结构化数据、半结构化、非结构化数据等 |
服务方式 | 为业务提供服务的方式主要是分析报表 | 为业务提供的方式主要是直接提供数据集 |
在以上的解读中,数据平台和数据湖好像存在诸多相似性,这二者的区别个人认为应该从数据加工的角度理解,数据湖更着重对原始数据的存储,数据平台则同数据仓库一样,需对原始数据进行清洗、转换等数据处理后进行统一规范存储。
大数据时代,数据平台一般被称之为大数据平台。狭义上的大数据平台和传统数据平台的功能一致,只是技术架构和数据容量方面的不同,但广义的大数据平台通常被赋予更多的使命,它不仅存储多样化的数据类型,还具有报表分析等数据仓库的功能,以及其他数据分析挖掘方面的高级功能。
- 数据仓库VS数据中台
先说说数据中台,从数据中台的众多定义中我们可以总结出如下一些特点或目标:
- 采集并致力跨域数据
采集并加工“企业内外割裂的数据”,“治理跨域数据”,消除数据孤岛。
- 形成数据资产层
经过加工的数据,“实现数据资产化”形成“企业数据资产管理中枢”。各类人员可以直接从数据中台选用需要的数据。
- 增强“数据应用”迭代能力
提供组件化的加工能力,能够快速形成业务需要的数据产品,“可以迅速的提升数据应用的迭代能力”。
- 形成API化的数据服务
形成数据资产并封装成API服务后,应用和中台之间无缝衔接,形成高度自动化的数据应用流程。业务人员即使不了解大数据技术,也能实施数据驱动型的工作,“人人都有可能成为大数据专家。”
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!