首 页 行业资讯 新车 试驾评测 养车用车 车型库

如何建立数据仓库架构

发布网友 发布时间:2022-04-22 23:21

我来回答

2个回答

懂视网 时间:2022-05-04 05:13

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

简介


数据仓库架构,是IT架构的一个分支,随着数据在企业的核心作用的增强,数据仓库的架构日益重要。数据仓库架构由于其技术选择非常广泛,看上去复杂,不过背后有一套比较稳定的思路,这也是数据仓库架构设计的一个要点,稳定中蕴含变化,变化中蕴含稳定。
总体来说,数据仓库架构分成两大块,一是硬件架构,二是软件架构。硬软架构又可以分成封闭式和开放式。封闭式硬件架构代表厂商有teradata,其硬件是专属的,必须使用特殊的硬件才能运行。开放式硬件架构的代表有oracle,可以运行在各种硬件上,不过开放和封闭之间的界限也逐步的融合,oracle也开始打包hp的专属硬件来推广其dw的方案,而teradata也开始用基于suse的os可运行的硬件上提供其dw产品。封闭式硬件好处是开箱即用,经过厂商的严格测试,保障性比较高,开放式硬件则需要企业具备很强大的技术实力,能够有一支具备硬件,存储,操作系统综合知识和能力的团队,在组合成一套可以运行dw软件的基础平台,并且在发现问题的时候要能很快速的定位问题的原因并解决。
数据仓库的软件架构选择更加丰富。从数据库软件,etl软件,展现软件,数据挖掘软件,每一种类型里面都具备非常多的选择。这些软件的选择是架构设计的一部分,架构设计的重要核心一部分是综合这些软件的一套思路,在一套dw架构设计的思路下,软件可以很灵活的进行选择。
软件物理架构主要特征区别就是行存储和列存储。这个也是曾经很多厂商津津乐道的地方,根据需求的不同,2种方式可以灵活采用。大部分db软件都是采用行存储,而列存储的特征在于高效的单列值压缩,在选择列比较少的时候需要io要求很低,速度很快,不过行存储的db目前在压缩效率上也在迅速提升,大部分需求还是选择行数据进行观察,行存储也更加便于表的按记录拆分进行并行化。

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会维护最新的业务元数据(业务规则,指标定义)进入的元数据库系统。

热心网友 时间:2022-05-04 02:21

