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数据仓库架构简介的更多相关文章

  1. LoadRunner系统架构简介

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  2. crtmpserver的架构简介

    crtmpserver的架构简介 一.层 Layers . 机器层 Machine layer . 操作系统层 Operating System Layer   This layer is compo ...

  3. Extjs6官方文档译文——应用架构简介(MVC,MVVM)

    应用架构简介 Extjs 同时提供对于MVC和MVVM应用架构的支持.这两个架构方式共享某些概念,而且都旨在沿着逻辑层面划分应用程序代码.每种方法在选择如何划分应用组件上都有其各自的优势. 本指南的目 ...

  4. Kafka:架构简介【转】

    转:http://www.cnblogs.com/f1194361820/p/6026313.html Kafka 架构简介 Kafka是一个开源的.分布式的.可分区的.可复制的基于日志提交的发布订阅 ...

  5. Flume在企业大数据仓库架构中位置及功能

    Flume在企业大数据仓库架构中位置及功能 hadoop 数据仓库 flume 数据仓库架构 1.如下图所示,外部数据中,关系型数据库导入到HDFS用sqoop,由Nginx产生的文件实时监控用Flu ...

  6. LoadRunner系统架构简介与运行原理

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  7. Cortex-M0(+)内核的处理器架构简介

    Cortex-M0(+)内核的处理器架构简介 2015年03月02日 16:51:12 阅读数:3158 系统架构 Cortex-M0处理器具有32位系统总线接口,以及32位地址线,即有4GB的地址空 ...

  8. 【转帖】LoadRunner系统架构简介

    LoadRunner系统架构简介: LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP协 ...

  9. TP 5.0 架构 简介

    TP 5.0 架构 简介 thinkphp 5.0 为API开发而设计的的高性能框架,是与以往thinkphp5.0以下版本大不相同的新型框架,病对以颠覆和重构版本,采用全新的架构思想,引入了更多的P ...

随机推荐

  1. 【BZOJ5146】有趣的概率 概率+组合数(微积分)

    [BZOJ5146]有趣的概率 Description "可爱的妹子就像有理数一样多,但是我们知道的,你在数轴上随便取一个点取到有理数的概率总是0,"芽衣在床上自顾自的说着这句充满 ...

  2. 在eclipse中编辑linux上的项目

    以前在linux的上接口自动化项目都是使用notepad++或SVN下载到本地后再上传来完成功做,但在调试时非常麻烦. 查看了下在eclipse中有一个非常好用的插件Remote Systems,可以 ...

  3. iOS - 国际化语言切换

    iOS国际化:如何切换语言   1.国际化就是将标签.提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件.以key/value对存储,每个资源的key值不变,value随着需求改变. ...

  4. linux 安装Swagger(swagger-editor , swagger-ui)

    一.环境要求 1.Nodejs ( 版本6.0x以上 ) 2.npm (npm 3.x) 注: linux 更新nodejs到最新 node -v 4.2.1 sudo npm cache clean ...

  5. python操作数据库PostgreSQL

    1.简述 python可以操作多种数据库,诸如SQLite.MySql.PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括 ...

  6. [EF]vs15+ef6+mysql code first方式

    写在前面 前面有篇文章,尝试了db first方式,但不知道是什么原因一直没有成功,到最后也没解决,今天就尝试下code first的方式. [EF]vs15+ef6+mysql这个问题,你遇到过么? ...

  7. New text file line delimiter

    Window -> Preferences -> General -> Workspace : Text file encoding :Default : 选择此项将设定文件为系统默 ...

  8. 如何写好PPT

    怎样写好ppt? 阿里巴巴矢量图标库 优品PPT SmartArt PPT美化大师

  9. CSU 1804 - 有向无环图 - [(类似于)树形DP]

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1804 Bobo 有一个 n 个点,m 条边的有向无环图(即对于任意点 v,不存在从点 ...

  10. 51nod 1835 - 完全图 - [dp][组合数公式][快速幂]

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1835 基准时间限制:1 秒 空间限制:131072 KB   ...