您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 数据仓库初稿(第二版)
数据仓库顾安宁2019/8/1杭州斯凯网络科技有限公司1内容数据仓库一些特点数据仓库的架构OracleRAC架构GreenPlum架构MapReduce的概念架构比较风险评估2019/8/1杭州斯凯网络科技有限公司2数据仓库的目前的现状2019/8/1杭州斯凯网络科技有限公司3软件架构硬件架构硬软架构又可以分成封闭式和开放式。封闭式硬件架构代表厂商有teradata,其硬件是专属的,必须使用特殊的硬件才能运行。开放式硬件架构的代表有oracle,可以运行在各种硬件上,不过开放和封闭之间的界限也逐步的融合。数据仓库的目前的现状2019/8/1杭州斯凯网络科技有限公司4Greenplum在这两方面取长补短,所提供的该公司的旗舰产品——Greenplum数据引擎就是特别为支持新型数据仓库和大规模分析处理而设计开发的,可以同时支持SQL和MapReduce技术。Greenplum数据引擎对有PB量级数据的大型公司提供数据处理能力。基于Greenplum数据引擎的解决方案的核心优势在于可将原来长达数小时甚至数天的运算时间缩短为几分钟。数据仓库的软件架构数据仓库的软件架构选择更加丰富数据库软件ETL软件展现软件数据挖掘软件每一种类型里面都具备非常多的选择。2019/8/1杭州斯凯网络科技有限公司5ETL约占整个项目的70%2019/8/1杭州斯凯网络科技有限公司6ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取、转换和加载。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,数据仓库的架构设计一些考虑因素2019/8/1杭州斯凯网络科技有限公司71.成本。成本永远是企业关心的一个核心问题,特别在如今经济寒冬,更是如此。2.效率。能否高效的处理海量的数据是一个基础要素,搞数据仓库的都知道,数据量永远是一个经常被拿出来讨论的话题。3.线性扩展。能支持线性扩展的系统在计划支撑多年的系统中特别重要,可以非常方便的做出年度预算。4.协同工作。解决多人协同开发问题。数据仓库的架构设计一些考虑因素2019/8/1杭州斯凯网络科技有限公司85.调度。能否很方便的一目了然的看到整体调度,站在一个非常高的高度来管理各种数据流。6.兼容性。能否兼容各种异构数据。7.准确的监控系统。8.高效的开发框架。数据仓库的架构类型2019/8/1杭州斯凯网络科技有限公司9Oracle数据仓库的架构2019/8/1杭州斯凯网络科技有限公司10GreenPlum数据仓库的架构2019/8/1杭州斯凯网络科技有限公司11GreenPlum数据仓库的架构2019/8/1杭州斯凯网络科技有限公司12MapReduce概念2019/8/1杭州斯凯网络科技有限公司13MapReduce是一种编程模型(并不是google自己开发的编程工具),用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(化简),和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce映射概念2019/8/1杭州斯凯网络科技有限公司14简单说来,一个映射函数就是对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表)的每一个元素进行指定的操作(比如前面的例子里,有人发现所有学生的成绩都被高估了一分,他可以定义一个“减一”的映射函数,用来修正这个错误。)。事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个新的列表来保存新的答案。这就是说,Map操作是可以高度并行的,这对高性能要求的应用以及并行计算领域的需求非常有用。MapReduce化简概念2019/8/1杭州斯凯网络科技有限公司15而化简操作指的是对一个列表的元素进行适当的合并(继续看前面的例子,如果有人想知道班级的平均分该怎么做?他可以定义一个化简函数,通过让列表中的元素跟自己的相邻的元素相加的方式把列表减半,如此递归运算直到列表只剩下一个元素,然后用这个元素除以人数,就得到了平均分。)。虽然他不如映射函数那么并行,但是因为化简总是有一个简单的答案,大规模的运算相对独立,所以化简函数在高度并行环境下也很有用。MapReduce的分布和可靠性2019/8/1杭州斯凯网络科技有限公司16MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的把完成的工作和状态的更新报告回来。如果一个节点保持沉默超过一个预设的时间间隔,主节点(类同GoogleFileSystem中的主服务器)记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。(避免副作用)。MapReduce的分布和可靠性2019/8/1杭州斯凯网络科技有限公司17化简操作工作方式很类似,但是由于化简操作在并行能力较差,主节点会尽量把化简操作调度在一个节点上,或者离需要操作的数据尽可能近的节点上了;这个特性可以满足Google的需求,因为他们有足够的带宽,他们的内部网络没有那么多的机器。MapReduce的用途2019/8/1杭州斯凯网络科技有限公司18在Google,MapReduce用在非常广泛的应用程序中,包括“分布grep,分布排序,web连接图反转,每台机器的词矢量,web访问日志分析,反向索引构建,文档聚类,机器学习,基于统计的机器翻译...”值得注意的是,MapReduce实现以后,它被用来重新生成Google的整个索引。MapReduce会生成大量的临时文件,为了提高效率,它利用Google文件系统来管理和访问这些文件。数据仓库的架构比较2019/8/1杭州斯凯网络科技有限公司19硬件物理架构比较2019/8/1杭州斯凯网络科技有限公司20数据仓库的物理架构,包含硬件物理架构和软件物理架构。硬件物理架构包含集中式和分布式两种,在企业里面都有运用。集中式硬件物理架构偏向于使用非常power的小型机或者大型机,非常高端的海量存储,管理简单,在不计投入的情况下性能也能满足企业需求。分布式硬件物理架构目前非常流行,特征是采用价格低廉的中低端机器组成计算集群,不同的技术驱动下,在sharednothing的架构下可以采用本机的硬盘,在sharedeverything的架构下偏向使用集中存储,分布式集群在网络上的要求比较高,扩展性比较好,配合好的软件可以达到线性扩展的要求。软件物理架构比较2019/8/1杭州斯凯网络科技有限公司21软件物理架构主要特征区别就是行存储和列存储。这个也是曾经很多厂商津津乐道的地方,根据需求的不同,2种方式可以灵活采用。大部分DB软件都是采用行存储,而列存储的特征在于高效的单列值压缩,在选择列比较少的时候需要io要求很低,速度很快,不过行存储的DB目前在压缩效率上也在迅速提升,大部分需求还是选择行数据进行观察,行存储也更加便于表的按记录拆分进行并行化。OracleRAC和GreenPlum成本比较2019/8/1杭州斯凯网络科技有限公司22OracleRAC包括软件成本,维护成本,硬件成本,由于Oracle采用sharedeverything方式,因而除了OracleRAC本身的软件成本,维护成本外,还有很大一块存储成本。而GreenPlum是采用sharednothing方式,可以采用廉价的硬盘存储方式。软件成本相对于Oracle来说也便宜很多。因为数据仓库的主要的工作量和维护成本是ETL,而斯凯目前大部分数据都放在Oracle数据库中,因而采用OracleRAC方案ETL时间会大大缩小。OracleRAC和GreenPlum风险评估2019/8/1杭州斯凯网络科技有限公司23OracleRAC方案是基于成熟的架构,被业界采用最广泛的方案,因而风险相对小很多而GreenPlum方案是目前最近的解决方案,国外VideoEgg和Skype等公司采用。09年刚刚进入中国,目前国内还没有公司正式采用,淘宝,阿里巴巴B2B公司在试用。因而遇到的风险相对会大很多提问与讨论しろうとかんがくろうとじっこう素人のように考え、玄人として実行する像外行一样思考,像专家一样实践かなでたけお金出武雄2019/8/1杭州斯凯网络科技有限公司24
本文标题:数据仓库初稿(第二版)
链接地址:https://www.777doc.com/doc-27075 .html