区块链
企业级的数据仓库应该如何建立?为什么要建立企业级数据仓库?对于大部分的企业,数据一般存在两个地方,一个是业务数据库,一个是日志。一般来讲,数据库数据容量有限,对于历史标记删除的记录一般会做定时清理,但是这些数据往往还是很有价值的。数据库计算能力也有限,如果要做一些数据分析,则会浪费宝贵的计算资源。
一些数据分析会横跨不能的部门,不同的业务线,往往需要不同DB之间,甚至需要跟日志做一些关联,这时就会有一个新的部门,数据仓库部门或者数据分析部门。此部门需要做第一件事情就是需要把不同的业务线的数据统统收集到一个中心。以往选择数据处理技术往往是一些商业的数据仓库。在Hadoop技术来临之后,由于其易用性、高度扩展性、低成本的优势,受到了越来越多的公司使用。本文将简单介绍使用阿里云开源大数据生态系统E-MapReduce建设数据仓库。
建立数据仓库
大致的架构如下图所示:
· 在云数据库RDS mysql部分的数据,可以每天晚上同步一次全量的数据到离线存储中,使用emapreduce sqoop,按照日期建立分区。 查询时,可以按照
select count(*) form cluster where ds=‘2016-08-28’
· 日志数据可以采取logservice同步到云存储OSS中,或者使用flume同步到emapreduce hdfs中。也是按照日期做分区。
日志收集好后,就可以采取hive或者spark引擎分析日志了,比如出报表,则可以把算完的数据插入到emapreduce hbase中或者云数据库RDS mysql中,再通过 阿里云提供的quick bi出报表。 每天早上就可以看到 前一天的业务状况等信息了。
作业执行
同步作业及分析作业可以采取阿里云emapreduce提供的执行计划来运行,可以新建一个执行计划,串联多个作业,当同步作业完成后,就开始分析作业。 这里还提供了 作业失败报警,启动超时报警等实用功能。
一、概述
多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式、雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别。
二、星型模式(star schema)
星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表)。星型模式示例如下所示:
三、雪花模式(snowflake schema)
雪花模式是星型模式的扩展,其中某些维表被规范化,进一步分解到附加表(维表)中。雪花模式示例如下图所示:
从图中我们可以看到地址表被进一步细分出了城市(city)维。supplier_type表被进一步细分出来supplier维。
四、事实星座模式(Fact Constellation)或星系模式(galaxy schema)
数据仓库由多个主题构成,包含多个事实表,而维表是公共的,可以共享,这种模式可以看做星型模式的汇集,因而称作星系模式或者事实星座模式。本模式示例如下图所示:
如上图所示,事实星座模式包含两个事实表:sales和shipping,二者共享维表。
五、总结
事实星座模式是数据仓库最长使用的数据模式,尤其是企业级数据仓库(EDW)。这也是数据仓库区别于数据集市的一个典型的特征,从根本上而言,数据仓库数据模型的模式更多是为了避免冗余和数据复用,套用现成的模式,是设计数据仓库最合理的选择。当然大数据技术体系下,数据仓库数据模型的设计,还是一个盲点,探索中。
全部0条评论
快来发表一下你的评论吧 !