大数据仓库体系建设方案和方法论,什么是大数据仓库?
理解数据仓库
1.1、数据仓库产生的背景
数据仓库演化的两个阶段:
1),传统烟囱式数据仓库
使用关系型数据库如Mysql、Oracle继承数据,数据量小,一般TB级别数据,如果数据量继续增加,计算风险成倍增加,出现卡死跑不动的现象。而且传统数据库面临的问题是拓展性差、业务理论混乱、往往一种数据模型只能解决一类业务需求。应用单一、主要用于分析商业数据,如BI。
传统数据仓库优点:
a、数据安全可靠,遵守数据库的三范式原则。
b、存储数量小,响应时间极快。
c、数据存储频率高,产生用户行为机会存储到数据库。
传统数据仓库缺点:
a、存储的数据量小,结构简单。
b、只能针对某一个业务过程进行数据分析。
c、大数据量难存,大数据量难算。
2,大数据仓库
大数据仓库,顾名思义就是数据量大,PB、ZB级别。依赖于分布式文件系统和分布式计算来承载业务数据的增长和计算。大数据仓库可以支撑在线应用,又分为离线数据仓库和实时数据仓库。采用严谨的方法理论,清晰的架构模型,开发维护起来更方便。
1.2 数据仓库的概念
数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,用于支持管理决策、商业营销、运营分析。数据仓库实际上是一种数据存储,它将各种异构数据源中的数据集成在一起,并保持其语义一致,为企业决策提供支持。
1,面向主题。在较高层次对数据综合、归类,针对某一分析领域所抽象出来的分析对象。
构建主题的步骤:首先抽象出需要分析的主题域,确定每个主题域需要分析的维度、其所包含哪些数据表。一般主题域所有表都有一个连接键,作为主题的一部分,通过这个连接键可把主题域所有表关联汇总成一张宽表。如会员主题,分为会员基本信息、会员积分数据、会员的资产数据、会员的行为数据、会员的信用等多张表。
2,集成的。数据来源的格式类型不同;编码、命名格式、属性单位不一致,然后对原有数据进行综合、计算。
把不同表、不同类型的数据放入到统一的数据仓库中。如Mysql、Oracle、Redis、Hbase中的数据,我们通过同步全量数据把数据存入统一的系统中。对于增量数据设置定时抽取,可以才有并发架构,多任务同时同步,把数据持续存到我们的分布式文件系统中来。
3,时变的。数据仓库的数据是不同时间的数据集合;随时间变化不断增加、删除、综合数据;数据仓库表结构中一般都带有时间字段。
数据仓库的数据不是一成不变的,它是随着时间变化不断新增内容,更新与时间有关的综合数据,这些数据一般都包含有时间字段。
4、稳定非易失的。数据仓库中的数据一般只插入新增,不做update更新、delete删除操作。
数据是经过抽取而形成的分析型数据,不具有原始性(不是第一手数据,一般是经过其他数据源或业务系统,抽取到数据仓库中),主要供企业决策分析之用,执行的主要是查询操作,一般情况下不执行更新操作。抽到数据仓库的数据在ODS层不做任何操作,来保持数据的原始性(不改变字段属性,不补值等操作)。
1.3 数据仓库的实际应用
数据仓库主要用来分析数据,给运营管理者提供数据支撑。诸如对用户行为进行分析、对用户信用进行分析。这里以电商为例,如通过对用户行为进行分析,分析用户的购物行为来建立数据模型,针对不同消费行为的用户给予不同程度的运营管理。把分析后的数据做成报表、商业BI等,给与决策者数据支撑。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/174108.html