给我10分钟带你了解数仓分层建模与企业DW表设计

数据仓库(Data WareHouse)

数仓是什么?

  • 面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程
  • 浓缩才是精华
    • 数据仓库是数据集合,里面的数据被用来决策分析

为什么要有数仓?

OLTP(Online Transaction Processing)
  • 是指在线事务处理系统,主要用于支持企业的日常业务操作和交易处理
  • 数据量较小
  • 读写频率低,查询频率高
  • 通常是基于关系型数据库建立的
OLAP(Online Analytical Processing)
  • 是指在线分析处理系统,主要用于分析大量的历史数据以支持决策制定
  • 数据量很大
  • 通常是基于大数据仓库(Hive、Hbase)建立的
  • 查询频率不高,但是可能会一条SQL执行很久
为什么不直接在业务系统库里进行分析?
  • 通常事务处理的优先级比分析系统高,都运行在同一硬件之上,分析系统性能很差
  • 业务系统的列名通常是硬编码,有时是无意义的字符串,很难分析
  • 业务系统的版本变更频繁,提取数据需求难,每次变更,分析看板字段要重新测试
  • 有误用业务数据的风险
好处是什么?
  • 分析性能好
  • 字段明确
  • 提数据需求简单
  • 字段稳定
  • 数据查询&读写分离

数仓的数据哪里来?

业务系统数据
  • ERP
    • 企业资源规划
    • 财务
    • 采购
    • 库存
    • 销售
    • 生产
  • CRM
    • 客户关系管理系统
    • 用于管理客户数据库
  • SCM
    • 供应链管理系统
    • 用于协调和管理供应商、制造商、分销商等各方
    • 确保产品和服务按时交付
  • MES
    • 生产执行系统
    • 帮助企业减少生产时间和成本
  • QMS
    • 质量管理系统
    • 用于管理产品和服务的质量
埋点日志
  • .txt
    • 表示文本格式的日志文件
  • .log
    • 最常见的日志文件后缀名,通常表示文本格式的日志文件,可以使用任何文本编辑器打开
  • .xml
    • 通常用于系统日志、应用程序日志等
    • 可以使用XML解析器来解析这些日志数据
    • 举例:xml示例.xml
  • .json
    • 类似于Python的字典
  • .csv
    • 逗号分隔符
  • .log.gz
    • 日志文件压缩
    • 通常使用gzip压缩
外部数据
  • API
  • 爬虫数据
数据到哪里去?
  • BI系统
    • 全量
    • 切片
    • 代码

数仓架构设计

  • RDS = ODS(原始数据储存)
    • 用于存储:不经过任何处理存储的原始数据
  • TDS(转化后的数据存储)
    • 用于存储:经过了ETL工程后的数据
  • ETL流程
    • E - Extract 抽取
    • T - Transform 转换
    • L - Load 载入
  • 自动化调度
    • 定时定点的重复运行ETL过程
    • Windows的任务计划程序
    • Linux的Crontab

ETL是什么?

数据抽取

全量
  • 数据库初始化的时候一定使用全量同步
增量
  • 时间戳
    • 筛选时间
    • where 更新日期 = cast(left(now(), 15) as date
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值