Yahoo数据仓库架构简介
1. Yahoo数据仓库的整体架构
Yahoo数据仓库在基础架构上由hadoop集群和Oracle集群组成,hadoop集群是一个计算平台,完成所有ETL数据处理过程;Oracle集群只是一个查询环境。
数据通过Data highway从源系统加载进入数据仓库的ODS层,ODS层数据保持与源系统数据结构一样。EDW数据层并没有严格意义的数据层次的逻辑细分,它可能有 多层的ETL加工过程;多层的数据存储。这一个层数据主要采用维度建模的方法,根据应用需求建立数据模型。数据采用列式存储的数据结构存储。
数据经过加工处理完成后,数据将会同步到Oracle的集群中用做数据查询。Yahoo用Oracle做查询环境,他们的大量采用了基于时间RANGE分 区和HASH子分区的方式来提升查询响应性能(类似与Greenplum的方式)。数据采用了压缩技术,同时基于压缩和读取的方式上ORACLE官方为他 们定制了一些改进,从而获取更好的读取IO和压缩能力。
MSTR报表工具连接ORALCE完成大部分报表查询功能,同时,如果要查询最明细的数据,工具会连接到HADOOP集群上,通过创建一些临时表来满足查询功能。
同时,Yahoo的仓库配备了一个功能强大的元数据管理系统,他们的元数据是通过SQL解析,直接将ETL mapping的元数据解析进入元数据库,做到了字段级别的MAPPING。同时他们的PM会维护最新的业务元数据(业务规则,指标定义)进入的元数据库 系统。
2. Yahoo数据仓库建模方法
Yahoo数据仓库建模基本上采用维度建模的思想,他们强调一致的维度在保持数据仓库模型的一致性上的作用。他们会花一定的时间去识别每个新进入仓库的数据表,并了解它的业务规则和数据属性,由数据架构师完成对数据整合的设计工作。
Yahoo也建立一些稀疏的宽表,它的基于每个日志访问记录表的宽表就有上千个字段。
3 . Yahoo数据仓库的团队成员构成
Yahoo团队主要由DHW配置人员,ETL开发人员、数据架构师、BI分析人员和PM人员组成。他们介绍他们团队大概有30个人,应该只有一个PM而且投入也是50%,从这看来他们的应用需求应该比我们B2B少很多。
4. Data Architect的职责
数据架构师基本上负责整个全局数据仓库的模型,表的设计。数据架构师对掌控整个仓库的表结构。同时,Yahoo经常从外面收购不同的公司,很大一个职责和任务是需要整合新的据源进入数据仓库的模型中。
5. Yahoo实时仓库的现状
Yahoo的实时仓库应用较少,应用点就是广告的结算使用,按时间窗口,采用Oracle的LogMiner捕获准实时变化数据,通过事件触发后续的ETL处理过程。
6. Yahoo对数据仓库人力资源的使用原则
Yahoo的数据仓库人力资源不在业务方,而由自己控制。他们将商业价值和对数据仓库整体影响排在前面两个最重要的位置。当出现资源冲突的时候,不由业务方的独自利益为导向。
原文链接:http://www.cnblogs.com/end/archive/2012/07/31/2617117.html
Yahoo数据仓库架构简介的更多相关文章
- LoadRunner系统架构简介
1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...
- crtmpserver的架构简介
crtmpserver的架构简介 一.层 Layers . 机器层 Machine layer . 操作系统层 Operating System Layer This layer is compo ...
- Extjs6官方文档译文——应用架构简介(MVC,MVVM)
应用架构简介 Extjs 同时提供对于MVC和MVVM应用架构的支持.这两个架构方式共享某些概念,而且都旨在沿着逻辑层面划分应用程序代码.每种方法在选择如何划分应用组件上都有其各自的优势. 本指南的目 ...
- Kafka:架构简介【转】
转:http://www.cnblogs.com/f1194361820/p/6026313.html Kafka 架构简介 Kafka是一个开源的.分布式的.可分区的.可复制的基于日志提交的发布订阅 ...
- Flume在企业大数据仓库架构中位置及功能
Flume在企业大数据仓库架构中位置及功能 hadoop 数据仓库 flume 数据仓库架构 1.如下图所示,外部数据中,关系型数据库导入到HDFS用sqoop,由Nginx产生的文件实时监控用Flu ...
- LoadRunner系统架构简介与运行原理
1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...
- Cortex-M0(+)内核的处理器架构简介
Cortex-M0(+)内核的处理器架构简介 2015年03月02日 16:51:12 阅读数:3158 系统架构 Cortex-M0处理器具有32位系统总线接口,以及32位地址线,即有4GB的地址空 ...
- 【转帖】LoadRunner系统架构简介
LoadRunner系统架构简介: LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP协 ...
- TP 5.0 架构 简介
TP 5.0 架构 简介 thinkphp 5.0 为API开发而设计的的高性能框架,是与以往thinkphp5.0以下版本大不相同的新型框架,病对以颠覆和重构版本,采用全新的架构思想,引入了更多的P ...
随机推荐
- JVM源码分析之javaagent原理完全解读
概述 本文重点讲述javaagent的具体实现,因为它面向的是我们Java程序员,而且agent都是用Java编写的,不需要太多的C/C++编程基础,不过这篇文章里也会讲到JVMTIAgent(C实现 ...
- 什么是webpack?
https://www.webpackjs.com/concepts/ https://webpack.github.io/ 本质上,webpack 是一个现代 JavaScript 应用程序的静态模 ...
- adviser vs mentor
研究生或博士生提到自己导师的时候是说adviser呢?还是mentor呢? 至少我认识一个Berkeley的博士是说adviser的. 另外,我的导师也是说adviser. 那还是说adviser吧- ...
- Python中常用包——sklearn主要模块和基本使用方法
在从事数据科学的人中,最常用的工具就是R和Python了,每个工具都有其利弊,但是Python在各方面都相对胜出一些,这是因为scikit-learn库实现了很多机器学习算法. 加载数据(Data L ...
- powerdesigner唯一约束设置
双击unique_pos_code
- 线性DP总结(LIS,LCS,LCIS,最长子段和)
做了一段时间的线性dp的题目是时候做一个总结 线性动态规划无非就是在一个数组上搞嘛, 首先看一个最简单的问题: 一,最长字段和 下面为状态转移方程 for(int i=2;i<=n;i++) { ...
- 视觉slam十四讲开源库安装教程
目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...
- HDU 1045 - Fire Net - [DFS][二分图最大匹配][匈牙利算法模板][最大流求二分图最大匹配]
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1045 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- numpy中np.nan(pandas中NAN)
转自:http://blog.csdn.net/xiaodongxiexie/article/details/54352889 在处理数据时遇到NAN值的几率还是比较大的,有的时候需要对数据值是否为n ...
- sql中charindex的用法
转自:https://www.cnblogs.com/beeone/p/3621743.html CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串.如果被搜索的字符中包含 ...