如何建立数据仓库架构
每一个数据仓库有一个架构。这架构要么是即时的或计划过的;或隐式的或形成文件的。不幸的是,许多数据仓库开发时并没有一个明确的架构,这极大的*了它的灵活性。在没有架构的情况下,主题区域就无法契合在一起,它们之间的连接变得无目的,并且使整个数据仓库的管理和变更都难于进行。此外,虽然它可能看起来不重要,数据仓库的架构已成为选择工具时的框架。
让我们把开发一个数据仓库与建造一个真正的房屋进行比较。你如何建造一幢300万美元的大厦呢?更不用说建造一间10万美元的房子了。你要有蓝图、图纸、技术规范、和在多个层次细节上显示这个房子将如何进行建造的标准。当然,针对房子的各种子系统要有不同版本的蓝图,如管道工程、电气、暖通空调系统(HVAC)、通信、和空间。针对所有的家用的设备也有相应的标准,包括插头、灯具、卫生洁具、门的尺寸等。
对于数据仓库,架构是对数据仓库的元素和服务的一种描述,用具体细节说明各种组件如何组合在一起,和随着时间的推移系统将如何地发展。就像这房子的比喻,数据仓库架构是一套文件、计划、模型、图纸和规范,针对每个关键的组件区域有的分区,并且足够详细到让专业技术人员可以实施它们。
这并是一个需求文件。需求文件说明架构需要做些什么。数据仓库架构也不是一个项目计划或任务清单;它说明数据仓库是什么,而不是怎么去做或为什么去做。
一个数据仓库的开发也并不容易,因为相对于房屋的5000年建筑史,我们发展数据仓库系统只有20年的时间。因此,我们的标准还不多,工具和技术正在快速发展,关于我们已经拥有数据仓库系统的档案还很少,而且数据仓库的术语还有很大的出入。
所以,虽然开发一个架构是困难的,但它也是可能的,并且又是至关重要的。首先,最主要的是,架构应该受业务的驱动。如果你的要求是每夜进行更新,这一要求就该包含在架构内,而你必须弄清实现你目标的技术需求。下面是一些业务需求的例子,和针对每种需求的综合技术考量:
●每夜更新――充足的数据准备能力
●全球可用性—平行或分布式服务器
●顾客层次分析――大型服务器
●新数据源――带有支持元数据的灵活工具
●可靠性――工作的控制功能
关键组件区域
一个完整的数据仓库架构包括数据和技术因素。架构可以被分为三个主要区域。首先,是基于业务流程的数据架构。其次是基础设施,包括硬件、网络、操作系统和电脑。最后,是技术区域,包含用户所需的决策制定的技术以及它们的支持结构。对这些区域将在下文分小节进行详述。
●数据架构
如上所述,在整体数据仓库架构中的数据架构部分是受业务流程所驱动的。例如,在一个制造环境里,数据模型可能包括订单、装运和帐单。每一个区域都依据一套不同的维度。但是在数据模型中对相交维度的定义必须相同。所以相同数据项应该有同样的结构和内容,并有一个创建和维护的单一流程。
当你完成一个数据仓库架构并呈现数据给你的用户,就要做出对工具的选择,但随着需求的设定, 选择就会变窄。例如,产品的功能开始融合,就像*联机分析处理(M OLAP)和关系型联机分析处理(ROLAP)。如果停留在你建造的立方体,*联机分析处理(MOLAP)便可以了。它速度快又允许灵活的查询――在立方体的范围内。它的缺点是规模(整体上和一个维度内)、设计的局限性(受立方体结构所限)、需要一个专有的数据库。关系型联机分析处理(ROLAP)是*联机分析处理(MOLAP)的一种替代方案,它克服了*联机分析处理(MOLAP)的这些缺点。通常,混合联机处理(HOLAP)更受欢迎,它允许一部分数据存储在维联机分析处理(MOLAP)中,另一部分数据存储在关系型联机分析处理(ROLAP)中,折衷了各自的长处。
●基础设施架构
对硬件及数据库选择的问题在于其大小、扩展性和灵活性。在大约80%的数据仓库项目中,这并不困难,大多数企业有足够的力量来应对他们的需要。
在网络、检查数据来源、数据仓库准备区、以及它们之间的任何设施方面,要确保有足够的带宽用于数据的移动。
●技术架构
技术架构被元数据目录所驱动。一切都应该受元数据所驱动。服务应该依从表格所需的参数,而不是它们的硬编码。技术架构的一个重要组件是 ETL(提取、转换和加载)流程,它涵盖了五个主要区域:
●提取-数据来自多种数据源并且种类繁多。在这个区域如果有数据的应用时必须考虑对它的压缩和加密处理。
●转换-数据转换包括代理主键的管理、整合、去标准化、清洗、转换、合并和审计。
●加载-加载通常是利用加载最优化和对整个加载周期的支持对多种目标进行加载。
●安全-管理员访问和数据加密的策略。
●元件控制--它包括元件的定义、元件安排(时间和事件)、监控、登录、异常处理、错误处理和通知。
数据准备区需要能够从多种数据源提取数据,如MVS、ORACLE、VM和其它,所以当你选择产品时要具体。它必须将数据进行压缩和加密、转化、加载(可能对多个目标)和安全处理。此外,数据准备区的活动要能够自动化进行。不同的供应商的产品做不同的事情,所以大多数企业将需要使用多种产品。
一个监控数据仓库使用的系统对查询的采集、使用的跟踪是有价值的,而且也有助于性能的调整。性能优化包括通过“管理者”工具进行的成本估算,而且应包括即时查询的时间表。有工具能够提供查询管理服务。可使用工具来针对这些和其它相关任务,如对前台的基于服务器的查询管理和来自于多种数据源的数据。也有工具可用于报表、连通性和基础设施管理。最后,数据访问块应包括报表的服务(如发布和订阅),还应包括报表库,调度程序和分布管理员。
关于元数据
在数据仓库流程中数据的创建和管理要遵循以下的“步骤”:
●数据仓库模型
●数据源的定义
●表的定义
●数据源到目标的映射
●映射和转换信息
●物理信息(表格空间,等)
●提取数据
●转移数据
●加载统计
●业务描述
●查询请求
●数据本身
●查询统计
为显示元数据的重要性,上述的步骤列表中只有三步包括了“真正”的数据-7、8和12。其他的一切都是元数据,而且整个数据仓库流程都依赖于它。元数据目录的专业技术要素包括:
●业务规则--包括定义、推导、相关项目、验证、和层次结构信息(版本、日期等。)
●转移/转换信息--源/目的地的信息,以及DDL(数据类型、名称等等。)
●操作信息--数据加载的工作时间表、依存性、通知和信息的可靠性 (比如主机的重定向和加载平衡)。
●特定工具的信息--图形显示信息和特殊功能的支持。
●安全规则--认证和授权。
建立架构
在开发技术架构模型前,要先起草一份架构需求的文件。然后将每一项业务需求计划包含到它的架构中。根据架构的区域对这些内容进行分组(远程访问、数据准备、数据访问工具等)。了解它如何于其它区域相适应。采集区域的定义及其内容。最后提炼和形成模型的文件。
我们认识到开发一个数据仓库架构是困难的,因此要有一个周密细致的规划。但ZACHMAN框架又超出了大多数企业对数据仓库的需要,所以建议使用一个合理的折衷方案,它由四层流程所组成:业务需求、技术架构、标准和工具。
业务需求本质上驱动着架构,所以要对业务经理、分析师、高级用户进行访谈。从你的访谈中寻找主要的业务问题,以及企业战略、发展方向、挫折、业务流程、时间、可用性、业绩预期的指标。将它们一一妥善归档。
从IT的角度来看,跟现有的数据仓库/决策支持系统(DSS)的支持人员、联机分析处理(OLTP)应用组成员、数据库管理员们(DBA);以及网络、操作系统和桌面支持人员进行讨论。也要与架构师和专业规划人员进行探讨。你应该从这些讨论中得知他们从IT的观点考虑数据仓库的意见。从中了解是否有现存的构架文件、IT原则、标准文件、企业数据中心等。
关于数据仓库并没有太多现存的标准,但对于许多组件来说是有标准的。下面是一些需要牢记的标准:
●中间设备--开放数据库连接(ODBC)、对象链接与嵌入(OLE)、对象链接与嵌入数据库(OLE DB)、数据通信设备(DCE)、对象请求代理(ORB)和数据库编程(JDBC)
●数据库连接--ODBC, JDBC, OLE DB, 和其它。
●数据管理--ANSI SQL 和文件传输协议(FTP)
●网络访问--数据通信设备(DCE)、域名服务器(DNS)、和 轻量目标访问协议(LDAP)
无论它们支持的是哪种标准,主流的数据仓库工具都受元数据所驱动。然而,它们通常并不互相共享元数据而且在开放性上也所有不同。所以,要仔细研究和购买工具。架构师是你选择适当工具的向导。
一个数据仓库架构需要具体到怎样的程度呢?这个问题要问的是:它有足够的信息可以让一个有能力的团队来建立一个满足业务需求的数据仓库吗?至于它要花多长时间,随着更多的人加入到它的开发中来(即:它变成了“复杂的技术策略”)和生成的系统需要变得更复杂(即"复杂的功能”),架构的完成会呈指数倍的发展。
像数据仓库中几乎所有的事情一样,一个迭代进程是最好的。你不能一次做完所有的事情因为它太大了, 而且业务不能等。同时,数据仓库的市场还没有完备。所以从流程中影响大、高价值部分开始,然后,利用你的成功去带动另外的阶段。
总结:
综上所述,建立一个数据仓库架构的好处如下:
●提供了一个组织结构的框架--架构对什么是单独的组件、如何将它们组装在一起、谁拥有什么部分以及优先次序的问题划出了界线。
●提高了灵活性和维护性--让你能快速加入新的数据来源,接口标准允许即插即用,模型和元数据允许影响分析和单点的变化。
●更快的开发和再利用--数据仓库开发者更能够快速了解数据仓库流程、数据库内容和业务规则。
●管理和通信的工具--定义未来方向和项目范围, 确定职务和职责、对供应商传达需求。
●协调多项任务同时进行——多种、相对的工作有机会成功地集合。
我们建议公司对准业务需求而又要务实一些。时刻跟上数据仓库产业的进步是很重要的。最后,请记住架构总是存在的:或隐性或具体的,或无计划或计划内的。经验证明,有一个计划内和具体的架构会使数据仓库与 商业智能项目有更多的成功机会。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com