数据仓库系统需具备几个重要特性,如表1-1所示。
表1-1 数据仓库系统需要具备的特性
(一)高度可扩展性
一个明显的事实是,数据库不能依靠一台或少数几台机器的升级(scale-up纵向扩展)满足数据量的爆炸式增长,而是希望能方便地做到横向可扩展(scale-out)来实现此目标。
普遍认为shared-nothing无共享结构(每个节点拥有私有内存和磁盘,并且通过高速网络与其他节点互连)具备较好的扩展性。分析型操作往往涉及大规模的并行扫描、多维聚集及星形连接操作,这些操作也比较适合在无共享结构的网络环境下运行。Teradata即采用此结构,Oracle在其新产品Exadata中也采用了此结构。
(二)高性能
数据量的增长并没有降低对数据库性能的要求,反而有所提高。软件系统性能的提升可以降低企业对硬件的投入成本、节省计算资源,提高系统吞吐量。巨量数据的效率优化,并行是必由之路。1PB数据在50MB/S速度下串行扫描一次,需要230天;而在6000块磁盘上,并行扫描1PB数据只需要一小时。
(三)高度容错性
大数据的容错性要求在查询执行过程中,一个参与节点失效时,不需要重做整个查询,而机群节点数的增加会带来节点失效概率的增加。在大规模机群环境下,节点的失效将不再是稀有事件(根据谷歌报告,平均每个Map Reduce数据处理任务即有1.2个工作节点失效)。因此在大规模机群环境下,系统不能依赖于硬件来保证容错性,要更多地考虑软件容错。(www.xing528.com)
(四)支持异构环境
建设同构系统的大规模机群难度较大,原因在于计算机硬件更新较快,一次性购置大量同构的计算机是不可取的,而且也会在未来添置异构计算资源。此外,不少企业已经积累了一些闲置的计算机资源,此种情况下,对异构环境不同节点的性能是不一样的,可能出现“木桶效应”,即最慢节点的性能决定整体处理性能。因此,异构的机群需要特别关注负载均衡、任务调度等方面的设计。
(五)较低的分析延迟
分析延迟是分析前的数据准备时间。在大数据时代,分析所处的业务环境是变化的,因此也要求系统能动态地适应业务分析需求。在分析需求发生变化时,减少数据准备时间,系统能尽可能快地做出反应,快速地进行数据分析。
(六)较低的成本
在满足需求的前提下,使技术成本越低,其生命力就越强。值得指出的是,成本是一个综合指标,不仅仅是硬件或软件的代价,还应包括日常运维成本(网络费用、电费、建筑等)和管理人员成本等。据报告,数据中心的主要成本不是硬件的购置成本,而是日常运维成本,因此,在设计系统时需要更多地关注此项内容。
(七)向下兼容性
数据仓库发展的30年,产生了大量面向客户业务的数据处理工具(如Informactica、Data Stage等)、分析软件(如SPSS、R、MATLAB等)和前端展现工具(如水晶报表)等。这些软件是一笔宝贵的财富,已被分析人员所熟悉,是大数据时代中小规模数据分析的必要补充。因此,新的数据仓库需考虑同传统商务智能工具的兼容性。由于这些系统往往提供标准驱动程度,如ODBC、JDBC等,这项需求的实际要求是对SQL的支持。
总而言之,以较低的成本投入、高效地进行数据分析是大数据分析的基本目标。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。