做数据开发不能绕过数据仓库的建设,数仓是数据分析/数据挖掘的基础料仓,更是描述一个企业蓝图的智库。
如何打造出一个反映企业全局的数仓视图是“路漫漫其修远兮”的任重远道;
在数据公众号“数据指象”的上一篇推文《数仓矛盾的演进之旅》中,描述了数仓由简入繁的其中道理。今天我们接着了解数仓的名义。
数仓定义:数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。
面向主题性:数仓中的数据不是零散的堆积,更像以多主题去中心化的聚集,形成反映企业多个面向对象的主题:顾客、保单、索赔等。多个聚类的主题在高聚类中突出自己的侧重描述的点,在低耦合中彼此链接构成企业全局的全面的数据视图,能反映也能更好的反映企业的过去、现在、未来。
数据集成性:集成是数仓最重要的特点之一,也是突出与传统数据库的特性之一;没有集成数仓就没有价值;只有将:同义不同名、同名不同义、多数据源、码值分解等等杂乱无章的数据,以集成就行统一、进行归一、进行编排形成一致性统一的的数仓。才能发挥数据仓库独特价值,才能更全面统一表达业务。
非易失性:不易丢失数据是仓的基本属性,数仓承接经年累月的数据输入,保存历史的数据细节,在时间的作用慢慢地聚沙成塔,让微小的数据也能发出耀眼的光芒。传统数据库只关注当下的状态,对历史数据的保存经常漫不经心无力无心;数据仓库很好的弥补了传统数据库的不足,关注对历史数据的保存避免数据被轻易的丢弃;
时间的变化:不变只能反映企业的状态,变化能反映出企业从哪里来、可以到哪里去;数据随时间的变化离不开数据的集成、非易失的特性;借助二者归一和积累的大量数据拉取长远的时间期限在主题的变化中彰显数仓随时间变化的特性。随时间变化也体现着数据存储是包含时间元素的。
数仓中数据粒度:粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。
数据越细化存取成本越高,但是表达的越多能回答的也就越多
数据中对粒度的选择是门很深的学问,没有明确的标准和答案,最好的选择来自于业务场景的需要;数据仓库中有许多其他的数据组织形式,最常用的是:简单堆积、轮转综合、简单直接、连续。
在键码层,数据仓库的键码不可避免地是复合键码,这有两种强制性的理由:日期— 年、年/月、年/月/日,等等,几乎总是键码的一部分;数据仓库中的数据是分割的,分割的不同分量表现为键码的一部分。
具体数仓中粒度如何选择,后续将分享如何构建双粒度数仓
周末快乐