首页 > 编程知识 正文

架构设计理论,优秀的架构设计

时间:2023-05-04 02:22:30 阅读:230336 作者:3427

确保EDW建设成功的因素:拥有明确的业务目标;高级管理层的支持;螺旋式的开发和发布过程;有用户对项目的一贯参与;对数据模型和ETL过程给予足够重视;能够将数据转换成信息和知识;易用性和高可用性等。
数据仓库的概念是Bill Inmon 于1991年提出的,Inmon被人们尊称为“数据仓库之父”,他给出了数据仓库的一个简短而全面的定义:数据仓库是一个面向主题、集成、时变、非易失、明细的数据集合,可有效支持管理部门的决策。 数据仓库的理念虽好,但就其多年的建设历程来看,如何搭建复杂的数据仓库应用还需深思。
行业数据仓库差强人意
国内数据仓库应用开始于1996 年前后。最早是从银行领域开始,四大国有商业银行开始尝试在一些分行或开发中心建立基于储蓄、对公或信贷方面的数据仓库系统,这些系统虽采用了一些数据仓库和商务智能的思想,但是尚不能称之为数据仓库应用。直到2001年,大型国有银行的数据仓库系统也没有形成规模。
在证券行业,上交所和深交所均在2001年实施了各自的数据仓库系统。而众多的券商中有部分采用了小型的数据集市以及基于PC 平台的分析应用,很少有成规模的商务智能应用。
在电信领域,运营商的数据仓库系统发展较快,从1999 年开始,已经有不少省份实施了面向客户和市场分析的数据仓库应用系统。到2001年底,中国移动总公司规范其系统,实行全国性的规范制定和选型招标,全面的工作也在2002年 下半年展开;中国联通的数据仓库系统虽然起步较晚,但一开始就实行全国统一规划,其选型招标也在2002 年夏展开;中国电信由于应用繁杂、系统历史较长,商务智能应用起步较晚,规模也不大。
其它行业如政府部门、公安、医疗、保险、电力、铁路、制造业由于需求非常分散,也很少有成规模的数据仓库应用,国内专注于该领域的集成商也很少,数据仓库领域应用设计的实力相对较弱。
在国内各个行业,如银行、电信、烟草、电子政务、零售、保险等,都在已有专业信息系统的基础上,开展了以数据集成和决策支持为主要内容的各类决策支持系统的建设。
国内数据仓库应用发展的特点主要有几个方面。
首先
不同行业或同行业不同地区发展极不平衡,少数企业和机构几乎需要建立世界上最大、最复杂的数据仓库应用,而多数企业几乎难以提出数据仓库应用的需求。
其次系统发展与企业的特点联系密切,对数据仓库的需求取决于企业属于市场经济模式还是计划经济模式、是上市公司还是非上市公司、在沿海开放地区还是内陆省份。市场竞争的压力往往是商务智能发展的原动力。
第三系统建设反复较多,没有形成可持续发展。商务智能系统的成功关键在于应用以及持续的信息补充。国内许多商务智能系统往往由于机构调整、人事变更或其它非技术的原因,反复废弃、重建。此外,模型和功能的单一也影响了系统的应用效果,宣传与实效之间有很大差距、系统建设也进入到各种误区中去,这与技术和专业咨询服务的落后有关。
最后在一些企业,经过数据仓库的早期尝试后,虽然数据仓库的理念非常符合经营管理需要,但是数据仓库应用不是简单的一个项目,且不论原有数据仓库系统设计得是否好,单看当时建设数据仓库依赖的数据基础,即已建信息系统的数据质量和应用情况,就可以看到存在很多不尽如人意的地方。一些企业早期虽积累了一些历史数据,由于没有制定统一的标准,数据不可比;一些企业即使制定了统一的标准,由于缺少管控和考核机制,统一标准在不同系统中执行情况并不理想,加上不同系统建设目标不同,系统中经营管理数据的口径和类别都存在较大差异。
EDW呼之欲出
曾经有企业在ERP的全面推广建设即将完成时,启动了数据仓库应用建设,根据销售统计分析、物资供应监控、财务报表分析三项需求进行建设,在经过两年的尝试后,发现各部门的分析口径存在较大差异。比如同样是销售额,有的是分析税前销售额,有的部门却是全额销售,直接利用数据仓库技术建设分析模型,数据的加载项和转换规则都是按各部门分析需求制定,从总部层面会出现不同口径的分析数据,利用这些信息仍无法有效指导企业的经营管理。
这家企业只好重新收集各部门对于数据的需求,对数据仓库系统架构进行了重新优化和部署,并启动了企业级数据仓库(EDW)系统的建设规划。这家企业EDW规划沿用了CIF的概念,抽取来自于ERP等经营管理系统的数据,通过统一的数据抽取、加工、清洗、存储,为集团公司总部的管理部门、分子公司应用提供统一、标准的数据服务。
实际应用表明,EDW系统首先专注于数据的抽取和集成,所有的数据抽取和集成工作在EDW平台完成;其次,它专注于为各类数据仓库应用提供规范、标准、一致的数据源,本身并不提供任何的查询分析。
EDW系统在数据的架构上采用了层次化架构设计,包含三个数据层:数据抽取层、数据合并层、数据输出层。其中数据抽取层和数据合并层独立于应用,不从属于任何数据仓库应用;但是数据输出层则是依赖于每个应用存在的。数据输出层单纯是技术上为了解决不同的应用从EDW系统提取自己的数据增量而设置,通过数据输出层隔离了不同应用在数据抽取时的相互影响。 层次设计的重要原则是每个层次有其明确的服务目的,数据抽取层解决满足“未知”的应用需求,数据合并层保证数据的一致性,数据输出层则是保证提供每个应用一致的增量数据。
数据抽取层
抽取层的输入数据源来自于源系统。抽取层保存和源系统一致的信息,不进行编码转换、数据清洗、语义逻辑加工。
抽取层需要考虑一些附加处理信息,如增加数据来源标识——源系统、标识在源系统中已经删除的数据、为重要的主数据保存历史信息、为某些特定的数据总是提供数据上载时间戳等。
针对EDW数据源,需按主题、数据拥有者、数据项编号、数据项技术名称、数据项中文名称、数据项业务定义、数据类型、处理类型、处理逻辑、源系统基础表名称、数据源字段名称等进行梳理,并进行记录,数据源的变更需遵循变更管控流程。
数据合并层
合并层的输入数据源来自抽取层的数据,从抽取层到合并层需要根据业务模型定义完成大量的编码统一、业务逻辑统一工作。
合并层的数据主要供后续的业务转换层,或者应用分析层使用;合并层中的数据也可以通过数据仓库的数据分发接口提供给其它应用使用。合并层采用DSO来进行数据存储。
数据输出层
数据输出层的输入数据源来自合并层的数据,数据输出层的数据主要供后续的业务转换层,或者应用分析层使用;数据输出层是依赖于应用项目设置的,它的数据结构是由应用项目决定的。数据输出层采用优化DSO来进行数据存储。
增加数据输出层的目的是为了隔离不同应用之间调整的相互影响。数据分区存储设计EDW系统中的数据存储可采用分区设计,其基本原则是按照分子公司进行数据的分区存储。比如,集团下不同企业的数据分散在不同的DSO中保存。
采用分区设计的主要目的是适应不同企业数据抽取、数据处理的相互干扰,充分利用服务器的并行处理能力,将单据级表数据控制在较小的规模,避免数据加载瓶颈。
分区存储应用于数据抽取层和数据合并层,对于数据输出层没有分区存储数据的要求。相反,大部分的应用在数据输出层将不同的合并层数据合并在一起,再统一输出层到后续的应用。
建立管控体系将风险降至最低
在EDW建设中应坚持以下五项原则。
一是以业务需求为驱动:
对现有分析应用的业务需求进行再确认,以指导和约束EDW数据设计,根据分析应用建立或迁移实施的步骤,确定源系统加载到EDW的优先级和策略等。
二是需求部门充分参与:EDW的建设需要业务部门的充分参与,提出业务需求和审核确定数据转换加载的业务规则,提出数据质量和数据安全管理的要求。
三是渐进式的建设过程:EDW的建设应坚持渐进式的演变过程,逐步进行数据内容的完善;坚持先试点后推广稳步实施的策略。
四是以数据管控机制保障:EDW的建设应同时建立数据管控机制,对数据质量、数据安全、数据标准等进行管理和控制。
五是逐步完善数据标准:随着EDW的建设,逐步建立和完善EDW的数据标准,以支持企业级数据标准的不断完善。
EDW设计的技术含量看似不高,但要把至少数十、上百TB的数据进行加载、转换和存储,无论产品功能还是技术架构都有一定的难度。建设EDW前需要解决好两个关键问题。
首先是
,数据源梳理是数据仓库实施前的重要前提,企业级数据集成,必须建立在对数据源的全面、准确的了解和分析上。通过对业务源系统的深入了解,重点对业务系统应用状况、业务系统变革、业务系统可用性、业务系统数据质量对业务需求的满足度、业务系统加载优先级等进行详细分析。
其次是,数据架构设计是EDW设计的关键内容,在总体设计中,一方面应考虑技术架构设计的合理性和规范性,保证其高性能、灵活、可扩展;另一方面应考虑数据架构设计,即如何进行数据的存放、组织、传输、分发,如何形成统一集成的数据数据来源。如果忽略数据的规划与设计,则很难真正发挥EDW的作用,使得EDW只是变成一个数据中间落地点,只是增加数据延迟,耗费了数据存储空间,导致EDW建设失败。通过对数据架构的设计,要明确EDW数据分布策略、EDW数据分类、EDW数据模型、EDW数据标准、EDW数据集成方案、EDW数据管理方案等内容。
EDW系统为海量数据的运行系统,数据模型在EDW系统上虽进行了统一设计和实现,同一个数据模型为不同的应用提供数据服务,存在不同应用由不同项目组同时进行的情况,也存在建成的应用需要扩展应用或进行变更,因此EDW系统的管控工作非常重要。
----转自《计算机世界》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。