关于数据仓库:数仓建模数据集市

51次阅读

共计 2568 个字符,预计需要花费 7 分钟才能阅读完成。

关注公众号:大数据技术派 ,回复“材料”,支付1024G 材料。
数据仓库系列文章(继续更新)

  1. 数仓架构发展史
  2. 数仓建模方法论
  3. 数仓建模分层实践
  4. 数仓建模—宽表的设计
  5. 数仓建模—指标体系
  6. 数据仓库之拉链表
  7. 数仓—数据集成
  8. 数仓—数据集市
  9. 数仓—商业智能零碎
  10. 数仓—埋点设计与治理
  11. 数仓—ID Mapping
  12. 数仓—OneID
  13. 数仓—AARRR 海盗模型
  14. 数仓—总线矩阵
  15. 数仓—数据安全
  16. 数仓—数据品质
  17. 数仓—数仓建模和业务建模

数据集市(DM)

这里咱们先回顾一下数据仓库的定义,数据仓库(Data Warehouse) 是一个面向主题的(Subject Oriented)、集成的(Integrate)、绝对稳固的(Non -Volatile)、反映历史变动(Time Variant) 的数据汇合用于反对管理决策。更多对于数据仓库的能够参考数仓架构发展史, 而且后面咱们也介绍了大量对于数仓建模这一块的内容,具体能够参考咱们的专栏数仓建模方法论。

明天咱们介绍一个在数仓中十分常见的概念——数据集市,数仓定义中的五个个性都值得一一认真品尝,随着你对数仓的了解加深,你对这个五个个性的了解也会更加全面。

首先数据仓库用于反对决策, 面向剖析型数据处理, 它不同于企业现有的操作型数据库; 其次, 数据仓库是对多个异构的数据源无效集成,集成后依照主题进行了重组, 并蕴含历史数据并且寄存在数据仓库中的数据个别不再批改。

什么是数据集市(DM)

这里有一个词是主题,那就是咱们集成后的数据,又依照了主题进行了划分,而面向主题划分进去的局部就是数据集市,也就是说数据集市是数据仓库的一个子集或者说是集成后的子集。

数据集市通常是面向部门的或者是部门级业务,或者是面向部门的主题的,举个例子例如在金融畛域可能会有结算部门的数据集市、风控部部门数据集市、市场部门的数据集市、经营部门的数据集市,这里的特点就是面向部门的,然而对于有的部门它的组织构造可能比拟大,所以它所负责的业务线也有多个,这个时候就会呈现,数据集市是面向部门的子业务,总之一句话,数据集市是面向主题的,个别公司的主题就是部门或者业务线。

这里还有一点要强调数据集市是作为咱们数仓的一层,对外提供数据服务,当然提供服务的形式是有很多种的,然而最终咱们是将数据集市层的数据提供进来的,也就是说这一层是面向用户的。

为什么要有数据集市

下面理解了什么是数据集市,接下来咱们就看看一下为什么要有数据集市,开始之前咱们线回顾一下后面的数仓建模分层实践, 咱们晓得了数仓最简略的就是 ODS+DM,但为什么咱们还要分层,在文章中咱们解释了分层的意义是什么,如果你遗记了能够看一下后面的文章。

这里咱们晓得了数据集市是数据仓库的子集,咱们能够把分层看作是横向切分,那么数据集市就是竖向切分,

所以咱们能够得出一个论断那就是数据集市的划分也是为了更好的治理数仓和进步生产效率,然而这个还是有点形象,上面咱们再讨论一下为什么要做数据集市层。

灵活性

这里咱们把数据集成也引入进来,从宏观上看一下从数据源到数据服务,整个数仓的存在模式是怎么的,当然这里咱们是一个简化的图,咱们次要反映出问题就行了。

下面就是咱们以后的数仓状态,这下咱们解释一下咱们为什么要做数据集市层,数据集市层尽管是一个层,然而这层里有多个集市,每个集市面向不同的业务线或者是业务部门,那咱们为什么要这么做呢,说白了就是为解耦,解耦的目标是为了减少灵活性。

如果没有数据集市层,那么咱们的数仓就要面向泛滥的业务部门,然而因为每个业务部门的数据需要或者所关怀的数据是不一样的,这就会导致咱们的数仓建设失去外围,就会呈现咱们为了满足某一个部门而违反了咱们数仓的建设准则的景象呈现,所以咱们减少了数据集市层,也就是每个部门的个性化需要在这里体现。

其实如果你学习过设计模式或者是 Java 的话,其实很容易立刻,这有点相似抽象类 Service 和 实现类 ServiceImpl.

数据集市有什么特点

如果你认真学习了后面的内容的话,你必定能够了解上面的几个特点这里我就不一一解释,而且这些特点也是我总结进去的,你也可有对其进行扩大。

规模小

数据仓库是面向企业的,数据集市是面向部门或者特定业务的

面向主题

数据集市是面向部门或者特定业务的

间接面向用户

数据集市是面向部门或者特定业务的

个性化高

数据集市是面向部门或者特定业务的,所以就会呈现灵便多变的特点,而且也会呈现流程上更简略疾速,标准上要求不严格,应用上要尽量简略。其实这会反映到咱们的表上

  1. 就是咱们集市层的表个别都是关联好之后的表,应用的时候根本不须要关联,次要是为了使用方便性能高,其实能够看到咱们集市层的表机会都是数仓建模—宽表的设计
  2. 还有就是咱们集市层的表个别都是冗余了一些相干的字段,次要是为了应答也不妨多变的申请,举个例子业务方想看每个人往年的总生产,我可能会把最大值和平均值都会计算出来。

满足需要为第一优先级

尤其在一起初创企业,数仓建设跟不上的时候,为了尽快实现需要咱们就会间接从 ods 层建设 DM,从而能够对外提供数据。

如何建设数据集市

数据仓库(集市)的设计能够采纳迭代式的办法,也就是说咱们能够依据咱们的实用方一直的去迭代咱们的数据集市,而且也没有任何数据集市是能够一次性建成的。

实践上讲,应该有一个总的数据仓库的概念,而后才有数据集市,然而咱们理论的做法是先确定了数据集市以及咱们的服务对象之后,而后才开始开始建设数据仓库最初才是数据集市,也就是咱们首先设计的是数据集市,然而咱们建设的时候却是首先建设的是数据仓库。

总结

数据集市就是数据仓库面向某个主题的子集, 它作为数仓面向用户的一层存在,提供数据服务。

据集市往往作为数据仓库之上的一个面向剖析利用或者是数仓里面向用户的一层,也就是说没有这一层的话,咱们的仓库就要面向用户了,咱们能够将其视作代理,因为这一层要面向用户,所以它就有多变和不标准的个性,然而为了保障数仓整体建设的合理性和规范性,所以咱们在数仓上加了这一层。

尽管集市层是面向用户的,然而因为面向的用户群体不同,所以又依据用户群体的特点,将集市层进行了纵向切分,切分成了一个个不同的集市。

数据仓库是面向企业的,数据集市是面向部门或者特定业务的,你能够将其看作一个小型的数据仓库,其实这里牵扯出了晚期数据仓库的一种存在形体,那就是每个部门有本人的数据仓库,而不是对立建设的数据仓库。

正文完
 0