当前位置: 首页 > news >正文

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

文章目录

  • 序言
  • 1数据库,数据仓库,数据中台,数据湖-概念对比释义
    • 1.1概念产生的时间顺序
    • 1.2在使用功能方面对比
    • 1.3在使用工具方面对比
  • 2数据仓库
    • 2.1数据仓库的发展阶段
    • 2.2 数据仓库的设计
    • 2.3数据仓库常用工具,方法
      • 2.3.1分析型数据库和关系数据库区别
      • 2.3.2常用ETL工具
      • 2.3.3常用的任务调度工具介绍

序言

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

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

http://www.xdnf.cn/news/931177.html

相关文章:

  • MATLAB R2025a|Win中文|仿真建模|安装教程
  • uni-app学习笔记二十三--交互反馈showToast用法
  • Docker 安装 Ubuntu
  • day27-shell编程(自动化)
  • 附加模块--Qt Shader Tools功能及架构解析
  • typeof运算符 +unll和undefined的区别
  • AI书签管理工具开发全记录(十七):Sun-Panel书签同步实现
  • 【ArcGIS Pro微课1000例】0072:如何自动保存编辑内容及保存工程?
  • 68常用控件_QGroupBox的使用
  • C语言中的文件操作
  • Android写一个捕获全局异常的工具类
  • 【hive】函数集锦:窗口函数、列转行、日期函数
  • stm32-c8t6实现语音识别(LD3320)
  • 【Mac 从 0 到 1 保姆级配置教程 16】- Docker 快速安装配置、常用命令以及实际项目演示
  • 【SpringBoot+SpringCloud】Linux配置nacos踩坑大全
  • AI时代:学习永不嫌晚,语言多元共存
  • 思澈sdk-新建lcd
  • LeetCode--25.k个一组翻转链表
  • 从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
  • 【第八篇】 SpringBoot高级配置(配置篇)
  • CZGL.SystemInfo:跨平台的系统信息获取库
  • AUTOSAR实战教程--DoIP_01_配置项解释
  • 0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
  • Linux下GCC和C++实现统计Clickhouse数据仓库指定表中各字段的空值、空字符串或零值比例
  • Go基本语法——go语言中的四种变量定义方法
  • 【Java学习笔记】BigInteger 和 BigDecimal 类
  • 【Go语言基础【19】】接口:灵活实现多态的核心机制
  • 基于RT-DETR算法的夜间交通车辆与行人目标检测
  • FPGA静态功耗
  • 2025年与2030年AI及AI智能体 (Agent) 市场份额分析报告