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 ...
随机推荐
- Unity3D笔记十六 输入输出-键盘事件、鼠标事件
输入与控制操作Unity为开发者提供了Input类库,其中包括键盘事件.鼠标事件和触摸事件等一切跨平台所需要的控制事件. 一.键盘事件 1.按下事件 Input.GetKeyDown():如果按键被按 ...
- CentOS 6.8下Apache绑定多个域名的方法
如何通过设置Apache的http.conf文件,进行多个域名的绑定(假设我们要绑定的域名是discuz11.com和discuz22.com,独立IP为25.25.25.25). 域名/IP地址 域 ...
- thinkphp---Excel导入!
在做项目的时候,很多时候会遇到需要将excel导入到数据库的操作: 需要用到Excel类: 下载地址: https://gitee.com/meiyouzhanghao/excel 位置:Thinkp ...
- 利用 background 和 filter 模糊指定区域
背景知识:background-size: cover;,background-attachment:fixed;,filter:blur() 难题: 通常,我们会通过filter:blur()去实现 ...
- MySQL权限和用户管理
Mysql权限系统(由mysql权限表进行控制user和db)通过下面两个方面进行认证: 1)对于连接的用户进行身份验证,合法的通过验证,不合法的拒绝连接. 2)对于通过连接认证的用户,可以在合法的范 ...
- 通过微信服务号推送Zabbix告警
近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息. 分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台: 而之前文章中的A ...
- PLSQL Package包的使用
创建包头 create or replace package pak_kingsql is procedure pro_kingsql(p_one in varchar2,p_two out varc ...
- appstore加速审核通道
申请入口:https://developer.apple.com/contact/app-store/?topic=expedite
- JS DOM节点
html代码: <body onload ="loaded12()"> <form name="form1" action="htt ...
- Ultra-QuickSort(poj 2299归并排序)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=232#problem/A B - Ultra-QuickSort Time Li ...