我在公司的数据部门工作,每天的订单类数据处理流程大致如下:

  1. 删除分析数据库的历史订单数据
  2. 全量更新订单数据到分析数据库。(由于订单核心数据不大,所以经受得起这么折腾)
  3. 将数据简单清洗,并生成数据集市层
  4. 分析处理,产出报表。当然还有其他的数据也是这么处理的(比如产品的数据、景区的数据、票种的数据、供应商的数据等等)

还有日志类的数据,这里不是重点,就不介绍了!这么干了一年,发现有如下问题:

  • 业务变化很快,比如业务数据表经常变化字段含义、增加各种逻辑数据等
  • 业务数据源越来越多,随着品类越来越多,新部门逐步成立,数据源也就越来越多样化
  • 需求越来越多,越来越复杂,以前只有大佬想我们要战略数据,可是现在所有的产品和运营都向我们要各种各样的用户行为数据、订单分析数据和竞对优势数据
  • 数据的实时行要求越来越高,这到不是说秒级别就看见结果,而是早晨提出个新业务数据需求,晚上就要!

数据毕竟是为了市场服务的,所以需求我们要跟上它的节奏,这就对数据系统提出了很大的挑战,导致数据质量下降、生产效率下降!该怎么解决哪?在解决这个问题的过程中,逐步发现了一点苗头:发现我们建立的数据仓库与它的定义不太符合。下面是数据仓库的定义:

