首页> 中国专利> 并行数据库和分布式文件系统上的数据分析平台

并行数据库和分布式文件系统上的数据分析平台

摘要

公开在大型分布式系统的上下文中进行数据分析处理,该大型分布式系统包括大规模并行处理(MPP)数据库和分布式存储层。在各种实施例中,接收数据分析请求。创建计划来生成对请求的响应。对多个分布式处理段中的每个指派计划的对应部分,其包括通过如在指派中指示的那样调用嵌入处理段中的一个或多个数据分析函数。

著录项

  • 公开/公告号CN104937552A

    专利类型发明专利

  • 公开/公告日2015-09-23

    原文格式PDF

  • 申请/专利权人 EMC公司;

    申请/专利号CN201480006056.6

  • 发明设计人 C.E.威尔顿;S.杨;

    申请日2014-02-14

  • 分类号G06F9/50(20060101);H03M13/05(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人杨美灵;姜甜

  • 地址 美国麻萨诸塞州

  • 入库时间 2023-12-18 11:09:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-20

    授权

    授权

  • 2015-10-21

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20140214

    实质审查的生效

  • 2015-09-23

    公开

    公开

说明书

对其它申请的交叉引用

该申请要求于2013年2月25日提交的题为INTEGRATION OF MASSIVELY PARALLEL PROCESSING WITH A DATA INTENSIVE SOFTWARE FRAMEWORK(利用数据密集型软件框架的大规模并行处理整合)的美国临时专利申请号61/769,043的优先权,其为了所有目的通过引用合并于此。

背景技术

分布式存储系统能够采用使数据跨大的商用硬件集群分布的方式存储数据库、文件和其它对象。例如,Hadoop?是用于使数据和关联计算(例如,应用任务的执行)跨大的商用硬件集群分布的开放源软件框架。

EMC Greenplum?为数据存储和分析提供大规模并行处理(MPP)架构。典型地,数据存储在段服务器中,其中的每个存储并且管理总体数据集的一部分。例如EMC Greenplum?等高级MPP数据库系统提供对巨大数据集进行数据分析处理的能力,其包括通过使用户能够使用熟悉和/或行业标准语言和协议(例如SQL)来规定要进行的数据分析和/或其它处理。数据分析处理的示例无限制地包括逻辑回归、多项逻辑回归、K均值聚类、基于关联规则的市场篮子分析、基于潜在狄利克雷的主题建模等。

尽管例如Hadoop?等分布式存储系统提供在商用硬件上可靠存储大量数据的能力,这样的系统至今未被优化来支持关于存储在它们中的数据的数据挖掘和分析处理。

附图说明

本发明的各种实施例在下列详细描述和附图中公开。

图1是图示大型分布式系统的实施例的框图。

图2是图示大型分布式系统的数据分析架构的实施例的框图。

图3是图示数据库查询处理过程的实施例的流程图。

图4是图示段服务器的实施例的框图。

图5是图示进行数据分析处理的过程的实施例的流程图。

具体实施方式

本发明可以采用许多方式实现,包括作为:过程;设备;系统;物质组成;计算机可读存储介质上包含的计算机程序产品;和/或处理器,例如配置成执行存储在存储器(其耦合于处理器)上和/或由该存储器提供的指令的处理器。在该说明书中,这些实现或本发明可采取的任何其它形式可称为技术。一般,公开的过程的步骤的顺序可在本发明的范围内更改。除非另外规定,例如描述为配置成执行任务的处理器或存储器等部件可实现为暂时配置成在指定时间执行任务的通用部件或被制造来执行任务的特定部件。如本文使用的,术语‘处理器’指一个或多个装置、电路和/或处理核,其配置成处理例如计算机程序指令等数据。

本发明的一个或多个实施例的详细描述在下文连同图示本发明的原理的附图一起提供。本发明连同这样的实施例描述,但本发明不限于任何实施例。本发明的范围仅由权利要求限制并且本发明包含许多备选、修改和等同物。在下列描述中阐述许多特定细节以便提供对本发明的全面理解。为了示例目的提供这些细节,并且本发明可根据权利要求实践而没有这些具体细节中的一些或全部。为了清楚起见,在与本发明有关的技术领域中已知的技术材料未被详细描述使得不会不必要地模糊本发明。

公开在大的分布式数据存储系统的上下文中提供高级数据分析能力。在各种实施例中,大规模并行处理(MPP)数据库系统适于关于存储在大的分布式存储层中的数据来管理并且提供数据分析,例如Hadoop?分布式存储框架的实现。数据分析处理的示例无限制地包括逻辑回归、多项逻辑回归、K均值聚类、基于关联规则的市场篮子分析、基于潜在狄利克雷的主题建模等。在一些实施例中,高级数据分析函数(例如统计和其它分析函数)嵌入多个段服务器(其包括系统的MPP数据库部分)中的每个中。在一些实施例中,为了执行数据分析任务(例如计算统计信息、进行优化等),主控节点选择段的子集来进行关联处理,并且向每个段发送要由该段进行的数据分析处理的指示,其包括例如要使用的嵌入式数据分析函数的识别,和定位和/或访问该段进行指示的处理所针对的数据的子集所需要的关联元数据。

图1是图示大型分布式系统的实施例的框图。在示出的示例中,大型分布式系统包括大的商用服务器集群。主控主机包括主要主控102和备用主控104。主要主控102负责接受查询;例如至少部分基于系统元数据106计划查询,系统元数据106在各种实施例中包括指示数据存储在系统内哪里的信息;将查询派送到段以供执行;以及收集来自段的结果。备用主控104是主要主控102的热备份。网络互连108用于在执行进程之间传送元组。数据库引擎的计算单元叫做“段”。大量段主机(其在图1中由主机110、112和114表示)中的每个可以具有多个段。段主机110、112、114上的段例如配置成执行由主要主控102指派的任务,例如关于存储在分布式存储层116(例如,Hadoop?或其它存储层)中的数据执行查询计划的指派部分。

当主控节点102接受查询时,根据查询中表的统计信息来解析并且计划它,例如基于元数据106。在计划阶段后,生成查询计划。查询计划切成许多片。在查询执行阶段中,对于每个片,选择一组段(典型地包括在段主机1至s上托管的段的子集)来执行片。在各种实施例中,组的大小可通过使用数据分布和可用资源的知识(例如,相应段上的工作负载,等)来动态确定。

在各种实施例中,数据分析工作或其它查询可使用SQL和/或任何其它规定语言或语法而完全或部分表达。主控节点(例如主要主控102)解析SQL或其它输入并且调用主控上可用的脚本或其它代码来进行顶级处理以进行请求的处理。在各种实施例中,由主控102生成的查询计划例如可对多个段中的每个识别要由该段处理的全局数据集的对应部分。识别要由特定段处理的数据的位置(例如,利用分布式存储层116)的元数据由主控102发送到段。在各种实施例中,分布式存储层116包括存储在Hadoop分布式文件系统(HDFS)实例中的数据并且元数据指示要由该段处理的数据在HDFS内的位置。主控102另外将对段指示要进行的特定处理。在各种实施例中,来自主控的指示可直接或间接指示在每个段处嵌入的要由段使用来进行所需处理的一个或多个分析函数。

图2是图示大型分布式系统的数据分析架构的实施例的框图。在各种实施例中,图2的数据分析架构200在大型分布式系统中实现,例如图1的大型分布式系统。在示出的示例中,数据分析架构200包括用户界面202,其使数据分析请求能够使用SQL来表达,例如如由规范所指示的。各种驱动函数204(例如,在该示例中具有模板化SQL的python或其它脚本)可被调用以执行例如迭代算法的外环、优化器调用等。在该示例中还包括python脚本的高级抽象层206提供例如迭代控制器、凸优化器等功能性。上层202、204和206与RDBMS内置函数208和/或与内环210和/或低级抽象层212(其在该示例中包括编译C++)交互来执行低级任务,执行经由用户界面202接收的任务需要这样的低级任务。访问数据以通过与底层RDBMS查询处理层214交互来进行分析计算和/或其它处理。在各种实施例中,在图2中示出的部件中的一个或多个可跨包括系统的节点实现,例如跨段或其它处理单元,该系统包括大型分布式系统(例如在图1中示出的)的MPP数据库部分。在各种实施例中,核心数据分析处理至少部分使用嵌入系统中所包括的段(或其它处理单元)中的每个中的函数来进行。在一些实施例中,函数包括“共享对象”或函数库,其包括编译C++或其它编译代码,例如Java或Fortran。当对段指派更宽泛任务的一部分时,段使用指派所牵涉的嵌入式函数以至少部分进行已经指派给段的数据分析和/或其它处理。

图3是图示数据库查询处理过程的实施例的流程图。在一些实施例中,主控节点(例如图1的主要主控102)实现图3的过程。在示出的示例中,接收查询(302)。查询的示例无限制地包括全部或部分表达为SQL语句集的高级数据分析请求。生成查询计划(304)。该计划分成多个片,并且对于每个片识别要参与查询计划的该片的执行的段的对应集(“群”)(306)。对于查询计划的每个片,选择来进行该片所需要的处理的段发送通信,其既包括要由该段执行的计划的可适用部分又包括接收段执行指派给该段的任务可需要的元数据(308)。在一些实施例中,查询计划中包括的元数据和/或发送到选择参与计划的该片的执行的相应段的其它通信包括来自中央元数据存储的元数据(例如,图1的元数据106),并且包括对段指示数据的位置的信息,关于该数据该段要进行查询计划片相关处理。在过去的方法中,段典型地将存储并且管理总体数据的对应部分,并且发送元数据来执行查询计划相关任务典型地将不是必需的。在一些实施例中,发送到所选的段的指派中包括的元数据和/或其它数据可指示完全或部分地要由段使用已经嵌入分布式系统中的段中的每个中的一个或多个数据分析函数进行的数据分析处理。从查询任务派送到的相应段接收查询结果,并且处理查询结果以例如在主控节点处生成对查询的主控或总体响应(310)。

图4是图示段服务器的实施例的框图。在各种实施例中,一个或多个段服务器(例如段服务器402)可部署在多个段主机(例如图1的段主机110、112和114)中的每个中。在示出的示例中,段服务器402包括通信接口404,其配置成例如经由网络互连(例如图1的互连108)接收网络通信,其包括由主控节点(例如图1的主要主控102)发送的指派。查询执行器406进行完成由主控节点在该示例中使用存储层接口408指派的任务以访问存储在分布式存储层(例如图1的分布式存储层116)中的数据所需要的处理。在嵌入分布式系统中的每个段服务器中的共享数据分析库410中包括的一个或多个数据分析函数可被调用来进行数据分析处理,如执行指派任务所需要的。可嵌入段服务器的函数的示例在各种实施例中无限制地包括:用户定义的函数(例如,用在规定范围内的值随机初始化阵列的UDF、使矩阵转置的UDF、使2维阵列解嵌套成1维阵列集的UDF,等)、阶跃函数和各种用户定义聚合器的最后的函数。

图5是图示进行数据分析处理的过程的实施例的流程图。在各种实施例中,图5的过程由段服务器响应于例如从主控节点接收指派而进行以执行数据分析查询计划的指派部分。在示出的示例中,接收指派任务(502)。嵌入指派任务的元数据用于根据需要访问数据来执行指派任务(504)。在段服务器或其它处理单元处嵌入的数据分析函数根据需要被调用来执行指派任务(506)。可嵌入段服务器的函数的示例在各种实施例中无限制地包括:进行Gibbs采样用于推理潜在狄利克雷分配的函数,或生成关联规则的函数。一旦完成处理,将结果返回例如从其接收指派的主控节点(508)。

使用本文公开的技术,可以在建立在可标度分布式文件系统上的高性能并行数据库系统上提供可标度且高性能数据分析平台。并行数据库和分布式文件系统的优势组合来克服大的数据分析的挑战。最后,在各种实施例中,用户能够使用熟悉的SQL查询来运行分析任务,并且底层并行数据库引擎将这些SQL查询转化成执行计划集,其根据数据局部性和负载平衡来优化。

尽管前面的实施例已经为了清楚理解的目的而相当详细地描述,本发明不限于提供的细节。存在实现本发明的许多备选方式。公开的实施例是说明性而非限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号