欢迎来到学术参考网

银行海量数据仓库的架构研究

发布时间:2015-12-14 14:27

摘 要:电子商务模式在我国飞速发展,企业依靠从电子商务中得到的信息可以有效地进行客户数据深度挖掘,但随着数据的快速增长,面对海量数据仓库如何进行高性能大规模的数据处理能力已成为国内外数据挖掘、数据分析、海量运算的首要议题。本文通过对现有数据仓库现状的分析,提出现有数据仓库架构已无法满足海量数据加载及海量历史数据分析的问题,提出基于Shared Nothing架构体系的海量并行处理数据库(Greenplum数据库)概念及架构研究,解决如海量数据仓库数据量过大后处理能力低效、数据加载耗时较长等的问题。本研究主要结合金融系统特点,提出了比较完整的架构方案,研究的问题对于以后企业数据仓库的设计和部署有一定的实用价值。

关键词:海量数据库;大规模并行处理;Greenplum

1.问题的提出
  在当今社会的商务环境中,所有重要金融组织的运营都离不开大量的数据业务。用户的每次点击、来电、交易或各种商业活动都会生成大量数据。企业可以根据这些数据从而更好地了解及分析其客户、发现问题、提高运营水平、降低风险、或者创造商务价值。中国企业在数据运算基础设施上的成长极为惊人,在服务器、存储及软件等各方面投入都有大幅度的增长。随着市场的成熟,创建超大型数据分析及建立在分析基础上的商业机会的发掘,将成为各企业投资的重点。
因此,数据仓库技术的研究与应用很快得到了广泛的关注,成为计算机领域仅次于Internet研究的热点问题。 银行所有的数据都集中在总行数据中心,可以通过分析及挖掘数据对客户进行相关分析。 
  数据仓库对于“完全共享”体系来说,在对大量数据执行BI和分析任务时,需要进行大规模的全表扫描、多重复杂表连接、分类和聚合操作,这些操作都需要大量的资源。这是因为这些体系并不是为提供执行复杂BI和分析查询任务所需的并行处理功能而设计的,因此会出现查询计划器在管理并行机制时出错、缺少聚合I/O带宽、节点间数据传输效率低等性能瓶颈。
  Shared nothing完全不共享架构(shared nothing architecture)如图1所示是一种分布式计算架构。这种架构中的每一个节点( node)都是隔离且相互不影响,将数据分布在多个节点的不同数据库中。当用户需查询数据库时,如果涉及到不同节点中存储的表,那么这个查询将会被分解为两部分执行,一部分结果数据从节点1获得,另一部分结果从节点2获得,即每个节点处理本身的数据,然后将节点的部分结果回传给协调程序节点,协调程序将来自所有节点的所有结果合并成最终的结果集。而且整个系统中没有单点竞争,这种架构具有非常强的扩展性。

图1 Shared nothing架构
  Shared nothing架构能够有效保障数据库稳定增长,当随着事务数量的不断增加,增加额外的节点就可以保证每个事务的处理时间保持不变。数据库基于使用Shared nothing架构能够有效的降低竞争资源所造成的等待时间,从而提高数据库查询及分析的性能。    
3.银行海量数据仓库架构的实现
  Greenplum数据引擎是一种软件解决方案,如图2所示为新一代数据仓库和大规模分析处理功能提供支持。它支持SQL和MapReduce并行处理功能,具有并发型数据库的最佳性能。Greenplum数据引擎达到海量数据处理高性能的一个重要原因就是它可以充分利用每台节点服务器物理上全部磁盘I/O带宽。每台节点服务器I/O隔离且相互不影响。
  
图2 Greenplum数据库架构
   “完全不共享”体系将实际的数据存储设备分成一个个区段服务器上的小存储单元,每个单元都有一个连接本地磁盘的专用独立的、高带宽通道。区段服务器可以通过完全并行的方式处理每个查询,同时使用所有磁盘连接,并按照查询计划的要求在各区段间实现高效数据流动。在处理BI和分析任务时性能远远超过了通用数据库系统。
   当银行数据仓库或应用系统采用这种“完全不共享”体系的数据仓库,对于数据的分析及处理可以达到毫秒级,有利于银行业务的扩大发展及对于客户信息进行更多关联性分析。
4.结束语
  分析当今的社会的商务环境中,所有重要金融组织的运营都离不开大量的数据业务,随着分析的进一步深入及数据的快速增长,所需要的数据量越来越大。现有的数据仓库架构已无法满足海量数据加载及海量历史数据的分析应用。 针对现有数据仓库架构的缺点,无法使用到多个节点进行同步加载和处理,大数据量的读写也对底层的磁盘I/O造成了很大的负担,引入了Greenplum数据库和Shared nothing架构理念,为新一代数据仓库和大规模分析处理功能提供有效支持,并通过建设一套基于并行构架(MPP + ShareNothing系统构架设计,具有完全独立的计算节点)的数据仓库。即操作性数据存储,来实现并解决目前数据仓库架构存在的问题。
  在系统建设时考虑应包含整体系统不存在单点故障的要求,例如控制节点不存在单点故障,控制节点整体硬件应实现全冗余,包含CPU、内存、磁盘I/O,以及操作系统平台。由于数据仓库在数据读写的频度较高,因此对存储的可用性有较高的要求,因此在节点内部还应要求:磁盘读写层面不存在单点故障,存储和主机内置存盘应采用RAID 10 的方式,保证系统工作的连续性,应提供热备盘,在磁盘出现问题时可以及时替换。存储控制器不存在单点故障,所有的存储应采用双控制器结构,实现整台存储的冗余。
  Shared Nothing架构体系及大规模并行处理数据库系统理念较新,在国外已有不少金融机构(纳斯达克等)的数据仓库通过该体系建立,在国内目前只有小部分金融及证券领域有进行实施。本论文研究主要结合金融系统特点,提出架构的设计方案,并在一定范围内部署使用。本文中研究的问题对于以后企业数据仓库的设计和部署有一定的实用价值。

参考文献:
[1]张宜红.数据仓库的实现技术.计算机科学.1998
[2]王丽珍,周丽华,陈红梅等. 数据仓库与数据挖掘原理及应用. 科技出版社,2005.
[3]张维明.数据仓库原理与应用.北京电子工业出版社,2002.
[4]高军,李强.数据中心集中.中国金融电脑,2001.

作者简介:
作者简介:李志芳(1982-)女,湖南  本科 在读硕士,职称:讲师、  研究方向:信息技术,数据仓库,

上一篇:基于软件的精密机械元件质量检测机理研究

下一篇:我国计算机软件专利保护制度问题研究