数据仓库(Data Warehouse:是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

很明显我们并不符合相对稳定的和反应历史变化的两个条件,因为类似订单类数据,每天全量更新(原因是同一个订单状态随着时间会变化,比如今天买了,明天退货了)。这就明显不符合想对稳定这一概念了,更别说反应历史变化了!经过最近的思考,发现自己搭建的系统更符合ODS的定义:

ODS:是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。

那么大家可能会问ods和数据仓库的区别是什么哪?答:ods是短期的实时的数据,供产品或者运营人员日常使用,而数据仓库是供战略决策使用的数据;ods是可以更新的数据,数据仓库是基本不更新的反应历史变化的数据,还有很多,这里就不一一列举了。

讲到这里问题就明晰了,如何能搭建一个体系,既能支持战略决策使用的数据仓库数据,又能兼容业务快速的变化和运营产品人员日常需求的ODS数据哪?

数据仓库和ODS并存方案

经过调研,发现大体上有三种解法:

1、业务数据 - ODS - 数据仓库

优点:这样做的好处是ODS的数据与数据仓库的数据高度统一;开发成本低,至少开发一次并应用到ODS即可;可见ODS是发挥承上启下的作用,调研阿里巴巴的数据部门也是这么实现的。

缺点:数据仓库需要的所有数据都需要走ODS,那么ODS的灵活性必然受到影响,甚至不利于扩展、系统的灵活性差

2、OB - ODS

优点:结构简单。一般的初创数据分析团队都是类似的结构,比如我们部门就应该归结到这一范畴

缺点:这样所有数据都归结到ODS,长期数据决策分析能力差,软硬件成本高,模块划分不清晰,通用性差

3、数据仓库和ODS并行

可见这个模型兼顾了上面提高的各自优点,且便于扩展,ODS和数据仓库各做各的,形成优势互补!可以解决现在互联网公司遇到的快速变化、快速开发等特点!特别是对于那些刚刚创建数据团队,数据开发人员紧缺的公司,可以尝试使用这个数据架构解决问题!

参考资料:

http://wenku.baidu.com/view/c620146c7e21af45b307a86e?fr=prin

http://blog.csdn.net/hero_hegang/article/details/8691912

http://www.cnblogs.com/liqiu/p/4947801.html

转载于:https://www.cnblogs.com/andy6/p/7738112.html

数据仓库与ODS的区别相关推荐

  1. DW数据仓库与ODS的区别

    这两天接触到ODS,开始很纳闷,有了DW(Data Warehouse)干嘛还要ODS(Operational Data Store),于是不查不知道,一查吓一跳,这里面还有这么多道道,这里总结一下, ...

  2. 数据仓库和数据库的区别

    本文主要介绍数据仓库和数据库的区别,首先描述下数据仓库是什么: 数据仓库的本质还是一个数据库,它将各个异构的数据源数据库的数据给统一管理起来,并且完成了质量较差的数据的剔除.格式转换,最终按照一种合理 ...

  3. 数据仓库简介-ODS、DW和DM概念区分

    目录 一.什么是数据仓库 二.数据仓库与数据库的区别 三.数据仓库的应用 四.数据仓库的业务层级 1 ODS层 2 DW层 3 DM层 一.什么是数据仓库 数据仓库是决策支持系统(dss)和联机分析应 ...

  4. [数据仓库]数据仓库和数据库的区别

    数据仓库和数据库 数据仓库是面向主题的.集成的.稳定的,反映历史变化数据集合,用于分析场景,支持管理决策过程等. 面向主题:在较高层次对企业的数据进行综合归并而进行的抽象概念.数据仓库都是基于某个明确 ...

  5. 再论数据仓库与数据库的区别

    数据仓库与数据库的区别 着重点不同: 数据库着重于数据的业务处理(数据的增删改).也就是数据的OLTP处理 数据仓库着重于数据的分析,通常都是面向某一个行业,领域(查询),也就是数据的OLAP处理 存 ...

  6. 数据仓库之ODS层设计概要

    ODS层辨析 ODS全称是Operational Data Store,即操作数据存储. Inmon VS Kimball Bill.Inmon的定义:ODS是一个面向主题的.集成的.可变的.当前的细 ...

  7. 数据仓库和数据集市的区别

    数据仓库与数据集市 看了很多数据仓库方面的资料,都涉及到了"数据集市"这一说法,刚开始对数据仓库和数据集市的区别也理解得比较肤浅,现在做个深入的归纳和总结,主要从如下几个方面进行阐 ...

  8. 走进大数据丨 数据仓库和数据库的区别

    一.数据仓库 1. 什么是数据仓库? 数据仓库(Data Warehouse),可简写为DW或DWH,数据仓库,是为了企业所有级别的决策制定计划过程,提供所有类型数据类型的战略集合.它出于分析性报告和 ...

  9. 数据仓库和数据集市的区别【转载】

    数据仓库与数据集市 看了很多数据仓库方面的资料,都涉及到了"数据集市"这一说法,刚开始对数据仓库和数据集市的区别也理解得比较肤浅,现在做个深入的归纳和总结,主要从如下几个方面进行阐 ...

最新文章

  1. 达内——java变量
  2. 蓝桥杯第五届决赛真题大全解(java版本)
  3. Microsoft Azure里创建Enterprise Applications
  4. linux下kegg注释软件,KEGG数据中全部代谢反应和代谢物注释信息的下载
  5. 第九篇:Spring Boot整合Spring Data JPA_入门试炼04
  6. 行政职业能力测试软件,公务员行政职业能力测试考试宝典
  7. ES6学习笔记第一章
  8. 成功解决Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/xx/: There was a problem confirming
  9. PhotoShop简单案例(4)——利用ps制作正在加载中动画(loading.gif)
  10. WIN10 未安装音频设备输出设备 喇叭红叉
  11. 《JavaScript高级程序设计》学习笔记 JavaScript基本(1)
  12. matlab 使用,MATLAB使用方法
  13. synergy 控制客户端电脑很卡_Synergy 一套键鼠同时控制多台电脑的神器!超级方便!(开源免费,支持Win/Mac/Linux)...
  14. android获取手机号ip地址,手机ip查询我的地址定位(网站如何抓取用户手机号和IP地址)...
  15. 一起来探索从双击程序到开始运行期间计算机经历了哪些过程
  16. word表格换页自动续前表的方法
  17. vlookup匹配不出,原因之一:含有“~”这个符号
  18. 敷完面膜后要擦水乳吗_面膜敷完后要擦水乳吗 面膜使用后如何正确护肤
  19. ncurses库的安装与入门
  20. 开心网,很开心!!!

热门文章

  1. Deseq2的理论基础
  2. 802.11成帧封装实现(四)
  3. ivew 限制输入 0 到 1 的数字 包括小数, 0 ,1
  4. php--理解PHP的依赖注入和laravel的服务容器
  5. Mac中安装git后,终端运行git出错,提示安装Xcode
  6. 如何去maven仓库下载jar包
  7. Aspx页面中直接编写javascript脚本
  8. cnblogs.com精华收藏帖
  9. 转载:frameset 使用心得
  10. 由于分形导致的神经网络分类误差