数据立方( 四 )


数据立方

文章插图
B树索引图8 B树索引数据在入库的同时B树索引在记忆体中同步生成,B树中的叶子节点存储的是数据档案路径与记录在档案中的偏移量,如图所示,在B树中的叶子节点达到设定上限后,索引将被序列化到分散式档案系统之上,在根据条件进行单表查询的时,job被提交到并行计算框架,master节点首先分析该表的索引档案根据索引档案所在的节点将task传送到相应的节点,每个节点在查询本地的索引档案之后将符合条件的数据档案路径+偏移量打包成task根据数据档案位置进行再次分发,在数据档案中的记录查询出来之后将结果返回,如图8所示 。实验与评估实验环境实验环境搭建在两个机架的12台物理机组成的集群上 。每台物理机使用Ubuntu9.04 server系统,JDK版本为1.6.0.18,使用的Hadoop版本为2.0.0,将HDFS作为分散式存储环境 。软硬体配置如表1、表2所示 。
数据立方

文章插图
当前与数据立方类似的产品有分散式资料库和数据仓库,如:开源的HIVE、HadoopDB等,因此我们在数据入库、查询、查询的并发量以及线性扩展等多方面对数据立方、HIVE和HadoopDB做了对比实验 。数据入库实验数据立方能够快速进行数据入库同时实时建立索引,相对于基于传统资料库的HadoopDB来说具有天然的优势,而对于HIVE来说,虽然入库速度相差不大,但由于HIVE在数据入库的同时并没有建立索引使其在查询的过程中没有优势 。实验结果如下图所示:
数据立方

文章插图
数据入库实验单表查询实验:数据立方的每个节点支持200个并发查询,同时每个查询均是秒级回响,HadoopDB由于是SMS的中间层,由于MapReduce架构本身的心跳机制而导致了较大的延迟,所以是很难达到秒级回响的,HIVE的任务并发数取决于MapReduce的并发任务数,所以会更低 。实验结果如下图所示:
数据立方

文章插图
并发查询实验线性扩展实验:数据立方、HadoopDB和HIVE均支持线性扩展,而数据立方的扩展效率更高,即对系统的软硬体做扩展后,性能也能够达到类似线性的增长 。实验结果如下图所示:
数据立方

文章插图
线性扩展实验 意义:Hadoop是一种流行的MapReduce计算模型的开源实现,用于大规模数据集的并行化分析处理,并行资料库是在单机资料库基础之上发展而来的资料库集群,通过研究MapReduce技术、并行资料库技术以及混合技术探讨了一系列相关的大数据处理技术,更深一步探索了基于分散式档案系统的并行计算架构和分散式海量数据实时索引机制,以此为基础并辅以其他技术形成了一个支持非结构化、结构化和半结构化数据高效存储,支持离线数据分析和线上专题套用,支持结构化数据与非结构化、半结构化数据之间的複杂计算的实时云计算资料库数据立方 。数据一体机数据立方大数据一体机是一种处理海量数据的高效分散式软硬体集合的云处理平台,该平台可以从TB乃至PB级的数据中挖掘出有用的信息,并对这些海量信息进行快捷、高效的处理 。平台支持100GBps以上量级的数据流实时索引,秒级回响客户请求,秒级完成数据处理、查询和分析工作 。平台可以对入口数据进行实时索引,对数据进行分析、清理、分割,并将其存储在云存储系统上,不仅在入库和检索时具有非常高的性能优势,还可以支持数据深度挖掘和商业智慧型分析等业务 。系统架构cProc云处理平台是搭建在云存储系统上,对业务层直接提供对外开发接口和数据传输接口的分散式数据处理平台 。cProc云处理平台是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算 。