文档详情

海量结构化数据分析平台解决方案.doc

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