数据仓库架构设计

一.

数据仓库架构,是IT架构的一个分支,随着数据在企业的核心作用的增强,数据仓库的架构日益重要。数据仓库架构由于其技术选择非常广泛,看上去复杂,不过背后有一套比较稳定的思路,这也是数据仓库架构设计的一个要点,稳定中蕴含变化,变化中蕴含稳定。

总 体来说,数据仓库架构分成两大块,一是硬件架构,二是软件架构。硬软架构又可以分成封闭式和开放式。封闭式硬件架构代表厂商有teradata,其硬件是 专属的,必须使用特殊的硬件才能运行。开放式硬件架构的代表有oracle,可以运行在各种硬件上,不过开放和封闭之间的界限也逐步的融合,oracle 也开始打包hp的专属硬件来推广其dw的方案,而teradata也开始用基于suse的os可运行的硬件上提供其dw产品。封闭式硬件好处是开箱即用, 经过厂商的严格测试,保障性比较高,开放式硬件则需要企业具备很强大的技术实力,能够有一支具备硬件,存储,操作系统综合知识和能力的团队,在组合成一套 可以运行dw软件的基础平台,并且在发现问题的时候要能很快速的定位问题的原因并解决。

数据仓库的软件架构选择更加丰富。从数据库软件,etl软件,展现软件,数据挖掘软件,每一种类型里面都具备非常多的选择。

这些软件的选择是架构设计的一部分,架构设计的重要核心一部分是综合这些软件的一套思路,在一套dw架构设计的思路下,软件可以很灵活的进行选择。

二.

数据仓库架构设计的出发点是什么?需要解决哪些问题?

所 谓架构,好比大厦,好的设计大厦具备很好的抗震,抗自然灾害能力,框架式建筑能够重新打造内部结构。而数据仓库架构也是解决类似的问题,其实很多数据仓库 在开始起步的时候是不谈架构的,本来就是小作坊,无须谈到架构这个高度。但是如果要考虑建设一个能支撑容纳5-10年业务的时候,架构的好坏就体现出来 了。

一 个好的架构其实就是经验的沉淀物,架构是在理清楚数据仓库的基本的任务,并能让这些任务高效低成本的实现。举个简单的例子来理解一下,数据仓库中同步数据 和汇总数据的依赖模块非常之多,如果其中若干模块出错,该如何处理?如果架构设计不好,就会陷入维护人员不断的寻找问题,清理现场,手工调度等问题出现, 场面应该十分混乱。好的架构首先是模块化,模块内部具备自动清理现场功能,而模块间则具备自动断点重新启动功能,在模块常规出错的时候,能依靠系统自助解决问题,同时能把处理问题的过程记录下来供后续分析。这样的架构能够极大的提升维护的效率,减轻维护人员的维护量。整个dw系统也具备了抗异常能力。

三.

数据仓库的架构设计,有时候一个好的架构设计的出发点往往来源于当前系统的缺陷。如何面对当前系统的缺陷是架构能否持续发展的一个关键点之一。业界存在很多对商业,开源etl工具的评测,那么这些评测要点应该从哪些方面进行才能甄别出适合企业的工具呢?

1.成本。成本永远是企业关心的一个核心问题,特别在如今经济寒冬,更是如此。

2.效率。能否高效的处理海量的数据是一个基础要素,搞数据仓库的都知道,数据量永远是一个经常被拿出来讨论的话题。

3.线性扩展。能支持线性扩展的系统在计划支撑多年的系统中特别重要,可以非常方便的做出年度预算。

4.协同工作。解决多人协同开发问题。

5.调度。能否很方便的一目了然的看到整体调度,站在一个非常高的高度来管理各种数据流。

6.兼容性。能否兼容各种异构数据。

7.准确的监控系统。

8.高效的开发框架。

四.

数据仓库的物理架构,包含硬件物理架构和软件物理架构。硬件物理架构包含集中式和分布式2中,在企业里面都有运用。

集中式硬件物理架构偏向于使用非常power的小型机或者大型机,非常高端的海量存储,管理简单,在不计投入的情况下性能也能满足企业需求。

分 布式硬件物理架构目前非常流行,特征是采用价格低廉的中低端机器组成计算集群,不同的技术驱动下,在share nothing的架构下可以采用本机的硬盘, 在share everything的架构下偏向使用集中存储,分布式集群在网络上的要求比较高,扩展性比较好,配合好的软件可以达到线性扩展的要求。

软件物理架构主要特征区别就是行存储和列存储。这个也是曾经很多厂商津津乐道的地方,根据需求的不同,2种方式可以灵活采用。

