【HBZ分享】数仓里面的概念-宽表-维度表-事实表概念讲解

数仓概念

1.  度量值:
可被统计的,比如:次数,销量,营销额,订单表中的下单金额等可以统计的值叫度量值

2. 维度表:
   (1). 对事实描述的信息,每一张表都对应现实世界中的一个对象或概念,比如:用户,商品,日期,地区维度
   (2). 比如要分析商品的销售情况如何,就可以从商品类型,或者地区销售情况来进行分析
   (3). 所谓维度,其实就是从什么角度进行分析
           比如从用户的角度,
           比如从商品类型,每种类型商品的销售量等
           比如从商品的其他角度,
           比如从日期这个角度,从每天的销售额或者销售量统计
           比如地区角度,广州的销售量,上海的销售量等从地区来进行分析

3. 事实表:
   (1). 联系事实与维度表的数字度量值,事实表包含 描述业务内特定世界的数据
   (2). 是数据聚合后依据【某些维度】生成的结果表
   (3). 事实表里存放了能体现【实际数据】或【详细数据】,一般有维度表 和 事实数据组成
   举例1:张三,在2022年2月22日,在天猫超市买了100双拖鞋,共花了1000元, 10瓶霸王洗发水,共花了500元
        维度:时间, 用户张三,商品拖鞋与洗发水。 这些都叫维度,从时间维度,用户维度,商品维度的
        事实:100双拖鞋, 1000元; 10瓶霸王, 500元。 这些叫做事实。从以上3个维度都可以统计出这些数值。

  举例2:电商业务领域中
        维度:user用户表, product商品表,  coupon优惠券表, provice地理信息表
        事实:order_info订单表(统计真实数值), order_detail订单明细表, product_comment商品评论表
        
        -商品表中存放商品类型,商品编码,商品名字等等,这些都是商品的属性,这张表就是维度表
        -订单表中存放着商品的销售数量,销售额等等,这张表就是事实表
        -某地区的商品销量,就是从地区这个维度来考察商品的销量
        -事实表就是销量表,维度表就是地区表

4. 结论:
  (1). 站在维度的角度看事实表,看事实表的度量值
  
  (2). 【事实表】就是你要关注的内容; 【维度表】就是你考察事务的角度,是从哪个角度观察这个内容的,
       是从商品角度,还是地区角度等
       
  (3). 维度是维度建模的基础 和 灵魂。在维度建模中,将度量成为"事实",将描述环境成为"维度", 即这件商品
       销售了多少数量,这是事实。销售额多少,这也是事实。而根据地区来统计每个地区的销售量 和 销售额,
       这个地区就是维度
 

什么是宽表 和 窄表

1. 宽表(明细表):
       (1). 简单讲就是字段比较多的数据库表,通常是指业务主体相关的指标,维度,属性关联在一起的一张表
       (2). 把不同的内容放到同一张表内存储,宽表不符合三范式的模型设计规范
       (3). 尽量满足多维,多度量,遵循维度建模原则
       (4). 缺点: 数据大量冗余
       (4). 优点: 减少表关联数量, 查询性能会提高,空间换时间

2. 窄表:
       (1). 严格按照数据库设计三范式,尽量减少冗余
       (2). 缺点: 做数据分析查询OLAP时,需要大量关联多个表,性能下降
       (3). 优点: 存储省空间,大量数据只存储某个表

什么是数仓建模

1. OLTP中:Mysql的数据库建表, 表和表之间的关系模型,叫关系建模
2. OLAP中:根据一个事实表为中心建表,面向业务分析为主,叫维度建模
     (1). 比如以订单销售量,销售额为中心。从不同维度,从商品类型维度,地区维度等多维进行建表,那这个
          表除了订单本身信息外,还需要把对应商品,地区信息也加进去,形成多维宽表

你可能感兴趣的:(clickhouse,数据库,分布式,zookeeper)