数据库、数据仓库、数据中台、数据湖相关概念

发布于:2025-06-09 ⋅ 阅读:(20) ⋅ 点赞:(0)

序言

简单的回顾记录一下,数据库,数据仓库,数据中台,数据湖的概念。
避免混淆了。

1数据库,数据仓库,数据中台,数据湖-概念对比释义

通常而言,数据库概念,一般说的是传统数据库,或者说关系型数据库。
不传统的数据库,就是存非结构化数据了。涉及到数据的增删改查。
而数据仓库,使用时主要是查询为主,约束不像关系型那么严格。
在互联网还是搜索引擎和电脑网页浏览冲浪的时间段,主要就是上述这两个概念或者说配套工具就够用了。【这个时间点,应该有很多人在用小屏手机刷盗版小说。当时常用的,迅雷,优酷,百度网盘,金山打字,office四件套,windows7】

前两个整的久了,就有了数据中台,数据湖概念。
对应的互联网时代,乔布斯搞出来智能手机后,移动互联网广泛铺开之后,外加有了能联网的一些IOT设备,对应的是手机电商购物app,自媒体平台啊,抖音啊,美团啊,脸书,油管等等等等。前两个概念,在中小企业还是够用的,在大企业就不够用了,于是,就有了后两个概念及配套工具。

我认为前两个概念比较基础,现在解释一下不会有歧义,而后两个概念及配套工具,截止目前2025还在发展调整,所以后文不会讲太多。

参考链接
https://zhuanlan.zhihu.com/p/890301514
https://zhuanlan.zhihu.com/p/1898757990221353099
https://www.aliyun.com/getting-started/what-is/what-is-data-lake

1.1概念产生的时间顺序

先有基础的数据库,然后才有的数据仓库概念。这两个概念,都会用到关系型数据库,对于数据的存储过程,有进行范式约束,数据库严格,数据仓库宽松一些,这样方便进行数据管理使用。
再后来,出现了更多的非结构化数据,文本啊,图片啊,视频啊,音频啊。这些数据存储多了,就有了数据湖的概念。这个概念2015年提出来的。比前面两个概念要晚了快50年。
数据中台也是2015年提出来的,简单的理解就是对数据集中处理的一个开发平台,有点像pycharm,ide一样,就是集成开发工具,或者说,就是一个专门面向数据构建处理的一个操作平台。

1.2在使用功能方面对比

数据库涉及到的有增删改查,颗粒度基本上都是最细的层级。
数据仓库涉及到的数据量更大,主要就是查询,同时数据具备不同层次的颗粒度,相当于存储了非常多不同主题的统计指标。
其次,数据仓库的构建也会涉及到更多的专项主题,例如某一个财务方向的bi面板主题,以及一个生产流程业务指标的bi面板主题,二者所涉及到的下钻指标,都是有所差异的。

1.3在使用工具方面对比

数据库和数据仓库所使用的的。差距并不是特别大,基本上都会用到一些常规的etl工具,然后是数据库模式的设计工具,然后就是一些任务调度啥的。

2数据仓库

数据库,简单分类,关系型,非关系型。mysql,oracle,mongodb,基本上了解一下表结构设计的范式,会写sql就能用起来了。以前我有文章梳理了,所以我这里不做赘述。
数据仓库,就是从不同数据库A\B\C\D\E里,拉过来一堆数据,存到一个新的库OLAP里,这个库里存的数据更多,颗粒度更多,但是实时性没有前面的几个高,然后这个OLAP库,就是数据仓库了。

2.1数据仓库的发展阶段

数据仓库产生条件,不同数据库之间的数据太多太分散了,分布在好几个服务器里,不能直接一个sql查,需要先查出来集成到一起。
于是就数据仓库,就把数据库给集成了,给搞到一个服务器里,或者几个集成一起的分布式平台,这样查数据就方便了,还是一个sql跑一跑就完事,集成的多了,自然就需要更大的空间。
参考链接:
https://blog.csdn.net/weixin_39032019/article/details/107386931
https://notomato.blog.csdn.net/article/details/120306023

2.2 数据仓库的设计

数据仓库设计原则
参考链接:
https://blog.csdn.net/a1473227656/article/details/136576973
简单的说,就是bi分析面板完整就行,最好面板上数据下钻快,没有缺失数据,而且能及时刷新没有延迟,就完了。
参考链接
https://www.fanruan.com/blog/article/335588/
https://developer.baidu.com/article/detail.html?id=401808

2.3数据仓库常用工具,方法

数据仓库和数据库在使用工具上,有几个点是有交集的。
1都得用数据库,只是类型有所差异,mysql,doris爱用啥用啥
2用数据库以后,都得用到数模表定义工具,powerdesigner啥的
3都会涉及到数据的etl,不同表格之间数据ETL,不同数据库之间的ETL等,都会涉及到etl工具
4使用etl工具后,假如涉及到大量数据的同步处理,那么就会使用到一些任务调度工具,xxljob,airflow, DolphinScheduler等。
反正不限于ETL,随便什么任务或程序,只要涉及到周期性触发,条件触发,都会用到任务调度工具,就跟闹钟一样。
参考链接:
https://blog.csdn.net/qq_44696532/article/details/124295101
https://cloud.tencent.com/developer/article/2061289
https://blog.csdn.net/ok060/article/details/130964387
个人纯主观认为数据仓库和数据库差异最大的地方不在工具上,最大的差异就是二者的定义,关系型数据库olap,数据仓库主要oltp
参考链接
https://cloud.tencent.com/developer/article/1496285

2.3.1分析型数据库和关系数据库区别

分析型数据:Greenplum、ClickHouse、Doris、StarRocks等
关系数据库:mysql,oracle,sqlite , postgresql, sql server等
参考链接:
https://www.zhihu.com/question/544332548
https://www.selectdb.com/blog/1101

2.3.2常用ETL工具

sqoop,datax,kettle等等。navicate,dbeaver这种算数据库管理工具,不算etl,当然也有一些些ETL功能就是。
参考链接
https://cloud.tencent.com/developer/article/2061289
https://cloud.tencent.com/developer/article/1531141?policyId=1004

2.3.3常用的任务调度工具介绍

基本上都是开源的任务调度工具。xxljob,airflow, DolphinScheduler,Oozie
其中海豚调度,有开源版本和商业版本。
搞开发的人,都会涉及一些定时任务,定时任务多了,任务复杂了,任务流程多了,任务流程时间久,自然就会有这种任务调度工具的出现。
参考链接:
https://zhuanlan.zhihu.com/p/668612821
XXL-JOB简单介绍:https://blog.csdn.net/m0_65152767/article/details/141865495
airflow介绍: https://blog.csdn.net/yuan_jiaoyoung/article/details/129302903
海豚调度官网文档:https://dolphinscheduler.apache.org/zh-cn/docs/3.3.0-alpha