文档介绍:曙光海量结构化数据分析平台解决方案曙光信息产业(北京)有限公司2012-05导言在数据爆炸的今天,从海量结构化数据中提取并挖掘出有用的信息逐渐成为众多行业的新的应用热点。而海量数据的分析中呈现出的高并发加载数据,海量存储,低并发查询,但每次查询的规模都非常高的特点。使得如何将数据库操作有效并行化成为海量数据分析首要需要解决的问题。虽然目前流行的Hadoop的map-reduce并行计算框架在很多互联网企业中得到了广泛的应用,但却由于其不支持SQL语句,使得难以与现有的基于SQL的关系型数据库的应用场景进行结合。曙光在海量数据分析和挖掘领域积累了多年的经验,和计算所智能中心合作研发出专门针对海量关系型数据库应用特点的关系型数据库系统DRAC,为海量数据分析系统提供高性能,高可扩展性的并行数据库系统,并且已成功部署在多个国家大型项目中。其底层采用无共享(shared-nothing)的oracle数据库节点作为数据节点,具有较好的扩展性和系统可靠性。DRAC软件将用户的操作透明地转化成对底层数据库的操作,而对用户呈现为单一的数据库系统。DRAC系统可根据数据的访问频度和重要性实施多级存储的方案,以降低整个系统的成本,提高系统的性价比。技术特点曙光集群并行数据库DRAC(Dawning’sRealApplicationCluster)是一种无共享(shared-nothing)结构的并行数据库管理系统。DRAC原是专为分析网络监控数据设计的并行数据库系统,现已部署在国家某大型项目、某市大型项目等多个系统中。它具有如下技术特点:DRAC采取目前主流的集群设计方法,具有性价比高、扩展性好等诸多优点。它直接将任意查询分解成操作于分区数据的子查询和汇总中间结果的后处理查询,用成熟的DBMS来实现两种查询的执行,从而避免了一般的分布式查询处理器为了通用而引入的复杂性。配合针对特定应用的分区策略,DRAC的方法能保证查询执行的效率。大任务全并行处理。DRAC采用单机数据库作为基本数据处理单元,将数据并行地写入这些单元数据库,查询时并行地从各个数据库中读取和处理这些数据。这种完全并行的处理极大地提高了系统存储数据的能力并缩短单个查询的完成时间。DDL操作也在各数据库节点上并行地执行。DRAC对外提供单一系统映像,用户使用类似ODBC或JDBC的接口提交SQL语句。这些操作被服务节点自动地并行执行。DRAC采取了功能分离的设计思路,像加载、查询等功能均可按需要配置,满足在线扩展的高可用要求。和OracleRAC等并行数据库不同,DRAC不需要光纤交换机和较高端的盘阵,硬件成本低。配合灵活部署和简易管理的工具,DRAC在大规模部署时有较高的性能价格比。系统架构下图给出了一种典型的DRAC配置。系统中的节点分为两大类:存储数据的数据库节点和提供并行数据管理功能的服务节点。后者包括:加载服务、查询服务、数据复制和数据定义服务。所有类型的节点个数均可根据容量和性能的需要而灵活配置。数据库节点是带独立存储系统(本地硬盘或磁盘阵列)的商品化服务器。节点上安装单机版的Oracle数据库管理系统。按照数据划分策略,每个数据库节点保存全部的复制数据和分片数据表的一部分。每个数据库节点上数据均可使用Oracle的索引、分区等特性。数据库的功能被分成加载、查询、数据复制、数据定义等服务,每种服