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

文章目录

序言

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

避免混淆了。

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

相关推荐
计算机毕设定制辅导-无忧学长6 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
程序员柳7 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
梦在深巷、7 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机7 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10247 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
祁思妙想9 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人9 小时前
1.MySQL之如何定位慢查询
数据库·mysql
秦歌66610 小时前
向量数据库-Milvus快速入门
数据库·milvus
Edingbrugh.南空11 小时前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
码不停蹄的玄黓11 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突