我在公司的数据部门工做,天天的订单类数据处理流程大体以下:数据库
还有日志类的数据,这里不是重点,就不介绍了!这么干了一年,发现有以下问题:架构
数据毕竟是为了市场服务的,因此需求咱们要跟上它的节奏,这就对数据系统提出了很大的挑战,致使数据质量降低、生产效率降低!该怎么解决哪?在解决这个问题的过程当中,逐步发现了一点苗头:发现咱们创建的数据仓库与它的定义不太符合。下面是数据仓库的定义:spa
数据仓库(Data Warehouse):是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。.net
很明显咱们并不符合相对稳定的和反应历史变化的两个条件,由于相似订单类数据,天天全量更新(缘由是同一个订单状态随着时间会变化,好比今天买了,明天退货了)。这就明显不符合想对稳定这一律念了,更别说反应历史变化了!通过最近的思考,发现本身搭建的系统更符合ODS的定义:日志
ODS:是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操做性的、集成的全体信息的需求。blog
那么你们可能会问ods和数据仓库的区别是什么哪?答:ods是短时间的实时的数据,供产品或者运营人员平常使用,而数据仓库是供战略决策使用的数据;ods是能够更新的数据,数据仓库是基本不更新的反应历史变化的数据,还有不少,这里就不一一列举了。ci
讲到这里问题就明晰了,如何能搭建一个体系,既能支持战略决策使用的数据仓库数据,又能兼容业务快速的变化和运营产品人员平常需求的ODS数据哪?开发
通过调研,发现大致上有三种解法:数据分析
一、业务数据 - ODS - 数据仓库产品
优势:这样作的好处是ODS的数据与数据仓库的数据高度统一;开发成本低,至少开发一次并应用到ODS便可;可见ODS是发挥承上启下的做用,调研阿里巴巴的数据部门也是这么实现的。
缺点:数据仓库须要的全部数据都须要走ODS,那么ODS的灵活性必然受到影响,甚至不利于扩展、系统的灵活性差
二、OB - ODS
优势:结构简单。通常的初创数据分析团队都是相似的结构,好比咱们部门就应该归结到这一范畴
缺点:这样全部数据都归结到ODS,长期数据决策分析能力差,软硬件成本高,模块划分不清晰,通用性差
三、数据仓库和ODS并行
可见这个模型兼顾了上面提升的各自优势,且便于扩展,ODS和数据仓库各作各的,造成优点互补!能够解决如今互联网公司遇到的快速变化、快速开发等特色!特别是对于那些刚刚建立数据团队,数据开发人员紧缺的公司,能够尝试使用这个数据架构解决问题!
http://wenku.baidu.com/view/c620146c7e21af45b307a86e?fr=prin
http://blog.csdn.net/hero_hegang/article/details/8691912