| 维度 | 数据仓库 | 数据库 |
|---|---|---|
| 应用场景 | OLAP | OLTP |
| 数据来源 | 多数据源 | 单数据源 |
| 数据标准化 | 非标准化Schema | 高度标准化的静态Schema |
| 数据读取优势 | 针对读操作进行优化 | 针对写操作进行优化 |
| 数据湖 | 数据仓库 | |
|---|---|---|
| 类型 | 结构化、半结构化、非结构化 | 结构化 |
| 关系型、非关系型 | 关系型 | |
| 架构 | 读取时的架构 | 写入时的架构 |
| 格式 | 原始、未筛选 | 已处理、已审核 |
| 源 | 大数据、IoT、社交媒体、流数据 | 应用程序、业务、事务数据、批处理报告 |
| 可伸缩性 | 轻松缩放,成本低 | 完成缩放很困难且成本高昂 |
| 用户 | 数据科学家、数据工程师 | 数据仓库专业人员、业务分析师 |
| 用例 | 机器学习、预测分析、实时分析 | 核心报告、BI |
| 数据湖 | 湖仓一体/LakeHouse/数据湖屋 |
|---|---|
| 类型 | 结构化、半结构化、非结构化 |
| 关系型、非关系型 | |
| 架构 | 读取时的架构 |
| 格式 | 原始、未筛选、已处理、已精选 |
| 源 | 大数据、IoT、社交媒体、流数据 |
| 可伸缩性 | 轻松缩放,成本低 |
| 用户 | 数据科学家 |
| 用例 | 机器学习、预测分析 |
数仓建设分为离线数仓和实时数仓。大部分企业决策使用离线数据即可满足分析使用,即数据都是T+1日隔天从各个数据源抽取转换加载存储起来,这种数据存储就称为离线数仓;而实时数仓就是要做到保证数据的即时性,典型的应用例如天猫618实时销售额数据大屏展示。
**全量:**指数据存储的是截至到目前最新状态的全部记录。单条数据无论是否有变化,只保留最新一条记录。没有分区,所有数据存储在一个分区中,比如:今天是2号,那么全量表里面包含的数据是截至1号的所有数据,每次往全量表里面写数据都会覆盖之前的数据,所以全量表不记录历史的数据情况,只有截止到当前最新的、全量的数据。
**增量:**记录更新周期内的新增数据,即在原表中数据的基础上新增本周期内产生的新数据,没变化的数据不会被记录,指把新增的数据追加到原表中;存在分区,增量表中每次新增的数据单独存储在一个分区中,历史分区中的数据记录不发生变化。
例如历史至今、某个历史时刻至今、最近三个月等。
即当业务方获取所需数据时,需要明确所需的数据周期是多久,可以提高数据查询效率和减少计算资源浪费 。
当获取所需数据时或者说明某张表是什么层次的描述。例如用户粒度,代表表中每一行数据就代表一个用户的相关信息;订单粒度,就代表这行数据描述的是一个订单的信息。
表示看数据的某个角度。例如想看转化率这个指标,想要看单个渠道、单个城市的转化率,那渠道、城市就称为维度 。
6. 数据度量
衡量一个业务场景的关键数值。例如我拿什么来衡量这笔生意好还是不好,那价格、成本、利润就是衡量的一种度量。
指获取指标的取数逻辑。比如要取的数是10岁以下儿童中男孩的平均身高,这就是统计的口径。