CN109408591A - 支持sql驱动的ai与特征工程的决策型分布式数据库系统 - Google Patents

支持sql驱动的ai与特征工程的决策型分布式数据库系统 Download PDF

Info

Publication number
CN109408591A
CN109408591A CN201811190144.2A CN201811190144A CN109408591A CN 109408591 A CN109408591 A CN 109408591A CN 201811190144 A CN201811190144 A CN 201811190144A CN 109408591 A CN109408591 A CN 109408591A
Authority
CN
China
Prior art keywords
sql
information
data
module
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811190144.2A
Other languages
English (en)
Other versions
CN109408591B (zh
Inventor
张德辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aowei Technology Co ltd
Original Assignee
Beijing Juyun Weizhi Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Juyun Weizhi Information Technology Co Ltd filed Critical Beijing Juyun Weizhi Information Technology Co Ltd
Priority to CN201811190144.2A priority Critical patent/CN109408591B/zh
Publication of CN109408591A publication Critical patent/CN109408591A/zh
Application granted granted Critical
Publication of CN109408591B publication Critical patent/CN109408591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于分布式数据库技术领域,特别涉及一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统。本发明提供一种新的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,该支持SQL驱动的AI与特征工程的决策型分布式数据库系统从结构上看,一套决策型数据库就可以胜任了,这样数据不再需要从数据库导出来,也不存在数据导出的安全隐患;从功能上看,决策型数据库具备智能特征工程的能力,这是现有分析型数据库加上二次开发的AI分析程序的方案所不具备的;从成本看,决策型数据库提供AI SQL这种SQL 2011标准的扩展SQL,减低了AI使用的门槛以及对AI编程开发人员的需求,节省了AI项目的成本。

Description

支持SQL驱动的AI与特征工程的决策型分布式数据库系统
技术领域
本发明属于分布式数据库技术领域,特别涉及一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统。
背景技术
现有的数据库在分析决策方面主要聚焦在OLAP(即Online AnalyticalProcessing,联机分析处理)领域,支持SQL标准的OLAP分析,包括聚集函数、窗口函数和立方体(Cube)查询,普遍对AI(即Artificial intelligence,人工智能)这类高级计算支持不足。MySQL 8.x、Teradata 16不支持AI计算;Oracle 18c支持少量的简单的数据挖掘函数,主要通过DBMS_DATA_MINING PL/SQL package以扩展函数的方式提供给用户;SQL Server2017主要采用让用户自定义Python存储过程的方式来实现AI的计算;PostgreSQL 11及其低版本衍生改进而成的新型分析型分布式数据库如Greenplum 5.x、Hawq 2.x(对应的商业版有OushuDB 3.x)均主要依赖于为PostgreSQL定制的开源机器学习库MADLib实现AI计算。
而现有的AI计算软件工具包(如Tensorflow,Keras,Scikit-learn)提供了较为丰富的AI计算函数库,涵盖AI计算的完整环节,包括特征工程(含特征提取、特征转换、特征选择)、模型训练、模型评估、参数调节、模型应用。由于这些AI函数库的使用对于非AI专家而言,异常繁杂、实践困难,使得AutoML(即Automated Machine Learning,自动化机器学习)的需求变得非常迫切,其中杰出的产品当以云服务形态的Google Cloud AutoML、面向Scikit-learn的AutoSklearn以及SMAC(即sequential model-based algorithmconfiguration,基于顺序模型的算法配置)系列(如SMAC v2in Java、SMAC v3in Python)。这些AutoML的工具包主要部分解决了超参数优化的问题,在智能视觉领域尤其是图像识别应用中取得较好的效果,大大提升了AI建模的效率。但是在特征工程方面比较依赖于人的决策,这主要在于现实中存在各种来源的数据,除了数据库的数据外还包括各种千变万化的数据来源(如互联网、excel等等),而作为通用的AI计算软件包很难做出一些假设去自动化特征工程,以任意一个数值型字段为例,究竟是采用以x为底的对数函数还是采用开n次方来做规范化是很难自动决策的,事实上特征处理的可选的函数空间本身就是无限维度的超级空间。
对于越来越依赖于复杂AI计算的企业决策型应用而言,由于无法只依赖现有的数据库解决问题,只好在AI计算的时候,从数据库导出企业数据,然后采用现有的AI计算软件工具包通过编程的方式来对企业数据进行AI计算。由于如上现状,目前企业依赖于复杂AI计算的决策分析通常采用数据库导出数据,然后再采用AI计算软件工具包进行二次开发。这种方式有如下明显的缺点:
(1)数据在模型构建阶段需要从数据库中导出来,在大数据的场景下,数据的移动成本很高,不仅仅耗时,而且需要额外的存储空间。
(2)数据从数据库导出来这个动作本身涉及到数据安全隐患,导出的数据脱离了数据库系统的安全审计,尤其是包含敏感数据一旦泄露后果不堪设想。
(3)现有的AI工具包,在设计时候由于考虑面向各种数据来源(不限于数据库,和关系型数据库强类型不同的是,这些来源的数据往往比较混乱,包括类型完整性缺失、没有约束准则等等),所以在特征工程这部分,比较依赖用户自己决定处理方式,这就要求用户具备非常专业的AI技能的同时还需投入较多的精力完成建模所需的特征工程。这样导致AI计算相关项目实施风险高、周期长。
发明内容
针对上述问题,本发明提供一种新的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,该新的支持SQL驱动的AI与特征工程的决策型分布式数据库系统不仅消除了原先额外的数据导出操作和相应的存储成本,同时也避免了数据导出引发的安全隐患。
本发明具体技术方案如下:
本发明提供一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,所述数据库系统包括:
AI SQL解析器,用于解析AI SQL并生成逻辑执行计划;
关系表及AI模型元数据库,用于存储元数据表信息;
执行计划优化器,用于将逻辑执行计划进行优化,并生成执行代价较小的物理执行计划;
特征工程知识库,用于存储系统内置的领域数据类型、与领域数据类型相匹配的特征处理算法的关联关系以及存储每个领域数据类型特征数据;
AI算法库,用于集成多种AI算法以及分布式计算引擎,其中数据在不同编程语言或AI库间高效的转换传输采用Apache Arrow作为公共数据层;
支持AI计算的分布式执行器,用于将物理执行计划分解成多个步骤进行运行;
支持AI模型存储的分布式存储器,用于管理和存储关系表或AI模型的数据信息。
本发明的有益效果如下:
本发明提供一种新的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,该支持SQL驱动的AI与特征工程的决策型分布式数据库系统从结构上看,一套决策型数据库就可以胜任了,这样数据不再需要从数据库导出来,也不存在数据导出的安全隐患;从功能上看,决策型数据库具备智能特征工程的能力,这是现有分析型数据库加上二次开发的AI分析程序的方案所不具备的;从成本看,决策型数据库提供AI SQL这种SQL 2011标准的扩展SQL,减低了AI使用的门槛以及对AI编程开发人员的需求,节省了AI项目的成本,另外决策型数据库功能上覆盖了完整的数据/AI模型管理、数据传统OLAP分析,AI复杂分析全过程,在充分利用整个集群整体资源(GPU,CPU和内存等等)的同时,对复杂的数据分析任务能够整体进行优化执行,相对于现有方案而言,消耗更少的硬件资源,从而节省了硬件成本;从效率看,决策型数据库的AI SQL更容易使用,智能特征工程提高了特征工程的效率,从而提高了整个AI项目实施的效率。
附图说明
图1为实施例1支持SQL驱动的AI与特征工程的决策型分布式数
据库系统的结构框图;
图2为实施例2AI SQL解析器的结构框图;
图3为实施例3关系表及AI模型元数据库的结构框图;
图4为实施例4执行计划优化器的结构框图;
图5为实施例5智能特征工程计算的结构框图;
图6为实施例6支持AI计算的分布式执行器的结构框图;
图7为实施例7支持AI模型存储的分布式存储器的结构框图;
图8为实施例2语法定义模块的结构框图。
具体实施方式
下面结合附图和以下实施例对本发明作进一步详细说明。
实施例1
本发明实施例1提供一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图1所示,AI SQL解析器1,用于解析AI SQL并生成逻辑执行计划;
关系表及AI模型元数据库2,用于存储元数据表信息;
执行计划优化器3,用于将逻辑执行计划进行优化,并生成执行代价较小的物理执行计划;
特征工程知识库4,用于存储系统内置的领域数据类型、与领域数据类型相匹配的特征处理算法的关联关系以及存储每个领域数据类型特征数据;
AI算法库5,用于集成多种AI算法以及分布式计算引擎,其中数据在不同编程语言或AI库间高效的转换传输采用Apache Arrow作为公共数据层,这样利用它可以高效率地集成多种AI算法,AI算法库可以实现相应的分布式数据库系统中运行的功能相对齐全;
支持AI计算的分布式执行器6,用于将物理执行计划分解成多个步骤进行运行;
支持AI模型存储的分布式存储器7,用于管理和存储关系表或AI模型的数据信息。
本发明由如上关键组件构成一个基于AI SQL和智能特征工程的决策型分布式数据库,其中AI SQL是在标准SQL语法基础上进行扩展而成的新型SQL,AI SQL中AI模型成为决策型数据库的主要管理对象之一,而AI相关计算成为决策型数据库的核心计算能力;用户采用AI SQL来向决策型数据库发送各种AI任务,比如智能特征工程、手动特征工程、创建AI模型、更新AI模型、AI模型评估、AI模型预测应用等等。
AI SQL经过解析之后形成逻辑执行计划,执行计划优化器对此逻辑执行计划进行优化最终生成物理执行计划。在AI SQL解析过程中AI SQL解析器会利用关系表及AI模型元数据库中的信息对AI SQL进行除了语法格式之外的正确性验证以及资源对象(比如某个关系表、某个AI模型、某个AI算法函数等等)定位,如果是创建表或AI模型操作,则AI SQL解析器还需进行重复性检查。
特别的是特征工程知识库中存放了各种领域数据类型(领域数据类型比一般数据类型更能描述业务领域的数据约束定义,比如领域类型年龄这种类型的一般数据类型是整数类型)与特征处理相关算法的匹配关系,为无需人工干预的智能特征工程的计算任务提供核心的支持。
本发明的主要优点有:
(1)数据不再需要从分析型数据库导出来给二次开发的AI分析程序,而是直接使用AI SQL在支持AI SQL的决策型数据库上进行AI计算。一方面消除了原先额外的数据导出操作和相应的存储成本,这在大数据场景下尤为有利;另外一方面也避免数据导出引发的安全隐患。
(2)AI SQL作为SQL 2011规范的扩展,和二次开发AI分析程序相比,由于SQL语言天生声明性的特征,这使得AI SQL远比其他如Python/Java/C/C++这些要更容易掌握和使用,一般熟练掌握SQL的数据分析师即能掌握,无需增加掌握Python/Java/C/C++这些AI编程开发人员。并且AI SQL使用决策型数据作为执行平台,和二次开发AI分析程序的过程相比,减少了编译、打包、部署的环节,测试工作也更简单,从而降低了AI分析项目的人员成本和实施周期。
(3)作为支持AI SQL的决策型数据库,AI模型成为其管理的核心对象之一,使得企业更容易形成AI模型作为数字无形资产的标准化管理规范。
(4)智能特征工程的功能,很大程度上降低了特征工程的门槛,即便是人工指定领域数据类型的情况下,由于数据分析师本身就掌握业务知识,识别领域数据类型相比较掌握各种特征工程处理函数以及其组合的适用场景而言已经是非常做到的事情了。
实施例2
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图2所示,与实施例1不同的是:所述AI SQL解析器1包括AI SQL解析模块11,所述AI SQL解析模块11包括:
词法分析单元110,用于将输入的AI SQL语句解析成令牌流;
语法分析单元111,用于将令牌流解析为语法树;
关系表解析单元112,用于将语法树中的关系表解析为具有元数据信息的关系表信息对象;
AI模型解析单元113,用于将语法树中AI模型解析为具有元数据信息的AI模型信息对象;
算法解析单元114,用于将语法树中函数的名称解析为具有完整类型信息的函数描述对象,所述函数包括AI计算函数;
解析完成单元115,用于根据上述解析得到解析好的语法树。
本实施例中所述AI SQL解析器1还包括逻辑计划生成模块12,所述逻辑计划生成模块12包括:
连接运算步骤生成单元120,用于根据SQL的JOIN操作生成关系代数的连接运算步骤;
集合运算步骤生成单元121,根据SQL的并/交/差/除集合操作生成相应的关系代数并/交/差/除运算步骤;
特征工程计算步骤生成单元122,用于根据特征工程处理算法生成对应的特征工程计算步骤,其中,若是采用智能特征工程计算,则构造一通过特征知识库进行匹配的系列计算步骤;
AI计算步骤生成单元123,用于根据AI计算函数生成对应的AI计算步骤,包括参数的自动转换以及根据AI算法库5构造逻辑执行计划的AI计算对象,其中AI算法函数为AISQL解析模块11解析后得到的具有完整类型信息的函数描述对象;
选择运算生成单元124,用于根据SQL的条件过滤信息生成关系代数选择运算;
投影运算生成单元125,用于根据SQL的<select list>信息生成关系代数投影运算,包括表达式计算的生成;
逻辑执行计划单元126,用于根据上述运算得到一个根据语法树信息创建的逻辑执行计划,所述逻辑执行计划为一系列关系代数运算或AI运算。
本发明中采用上述步骤实现AI SQL的解析以及生成逻辑执行计划,其中对于特征工程计算步骤生成单元,如果里面包含特征工程计算则生成对应特征工程处理算法的运算步骤,其中采用智能特征工程计算的,还需构造一个通过特征知识库进行匹配的系列运算步骤。
本发明中AI SQL的实现需要语法定义模块对语法进行定义,如图8所示,所述语法定义模块9包括:
AI模型创建的语法定义单元91,用于对AI模型创建的语法进行定义,
<period>::=.
<qualified identifier>::=同SQL 2011规范中定义
<SQL argument list>::=同SQL 2011规范中定义;
AI模型更新的语法定义单元92,用于对AI模型更新的语法进行定义,
<update model definition>::=UPDATE[<model scope>]MODEL<model name>
AS<model constructor name><SQL argument list>;
AI模型评估的语法定义单元93,用于对AI模型评估的语法进行定义,
<evaluate model definition>::=SELECT<select list>FROM<modelevaluation function name><SQL argument list>
<select list>::=同SQL 2011规范中定义
<model evaluation function name>::=[<schema name><period>]<qualifiedidentifier>
其中<SQL argument list>必须至少包含一个MODEL的直接名称或构造表达式(比如采用调用DECISION_TREE_TRAIN构造的一个临时匿名的MODEL);
手动指令领域数据类型的语法定义单元94,用于对手动指令领域数据类型的语法进行定义,
其中<basic AI-domain type>中均为系统内置在特征知识库中的领域数据类型,比如年龄、地址、邮箱、性别、手机号、身份证号、百分制评分、五分制评分、海拔等等。<userdefined AI-domain type>是用户扩展的领域数据类型;
AI模型应用的语法定义单元95,用于对AI模型应用的语法进行定义,<AI modelapply definition>:=SELECT<select list>FROM<model apply function name><SQLargument list>
<model apply function name>::=[<schema name><period>]<qualifiedidentifier>;
AI SQL其他语法定义单元96,用于对AL SQL的其他语法进行定义,其他和SQL2011规范语法兼容保持一致。
本发明中对AL SQL实现的语法进行定义,使得AI SQL远比其他如Python/Java/C/C++这些要更容易掌握和使用,一般熟练掌握SQL的数据分析师即能掌握,无需增加掌握Python/Java/C/C++这些AI编程开发人员。并且AI SQL使用决策型数据作为执行平台,和二次开发AI分析程序的过程相比,减少了编译、打包、部署的环节,测试工作也更简单,从而降低了AI分析项目的人员成本和实施周期。
实施例3
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图3所示,与实施例1不同的是:所述关系表及AI模型元数据库2包括;
关系表信息存储模块21,用于采用TABLES存放关系表基本信息;
AI模型信息存储模块22,用于采用MODELS存放AI模型基本信息;
字段信息存储模块23,用于采用COLUMNS存放通过关系表信息存储模块21和AI模型信息存储模块22得到的任意关系表所包含的字段信息;
视图定义信息存储模块24,用于采用VIEWS存放视图定义信息;
函数信息存储模块25,用于采用ROUTINES存放函数信息,包括除了SQL函数外的各个AI函数的定义信息;
函数参数信息存储模块26,用于采用PARAMETERS存放函数参数信息,所述函数参数信息为通过函数信息存储模块25和函数参数信息存储模块26得到的任意函数的参数列表信息;
认证信息存储模块27,用于采用AUTHORIZATIONS存放认证信息,包括用户和角色;
授权信息存储模块28,用于采用ROLE_TABLE_GRANTS、ROLE_MODEL_GRANTS、ROLE_COLUMN_GRANTS以及ROLE_ROUTINE_GRANTS分别存放表级授权信息、AI模型级别的授权信息、字段级的授权信息以及函数的授权信息。
本发明关系表及AI模型元数据库中采用TABLES等语法来存储各种元数据表信息,使得AI SQL更容易掌握与使用。
实施例4
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图4所示,与实施例1不同的是:所述执行计划优化器3包括逻辑执行计划优化模块31,所述逻辑执行计划优化模块31包括:
信息加载统计单元310,用于加载参与计算的关系表的统计信息,基本统计信息包括各个字段的最大值、最小值、平均值、不同值个数、空值个数等等,有的还包括直方图统计;
投影运算下推单元311,用于将投影操作下推到计算节点中,从而尽可能降低I/O的开销,属于基于规则的优化;
选择运算下推单元312,用于将作为条件过滤功能的选择运算下推到计算节点,从而尽可能降低I/O的开销,属于基于规则的优化;
连接顺序调整单元313,用于自等价的连接运算中利用挑选算法选择代价相对较小的一个作为新的连接顺序,所述等价的连接运算为多个关系表连接运算的多个等价但连接顺序不同的运算,挑选算法包括贪心算法、动态优化算法、遗传算法、基于深度增强学习的连接顺序调整算法,本实施例中优先选择基于深度增强学习的连接顺序调整算法,这个算法的优势在于其能自我动态优化,避免出现其他算法由于自身算法缺陷(主要因为基于局部最优假设)每次都产生同样低效的连接顺序,属于基于代价的优化;
子查询优化单元314,用于采用优化方法降低子查询的代价,所述优化方法包括子查询合并(将多个子查询合并成一个子查询)、子查询展开(将子查询改写为等价的连接运算)、聚焦子查询消除(先将子查询内的聚集函数上推,再将没有聚集函数的子查询转换为一个和复查询做左外连接运算);
AI运算优化单元315,用于采用优化方法减少调用次数和减少计算数据量,所述优化方法包括:将多个同样的AI运算的数据集先做并集操作然后再做AI运算以及下推选择运算到AI运算的子查询参数内。AI运算往往是非常耗费资源和时间的运算,而上面这些优化步骤主要面向通常的OLAP分析,对AI运算没有考虑,所以需要专门的一个步骤来做AI运算的在逻辑执行计划阶段的优化。实现优化AI运算的思路主要是两个方面,即减少调用次数和减少计算数据量,主要采用两种方法:一是AI运算合并,即将多个同样的AI运算的数据集先做并集操作然后在做AI运算,这样可以减少AI运算的调用次数;二是尽可能下推选择运算到AI运算的子查询参数内,比如外层的LIMIT操作可以下推到预测函数里面的子查询参数中
本实施例中所述执行计划优化器3还包括物理执行计划生成模块32,所述物理执行计划生成模块32包括:
派生统计信息加载单元320,用于加载派生统计信息,所述派生统计信息为根据基础表的统计信息以及对应的各项操作推算出来的;
连接物理执行方式选择单元321,用于选择连接物理执行方式,其中,可选择的物理执行方式包括基于块的嵌套循环连接方式(连接字段上有索引情况可以采用,通常将在连接字段上有索引的表放到内循环中)、排序归并连接方式(参与连接的表在连接字段上排序后在进行连接,适用于各种常见类型的连接)、散列连接方式(以连接字段为散列对象建立散列表后进行连接,适合于数据没有偏斜的情况)、复制小表并广播的连接方式(将小表复制到内存中并进行广播到大表所在数据节点);
关系表扫描方式选择单元322,用于选择关系表扫描方式,所述关系表扫描方式包括全表扫描和索引扫描,对于没有索引或者没有下推的选择运算的表一律采用全表扫描的方式;而存在选择运算字段上有索引的表,同时选中率相对较低的情况采用索引扫描;其他情况均采用全表扫描。在实际执行时候,采用分布式并行的扫描方式进行全表或索引扫描;
数据分片优先加载选择单元323,用于在明确执行计算节点位置的情况下,优先选择离它近的数据分片进行加载,其中,近的选择原则是同主机最优先、其次同机柜、再次同网关、最后其他;
AI计算执行方式选择单元324,用于在适合采用GPU进行加速的情况下,采用GPU进行AI计算的加速。在适合采用GPU进行加速的情况下,如果GPU资源够用则尽可能采用GPU进行AI计算的加速,否则只能采用CPU执行方式。
本发明中采用上述步骤将逻辑执行计划进行优化并生成物理执行计划。
实施例5
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图5所示,与实施例1不同的是:所述特征工程知识库4可以支持智能特征工程的计算,所述智能特征工程的计算包括:
特征列检查模块81,用于取出一个尚未处理的列,对之进行特征列检查,判断该列是否存在领域数据类型的标记,若存在,则向处理模块83发送指令,若不存在,则向识别模块82发送指令;
识别模块82,用于根据特征工程知识库4自动识别其领域数据类型,同时,向处理模块83发送指令;
处理模块83,用于对于已经存在领域数据类型的列,根据特征工程知识库4找到其对应的特征处理算法,采用对应的算法对该列进行处理;
管理模块84,用于判断是否还有未处理的列,若是,则向特征列检查模块81发送指令,若不是,则通过两两计算的方式,去除两个相关度高的列中一个,并生成最后的特征向量。
本实施例中根据上述步骤实现智能特征工程的计算。
实施例6
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图6所示,与实施例1不同的是:所述支持AI计算的分布式执行器6在实际操作时,可以调取AI算法库5中的分布式计算引擎实现物理执行计划的拆分及运行,其中分布式计算引擎包括ApacheSpark、Apache Flink和RISE Lab Ray,所述支持AI计算的分布式执行器6包括:
分布式环境计算资源分配模块61,用于在分布式环境中,分配对应的物理执行资源,所述资源包括GPU、CPU以及内存,所述资源的分配根据用户所述资源组的资源定义情况进行,用于执行物理计划准备工作阶段,在实际实现时候,可以采用Apache YARN、Kubernetes、Apache Mesos进行辅助的资源分配以及容器启动工作;
执行拆分模块62,用于将一个完整的执行拆分成多个执行步骤,各所述执行步骤之间有数据依赖关系,且每个执行步骤的结果都可以设置保存点,同时,每个执行步骤都可以单独重启;
执行步骤拆分模块63,用于将单个执行步骤内部拆分成多个子任务组进行,同一执行步骤内的子任务组之间可以存在同一计算节点上的数据依赖关系,为了尽可能分布式并行计算,提高执行的并发度;
执行步骤提交模块64,用于在物理执行计划拆分为多个执行步骤后,根据依赖关系逐个提交执行步骤,其中,提交时被其他步骤依赖的步骤优先于依赖它的执行步骤;
子任务提交模块65,用于在执行步骤拆分为多个子任务组后,且在提交了其中一执行步骤后,开始提交该执行步骤拆分出的子任务,其中,提交时被其他子任务依赖的子任务优先于依赖它的子任务。
本发明中对于执行步骤拆分模块,在分布式环境中,单个节点出现故障非常常见,这就需要整个物理计划的执行在中间某个节点出现单节点故障的时候可以比较容易进行恢复。比较可行的方法是把一个完整执行的拆分成多个执行步骤,执行步骤之间有数据依赖关系,每个执行步骤的结果可以设置保存点(save point),这样故障发生的时候无需重启整个执行,可以从保存点往后开始;另外每个执行步骤可以单独重启,这样在某个执行步骤由于某个单节点失败后,可以将次执行步骤在其他正常空闲的节点上重启即可。相邻的执行步骤是否可以合并为一个步骤取决于当他们在同一个节点上运行时候,后续的步骤是否仅仅依赖于同一节点上前驱步骤产生的数据,不依赖于其他步骤或是其他节点上某个步骤产生的数据。合并后的步骤在其内部形成数据依赖的子任务组。
实施例7
一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,如图7所示,与实施例1不同的是:所述支持AI模型存储的分布式存储器7包括多个数据管理节点71和数据工作节点72,其中,所述数据管理节点71的数目为1个、3个或5个,且数据管理节点71包括主管理节点和从管理节点,数据管理节点71的数目为3或5时,主管理节点的选举采用Raft算法或Apache Zookeeper的Zab算法,从管理节点在主管理节点挂掉的时候重现选举一名主管理节点。当只部署1个数据管理节点的情况下,不具备高可用特性,
数据管理节点71,用于管理关系表或AI模型数据元数据信息,包括数据片信息、每个数据片有多少个复本、这些数据片及其复本的位置情况、大小情况以及版本情况;
数据工作节点72,用于存储关系表或AI模型的数据片内容,每个工作节点上同时可以存放和本地数据分片配套的索引数据;一到多个数据工作节点负责存储关系表或AI模型的数据片的内容,每个数据工作节点上同时可以存放和本地数据分片配套的索引数据,这样在有选择运算(即条件过滤)下推的情况下,可以利用对应的索引加速本地数据的访问;每个数据片在数据写入的时候,先写到对应的主数据分片所在的数据工作节点上,然后再同步到其他数据工作节点的复本中。
以上所述实施例仅仅是本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

Claims (10)

1.一种支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述数据库系统包括:
AI SQL解析器(1),用于解析AI SQL并生成逻辑执行计划;
关系表及AI模型元数据库(2),用于存储元数据表信息;
执行计划优化器(3),用于将逻辑执行计划进行优化,并生成执行代价较小的物理执行计划;
特征工程知识库(4),用于存储系统内置的领域数据类型、与领域数据类型相匹配的特征处理算法的关联关系以及存储每个领域数据类型特征数据;
AI算法库(5),用于集成多种AI算法以及分布式计算引擎,其中数据在不同编程语言或AI库间高效的转换传输采用公共数据层,所述公共数据层包括Apache Arrow;
支持AI计算的分布式执行器(6),用于将物理执行计划分解成多个步骤进行运行;
支持AI模型存储的分布式存储器(7),用于管理和存储关系表或AI模型的数据信息。
2.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述AI SQL解析器(1)包括AI SQL解析模块(11),所述AI SQL解析模块(11)包括:
词法分析单元(110),用于将输入的AI SQL语句解析成令牌流;
语法分析单元(111),用于将令牌流解析为语法树;
关系表解析单元(112),用于将语法树中的关系表解析为具有元数据信息的关系表信息对象;
AI模型解析单元(113),用于将语法树中AI模型解析为具有元数据信息的AI模型信息对象;
算法解析单元(114),用于将语法树中函数的名称解析为具有完整类型信息的函数描述对象,所述函数包括AI计算函数;
解析完成单元(115),用于根据上述解析得到解析好的语法树。
3.根据权利要求2所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述AI SQL解析器(1)还包括逻辑计划生成模块(12),所述逻辑计划生成模块(12)包括:
连接运算步骤生成单元(120),用于根据SQL的JOIN操作生成关系代数的连接运算步骤;
集合运算步骤生成单元(121),根据SQL的并/交/差/除集合操作生成相应的关系代数并/交/差/除运算步骤;
特征工程计算步骤生成单元(122),用于根据特征工程处理算法生成对应的特征工程计算步骤,其中,若是采用智能特征工程计算,则构造一通过特征知识库进行匹配的系列计算步骤;
AI计算步骤生成单元(123),用于根据AI计算函数生成对应的AI计算步骤,包括参数的自动转换以及根据AI算法库(5)构造逻辑执行计划的AI计算对象,其中AI算法函数为AISQL解析模块(11)解析后得到的具有完整类型信息的函数描述对象;
选择运算生成单元(124),用于根据SQL的条件过滤信息生成关系代数选择运算;
投影运算生成单元(125),用于根据SQL的<select list>信息生成关系代数投影运算,包括表达式计算的生成;
逻辑执行计划单元(126),用于根据上述运算得到一个根据语法树信息创建的逻辑执行计划,所述逻辑执行计划为一系列关系代数运算或AI运算。
4.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述关系表及AI模型元数据库(2)包括;
关系表信息存储模块(21),用于采用TABLES存放关系表基本信息;AI模型信息存储模块(22),用于采用MODELS存放AI模型基本信息;
字段信息存储模块(23),用于采用COLUMNS存放通过关系表信息存储模块(21)和AI模型信息存储模块(22)得到的任意关系表所包含的字段信息;
视图定义信息存储模块(24),用于采用VIEWS存放视图定义信息;函数信息存储模块(25),用于采用ROUTINES存放函数信息,包括除了SQL函数外的各个AI函数的定义信息;
函数参数信息存储模块(26),用于采用PARAMETERS存放函数参数信息,所述函数参数信息为通过函数信息存储模块(25)和函数参数信息存储模块(26)得到的任意函数的参数列表信息;
认证信息存储模块(27),用于采用AUTHORIZATIONS存放认证信息,包括用户和角色;
授权信息存储模块(28),用于采用ROLE_TABLE_GRANTS、ROLE_MODEL_GRANTS、ROLE_COLUMN_GRANTS以及ROLE_ROUTINE_GRANTS分别存放表级授权信息、AI模型级别的授权信息、字段级的授权信息以及函数的授权信息。
5.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述执行计划优化器(3)包括逻辑执行计划优化模块(31),所述逻辑执行计划优化模块(31)包括:
信息加载统计单元(310),用于加载参与计算的关系表的统计信息,基本统计信息包括各个字段的最大值、最小值、平均值、不同值个数、空值个数以及直方图;
投影运算下推单元(311),用于将投影操作下推到计算节点中;
选择运算下推单元(312),用于将作为条件过滤功能的选择运算下推到计算节点;
连接顺序调整单元(313),用于自等价的连接运算中利用挑选算法选择代价相对较小的一个作为新的连接顺序,所述等价的连接运算为多个关系表连接运算的多个等价但连接顺序不同的运算,挑选算法包括贪心算法、动态优化算法、遗传算法、基于深度增强学习的连接顺序调整算法;
子查询优化单元(314),用于采用优化方法降低子查询的代价,所述优化方法包括子查询合并、子查询展开、聚焦子查询消除;
AI运算优化单元(315),用于采用优化方法减少调用次数和减少计算数据量,所述优化方法包括:将多个同样的AI运算的数据集先做并集操作然后再做AI运算以及下推选择运算到AI运算的子查询参数内。
6.根据权利要求5所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述执行计划优化器(3)还包括物理执行计划生成模块(32),所述物理执行计划生成模块(32)包括:
派生统计信息加载单元(320),用于加载派生统计信息,所述派生统计信息为根据基础表的统计信息以及对应的各项操作推算出来的;
连接物理执行方式选择单元(321),用于选择连接物理执行方式,其中,可选择的物理执行方式包括基于块的嵌套循环连接方式、排序归并连接方式、散列连接方式以及复制小表并广播的连接方式;
关系表扫描方式选择单元(322),用于选择关系表扫描方式,所述关系表扫描方式包括全表扫描和索引扫描;
数据分片优先加载选择单元(323),用于在明确执行计算节点位置的情况下,优先选择离它近的数据分片进行加载,其中,近的选择原则是同主机最优先、其次同机柜、再次同网关、最后其他;
AI计算执行方式选择单元(324),用于在适合采用GPU进行加速的情况下,采用GPU进行AI计算的加速。
7.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述特征工程知识库(4)可以支持智能特征工程的计算,所述智能特征工程的计算包括:
特征列检查模块(81),用于取出一个尚未处理的列,对之进行特征列检查,判断该列是否存在领域数据类型的标记,若存在,则向处理模块(83)发送指令,若不存在,则向识别模块(82)发送指令;
识别模块(82),用于根据特征工程知识库(4)自动识别其领域数据类型,同时,向处理模块(83)发送指令;
处理模块(83),用于对于已经存在领域数据类型的列,根据特征工程知识库(4)找到其对应的特征处理算法,采用对应的算法对该列进行处理;
管理模块(84),用于判断是否还有未处理的列,若是,则向特征列检查模块(81)发送指令,若不是,则通过两两计算的方式,去除两个相关度高的列中一个,并生成最后的特征向量。
8.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述支持AI计算的分布式执行器(6)在实际操作时,可以调取AI算法库(5)中的分布式计算引擎实现物理执行计划的拆分及运行,其中分布式计算引擎包括ApacheSpark、Apache Flink和RISE Lab Ray,所述支持AI计算的分布式执行器(6)包括:
分布式环境计算资源分配模块(61),用于在分布式环境中,分配对应的物理执行资源,所述资源包括GPU、CPU以及内存,所述资源的分配根据用户所述资源组的资源定义情况进行;
执行拆分模块(62),用于将一个完整的执行拆分成多个执行步骤,各所述执行步骤之间有数据依赖关系,且每个执行步骤的结果都可以设置保存点,同时,每个执行步骤都可以单独重启;
执行步骤拆分模块(63),用于将单个执行步骤内部拆分成多个子任务组进行,同一执行步骤内的子任务组之间可以存在同一计算节点上的数据依赖关系;
执行步骤提交模块(64),用于在物理执行计划拆分为多个执行步骤后,根据依赖关系逐个提交执行步骤,其中,提交时被其他步骤依赖的步骤优先于依赖它的执行步骤;
子任务提交模块(65),用于在执行步骤拆分为多个子任务组后,且在提交了其中一执行步骤后,开始提交该执行步骤拆分出的子任务,其中,提交时被其他子任务依赖的子任务优先于依赖它的子任务。
9.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述支持AI模型存储的分布式存储器(7)包括多个数据管理节点(71)和数据工作节点(72),其中,所述数据管理节点(71)的数目为1个、3个或5个,且数据管理节点(71)包括主管理节点和从管理节点,数据管理节点(71)的数目为3或5时,主管理节点的选举采用Raft算法或Apache Zookeeper的Zab算法,数据管理节点(71),用于管理关系表或AI模型数据元数据信息,包括数据片信息、每个数据片有多少个复本、这些数据片及其复本的位置情况、大小情况以及版本情况;
数据工作节点(72),用于存储关系表或AI模型的数据片内容,每个工作节点上同时可以存放和本地数据分片配套的索引数据。
10.根据权利要求1所述的支持SQL驱动的AI与特征工程的决策型分布式数据库系统,其特征在于,所述数据库系统还包括实现AL SQL的语法定义模块(9),所述语法定义模块(9)包括:
AI模型创建的语法定义单元(91),用于对AI模型创建的语法进行定义;
AI模型更新的语法定义单元(92),用于对AI模型更新的语法进行定义;
AI模型评估的语法定义单元(93),用于对AI模型评估的语法进行定义;
手动指令领域数据类型的语法定义单元(94),用于对手动指令领域数据类型的语法进行定义;
AI模型应用的语法定义单元(95),用于对AI模型应用的语法进行定义;
AI SQL其他语法定义单元(96),用于对AL SQL的其他语法进行定义。
CN201811190144.2A 2018-10-12 2018-10-12 支持sql驱动的ai与特征工程的决策型分布式数据库系统 Active CN109408591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811190144.2A CN109408591B (zh) 2018-10-12 2018-10-12 支持sql驱动的ai与特征工程的决策型分布式数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811190144.2A CN109408591B (zh) 2018-10-12 2018-10-12 支持sql驱动的ai与特征工程的决策型分布式数据库系统

Publications (2)

Publication Number Publication Date
CN109408591A true CN109408591A (zh) 2019-03-01
CN109408591B CN109408591B (zh) 2021-11-09

Family

ID=65467837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811190144.2A Active CN109408591B (zh) 2018-10-12 2018-10-12 支持sql驱动的ai与特征工程的决策型分布式数据库系统

Country Status (1)

Country Link
CN (1) CN109408591B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287212A (zh) * 2019-06-27 2019-09-27 浪潮商用机器有限公司 一种数据业务处理方法、系统及相关组件
CN110765077A (zh) * 2019-11-07 2020-02-07 中电福富信息科技有限公司 基于分布式文件系统统一管理ai模型的方法及系统
CN111832740A (zh) * 2019-12-30 2020-10-27 上海氪信信息技术有限公司 一种对结构化数据实时衍生机器学习用特征的方法
WO2020253775A1 (zh) * 2019-06-18 2020-12-24 第四范式(北京)技术有限公司 机器学习建模过程的实现方法和系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218691A (zh) * 2013-04-26 2013-07-24 吉林市赢科信息技术有限责任公司 一种嵌入式商业智能信息管理系统及管理方法
CN103309928A (zh) * 2012-03-13 2013-09-18 株式会社理光 存储和检索数据的方法和系统
CN105279286A (zh) * 2015-11-27 2016-01-27 陕西艾特信息化工程咨询有限责任公司 一种交互式大数据分析查询处理方法
CN106779402A (zh) * 2016-12-13 2017-05-31 深圳中广核工程设计有限公司 核电厂应急状态判断专家系统及方法
CN107294993A (zh) * 2017-07-05 2017-10-24 重庆邮电大学 一种基于集成学习的web异常流量监测方法
CN107368588A (zh) * 2017-07-24 2017-11-21 人教数字出版有限公司 一种异构资源同构化方法及装置
CN107402995A (zh) * 2016-09-21 2017-11-28 广州特道信息科技有限公司 一种分布式newSQL数据库系统及方法
CN107463564A (zh) * 2016-06-02 2017-12-12 华为技术有限公司 服务器中数据的特征分析方法和装置
US20180074877A1 (en) * 2016-09-12 2018-03-15 Microsoft Technology Licensing, Llc Intelligent listening system for agile delivery of cloud services
US20180157771A1 (en) * 2016-12-06 2018-06-07 General Electric Company Real-time adaptation of system high fidelity model in feature space
CN108304667A (zh) * 2018-02-11 2018-07-20 合肥市太泽透平技术有限公司 基于知识库数据统一管理的cea集成平台的一维中线单元

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309928A (zh) * 2012-03-13 2013-09-18 株式会社理光 存储和检索数据的方法和系统
CN103218691A (zh) * 2013-04-26 2013-07-24 吉林市赢科信息技术有限责任公司 一种嵌入式商业智能信息管理系统及管理方法
CN105279286A (zh) * 2015-11-27 2016-01-27 陕西艾特信息化工程咨询有限责任公司 一种交互式大数据分析查询处理方法
CN107463564A (zh) * 2016-06-02 2017-12-12 华为技术有限公司 服务器中数据的特征分析方法和装置
US20180074877A1 (en) * 2016-09-12 2018-03-15 Microsoft Technology Licensing, Llc Intelligent listening system for agile delivery of cloud services
CN107402995A (zh) * 2016-09-21 2017-11-28 广州特道信息科技有限公司 一种分布式newSQL数据库系统及方法
US20180157771A1 (en) * 2016-12-06 2018-06-07 General Electric Company Real-time adaptation of system high fidelity model in feature space
CN106779402A (zh) * 2016-12-13 2017-05-31 深圳中广核工程设计有限公司 核电厂应急状态判断专家系统及方法
CN107294993A (zh) * 2017-07-05 2017-10-24 重庆邮电大学 一种基于集成学习的web异常流量监测方法
CN107368588A (zh) * 2017-07-24 2017-11-21 人教数字出版有限公司 一种异构资源同构化方法及装置
CN108304667A (zh) * 2018-02-11 2018-07-20 合肥市太泽透平技术有限公司 基于知识库数据统一管理的cea集成平台的一维中线单元

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. KACHOURI等: "Feature extraction and relevance evaluation for heterogeneous image database recognition", 《 2008 FIRST WORKSHOPS ON IMAGE PROCESSING THEORY, TOOLS AND APPLICATIONS》 *
王立伟: "人工智能在计算机网络技术中的应用", 《电子技术与软件工程 》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253775A1 (zh) * 2019-06-18 2020-12-24 第四范式(北京)技术有限公司 机器学习建模过程的实现方法和系统
CN110287212A (zh) * 2019-06-27 2019-09-27 浪潮商用机器有限公司 一种数据业务处理方法、系统及相关组件
CN110765077A (zh) * 2019-11-07 2020-02-07 中电福富信息科技有限公司 基于分布式文件系统统一管理ai模型的方法及系统
CN110765077B (zh) * 2019-11-07 2022-06-28 中电福富信息科技有限公司 基于分布式文件系统统一管理ai模型的方法及系统
CN111832740A (zh) * 2019-12-30 2020-10-27 上海氪信信息技术有限公司 一种对结构化数据实时衍生机器学习用特征的方法

Also Published As

Publication number Publication date
CN109408591B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
Böse et al. Probabilistic demand forecasting at scale
CN107239335B (zh) 分布式系统的作业调度系统及方法
Ali et al. From conceptual design to performance optimization of ETL workflows: current state of research and open problems
CA2977042C (en) System and method for generating an effective test data set for testing big data applications
US9576028B2 (en) Managing data queries
CN109408591A (zh) 支持sql驱动的ai与特征工程的决策型分布式数据库系统
US8793243B2 (en) Rule-based extendable query optimizer
US11023443B2 (en) Collaborative planning for accelerating analytic queries
CN110088749A (zh) 自动本体生成
CN109241104B (zh) 决策型分布式数据库系统中aisql的解析器及其实现方法
US20130091184A1 (en) Correlating independent schema mappings
CN109408493A (zh) 一种数据源的迁移方法及系统
CN110019314A (zh) 基于数据项分析的动态数据封装方法、客户端和服务端
Bidoit et al. Processing XML queries and updates on map/reduce clusters
CN108255852B (zh) Sql执行方法及装置
Alexe et al. MapMerge: correlating independent schema mappings
US10831784B2 (en) Integration of relational calculation views into a relational engine
US11151134B2 (en) Method and system for efficient processing of polymorphic table functions
CN114238463A (zh) 一种用于分布式指标计算的计算引擎控制方法和装置
US10067980B2 (en) Database calculation engine integrating hierarchy views
US11216454B1 (en) User defined functions for database query languages based on call-back functions
US20200356885A1 (en) Service management in a dbms
Alexe et al. Mapmerge: Correlating independent schema mappings
US10521431B2 (en) Relational conversion of multiprovider operations in a calculation scenario for executing a query
US20230281212A1 (en) Generating smart automated data movement workflows

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 163, 1st Floor, Building 5, No. 8 Dongbei Wangxi Road, Haidian District, Beijing, 100193

Patentee after: Beijing Aowei Technology Co.,Ltd.

Address before: Room 701, Beichen Taiyue building, building 1, yard a 13, Beiyuan Road, Chaoyang District, Beijing 100101

Patentee before: BEIJING JUYUN WEIZHI INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address