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. 【CF802L】Send the Fool Further! (hard) 高斯消元

    [CF802L]Send the Fool Further! (hard) 题意:给你一棵n个节点的树,每条边有长度,从1号点开始,每次随机选择一个相邻的点走,走到一个叶子时就停止,问期望走的总路程. ...

  2. nose测试中修改nose_html_reporting插件,使生成的html报告加入显示截图功能

    使用nose框架在测试WEB UI自动化时,使用了第三方插件nose-html-reporting,来生成HTML报告,nose-html-reporting具体使用参见管网https://pypi. ...

  3. "will you marry me" vs "would you marry me"

    will you marry me 表示我现在问你,能不能嫁给我,我现在就需要答案. 如果回答是yes,那么对方就算是同意嫁给你了. would you marry me 表示你能不能考虑嫁给我. w ...

  4. redis -clock_gettime问题

    /home/wm/redis-/deps/jemalloc/src/nstime.c:: undefined reference to `clock_gettime' 这个错误 解决思路如下 .查找实 ...

  5. java 多线程研究:锁的概念

    java多线程:锁 java的多线程中的锁是干嘛的呢?在网上找了很多博客,大都是很专业的语言,让我一时间摸不着头脑.下面分三个部分来总结多线程中的锁的概念. 一,基础概念: 多线程在运行的时候可能会遇 ...

  6. 使用keras导入densenet模型

    从keras的keras_applications的文件夹内可以找到内置模型的源代码 Kera的应用模块Application提供了带有预训练权重的Keras模型,这些模型可以用来进行预测.特征提取和 ...

  7. Linux系统下便捷使用中国知网的方式

    https://blog.csdn.net/mowangajimide/article/details/54144379

  8. NLP常用语料集合

    常用语料资源 下面提供一些网上能下载到的中文的好语料,供研究人员学习使用.(1).中科院自动化所的中英文新闻语料库 http://www.datatang.com/data/13484中文新闻分类语料 ...

  9. AIX 7命令行weblogic建域流水

    $ ./config.shUnable to instantiate GUI, defaulting to console mode. <------------------- Fusion M ...

  10. ios-CoreLocation定位服务

    一.简单说明 1.CLLocationManager CLLocationManager的常用操作和属性 开始用户定位- (void)startUpdatingLocation; 停止用户定位- (v ...