数据仓库项目建设中常会因为选择需要建立集中式还是分布式数据仓库而困扰不前。因方便集成、方便管理和方便使用等原因,集中式数据仓库环境还是比较流行。但是,在某些场合下我们需要建立分布式数据仓库环境。接下来我们就分享一下分布式数据仓库的点点滴滴。
一、初识分布式数据仓库
1、分布式数据仓库在架构上或技术上让数据存储在不同的节点上。以往的大型公司会花大量的资金购买计算性能和存储能力超强的小机,建设集中式的数据仓库。但是如今企业数据渠道采集多元化导致数据量迅速增加,继续购买小机建设数据仓库已经不是最明智的选择了。面对这样的困境,有的企业在架构上进行改变,采用“局部——全局仓库”架构来分担数据仓库的数据量。而有的企业则寻求技术上的突破,采用分布式技术构建数据仓库。分布式数据仓库是信息化时代未来的趋势。
2、首要问题认识开发分布式数据仓库项目的性质。只有了解“局部和全局”数据仓库的类型以及它们之间的体系结构关系,才能有效地选择采用合适的开发方法。因为不同方法设计开发问题差异较大,所以不同类型的数据仓库项目需要采用完全不同的方案。“局部和全局”数据仓库之间的关系有两种情况。一种是局部数据仓库之间是完全无关的,也就是局部数据仓库建立没有基于任何共有数据,他们的业务都是分离的,比如:采矿的数据仓库和汽车销售的数据仓库,他们之间没有业务上的关联关系。另一种是,局部数据仓库之间需要统一的信息进行关联的,局部数据仓库之间有业务贯穿其中。比如:某公司北美的销售数据仓库和亚太的销售数据仓库,他们之间贯穿了某一商品销售业务。
3、局部数据仓库包含的是在局部站点上的历史的和细粒度的数据。技术上为了降低中心数据仓库的存储和网络传输压力,将明细数据存放在局部数据仓库中。业务决策支撑上,全局数据仓库一般是企业高层的决策使用,高层决策者并不关心某一个节点上的历史数据和明细数据。局部数据仓库将较粗粒度的汇总数据传输给全局数据仓库,自身保存历史和明细数据。
4、分布式数据仓库环境成功的关键就是如何将局部操作型系统中的数据映射到全局数据仓库的数据结构中。上面说过明细数据和历史数据存放在局部数据仓库中只需要将汇总数据传回全局数据仓库,传回到全局数据仓库的数据不仅是单纯的存放,还需要支持全局数据仓库下钻的需求,这就需要一个很好地的元数据管理,记录中心数据仓库中的数据源。中心数据仓库的数据可以溯源,中心数据仓库的分析结果更具信任度和说服力。
5、正确对待分布式数据仓库中的数据冗余。如果局部数据仓库和全局数据仓库之间存在数据冗余是可以接受的,毕竟局部数据会通过汇总将计算结果传输给全局数据仓库。但是全局数据仓库存在数据冗余是不被接受的,全局数据仓库的数据冗余即表明没有正确定义不同级别的数据仓库所辖的范围。当全局数据仓库出现大量的数据冗余时,会给系统带来很多问题,比如:不一致的计算结果、不能很容易地创建新系统、操作复杂等代价问题。
6、分布式数据仓库在建立的时候既独立又有协作。独立是指分布式数据仓库在每一个局部仓库的数据需要尽可能的独立,不存在重叠。比如:非洲事务的数据单元不可能出现在欧洲的局部数据仓库中。协作主要体现在如遇到业务流程,需要协作完成流程的贯穿。
我们对分布式数据仓库有了初步的理解,下面我们看看如何进行分布式数据仓库的开发。
二、分布式数据仓库的开发
1、分布式数据仓库开发项目可以分为四种典型情况。首先,一个公司的业务是完全分离的、非集成的,对应的数据仓库可以由不同的开发小组独立创建。其次,各个开发小组负责共同创建同一个数据仓库的不同部分,为了总体上获得满意的集成效果,要求开发小组间进行密切协作。若开发项目不协调,则大量数据的冗余存储和处理将导致较大的浪费。再次,不同小组负责建立数据仓库不同级的数据,比如小组。最后,多个小组试图以非分布式方式建立数据仓库环境中数据当前细节级的不同部分。
2、采用分布式技术。数据仓库环境包含大量的数据,它们分布在多个存储设备上。分布式技术是当下最流行的处理大数据的技术,主要提前规划集群,将大块的数据切片为固定大小的小块数据存放在集群的各个节点上。当接收到请求之后,集群各个节点并行计算各自节点上的数据,然后将数据传输到中心节点进行汇聚,生成最终结果。分布式技术对数据仓库的存储能力和计算效率上都有非常大的提升。分布式技术理论上存储和计算能力可以横向添加集群节点无限扩展的。
3、独立演进的分布式数据仓库。数据仓库随着企业的发展以一种不协调的方式建立起来的。企业在初期发展中按需要先建立了一个管理销售的数据仓库,随着时间推移企业规模不断扩大,企业按需要再建立了另一个管理生产运行的数据仓库。这样建立的数据仓库在规划设计和采用的技术等方面容易前期与后期建设不协调。这就需要开发人员对数据仓库不断进行优化升级,才能减小新建设的数据仓库和原有数据仓库的不协调不兼容。
4、分布式数据仓库的元数据管理非常重要。上面我们也提到元数据的重要性,在整个分布式的企业数据仓库中元数据可以协调不同的局部数据仓库中的数据结构。毫无疑问,元数据是实现一致性和相容性的工具。
小结
建设分布式数据仓库不仅能够适应大量的数据储存计算需求,还能提升数据的安全性和准确性。分布式数据仓库处于新生儿,但星星之火可以燎原,我相信它会不断的发展壮大,支撑企业更多的业务需要。