大部分db软件都是采用行存储,而列存储的特征在于高效的单列值压缩,在选择列比较少的时候需要io要求很低,速度很快,不过行存储的db目前在压缩效率上也在迅速提升,大部分需求还是选择行数据进行观察,行存储也更加便于表的按记录拆分进行并行化。

时间: 2024-10-20 02:41:21

数据仓库架构设计的相关文章

MySQL性能调优与架构设计——第1章 MySQL 基本介绍

MySQL性能调优与架构设计——第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主要内容包括MySQL 各功能模块组成,各模块协同工作原理, Query 处理的流程等. 1.1 MySQLServer 简介 1.1.1 什么是 MySQLMySQL 是由MySQL AB公司(目前已经被SUN公司收归麾下,SUN已经被Oracle收购)自主研发的,目

MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出现异常的可能,监控系统就是根据系统的各项状态的分析,让我们能够尽可能多的提前预知系统可能会出现的异常状况.即使没有及时发现将要发生的异常,也要在异常出现后的第一时间知道系统已经出现异常,否则之前的设计工作很可能就白费了. 18.1 监控系统设计 系统监控

第53课:Hive 第一课:Hive的价值、Hive的架构设计简介

一. Hive的历史价值 1, 大数据因Hadoop而知名,而Hadoop又因Hive而实用.Hive是Hadoop上的Killer Application,Hive是Hadoop上的数据仓库,同时Hive兼具有数据仓库中的存储和查询引擎.而Spark SQL是一个更加出色和高级的查询引擎,并不提供存储功能.所以Spark SQL无法取代Hive,在现在企业级应用中Spark SQL+Hive成为了业界使用的大数据最为高效和流行的趋势. 2,Hive是Facebook推出的,主要是为了让不懂ja

数据仓库主题设计及元数据设计

明确仓库的对象:主题和元数据 大多数商务数据都是多维的,所以采集和表示三维以上的数据不能完全借用业务数据库设计中的方法,必须有一种新的方法来表达多维数据.现阶段流行的有2种方 法,一是面向对象方法,即把商务数据抽象为对象,再使用Rational Rose等对象建模工具来表达这些对象:另一种方法就是使用信息包图,这是一种简便且高效的方法,在项目中使用的普及率很高. 信息包图实际上是自上而下数据建模方法的一个很好的工具.自上而下的建模技术从用户的观点开始设计.用户的观点是通过与用户交流得到的,可以进

分布式发布订阅消息系统 Kafka 架构设计[转]

分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础.现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用. 活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部

监控平台架构设计

花了两个小时设计的高富帅方案(UPP监控平台架构设计) 目录 UPP监控平台架构设计 1.引言 1.1背景 1.2编写目的 1.3定义 2.范围 2.1 系统主要目标 2.2主要软件需求 2.3设计约束.限制 3.软件系统结构设计 3.1.监控方案: ①传统方式: ②改进方式: ③继续改良方式: ④高富帅方式: 3.2软件体系结构 3.2.1结构图 3.2.2功能模块说明 4.主要技术介绍 监控系统搭建 日志拷贝 日志分析程序 5.需要硬件 UPP监控平台架构设计 1.1背景1.引言 随着接入U

大型分布式网站架构设计与实践

大型分布式网站架构设计与实践(一线工作经验总结,囊括大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案,有细节.接地气/京东:大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案) 陈康贤 著   ISBN 978-7-121-23885-7 2014年9月出版 定价:79.00元 460页 16开 编辑推荐 --作者一直奋战在阿里巴巴及淘宝网一线,书中所讲是其亲身经验的总结,显得更加实战和珍贵. --全面介绍大型分布式网站架构所涉及的技术细

数据仓库专题(24)-数据仓库架构体系总结

一.数据仓库架构 二.数据主题域设计 三.星型模型设计  四.数仓技术架构

《大型分布式网站架构设计与实践》

读后感 逐字逐句看完<大型分布式网站架构设计与实践>第2章,意犹未尽!如标题所言,这是一本“真材实料的分布式资料”,它与我看过的分布式书籍(如<大型网站系统与Java中间件实践>)不同,本书重技术兼并理论,给了新人入手的方向. 我最最感动的是书中介绍了很多分布式的“干货”:分布式缓存可以用memcache.数据库水平/垂直拆分技术.分布式存储可以HBase/Redis等.消息通道可以用ActiveMQ.搜索引擎Lucene/Solr等.当然每一种技术都不是一本书能说完的,作者至少给