CN108509453A - 一种信息处理方法及装置 - Google Patents

一种信息处理方法及装置 Download PDF

Info

Publication number
CN108509453A
CN108509453A CN201710109372.1A CN201710109372A CN108509453A CN 108509453 A CN108509453 A CN 108509453A CN 201710109372 A CN201710109372 A CN 201710109372A CN 108509453 A CN108509453 A CN 108509453A
Authority
CN
China
Prior art keywords
model
information
target information
target
kernel
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
CN201710109372.1A
Other languages
English (en)
Other versions
CN108509453B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710109372.1A priority Critical patent/CN108509453B/zh
Priority to PCT/CN2017/096736 priority patent/WO2018153033A1/zh
Publication of CN108509453A publication Critical patent/CN108509453A/zh
Priority to US16/541,728 priority patent/US20190370235A1/en
Application granted granted Critical
Publication of CN108509453B publication Critical patent/CN108509453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种信息处理方法及装置,涉及数据库技术领域。该方法应用于数据库管理系统中,所述数据库管理系统用于管理数据库,且包括内核,所述方法包括:所述内核获取目标信息;所述内核根据所述目标信息,确定所述目标信息的模型的创建信息;其中,所述目标信息的模型用于估算所述目标信息的执行代价,所述创建信息包括所述目标信息的模型的用途信息和训练算法信息;所述内核向外部训练器发送训练指令;其中,所述训练指令用于指示所述外部训练器根据所述目标信息和所述目标信息的模型的创建信息,对所述数据库中的数据进行机器学习训练,以得到所述目标信息的第一模型。

Description

一种信息处理方法及装置
技术领域
本申请涉及数据库领域,尤其涉及一种信息处理方法及装置。
背景技术
在执行数据库查询时,当接收到来自客户端的查询语句,例如,SQL(structuredquery language,结构化查询语言)查询语句时,需要对该查询语句进行语法分析、预编译、优化等步骤,继而生成执行结构。优化器是数据库系统中影响SQL语句的执行效率最重要的组件,用于输出编译时数据库系统认为代价最小的执行计划,运行时执行器将按照生成的执行计划进行数据操作。
在优化器选择最优执行计划过程中,代价估算是一个很重要的环节。在代价估算过程中,需要先根据查询语句进行模型训练,得到查询语句的训练模型,再根据训练模型进行代价估算。目前,代价估算常用的模型训练方法为:根据待优化信息,例如查询语句,从数据库中进行数据采样,再根据得到的采样数据进行模型训练,即收集查询语句在采样数据中的统计信息,该统计信息可以为基于直方图、基于常见值或者基于常见值频率的统计信息。
由于上述统计信息只是根据数据库中采样得到的一少部分数据训练得到的信息,因此使用上述统计信息进行代价估算时,得到的代价参数的准确率是比较低的,根据该代价参数生成的代价最小的执行计划也会存在一定的冗余性,进而根据执行计划进行数据操作时,也会导致相应的SQL语句的执行效率较低。若按照上述模型训练的方法直接对数据库中所有的数据进行模型训练,又会因为数据库的容量较大,而耗费大量的时间,影响数据操作的进度。
发明内容
本发明实施例提供一种信息处理方法及装置,用于提高代价参数的准确率,同时尽可能减少对数据操作进度的影响。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种信息处理方法,应用于数据库管理系统中,数据库管理系统用于管理数据库,且包括内核,该方法包括:内核获取目标信息;其中,目标信息包括以下信息中的至少一项:目标查询语句、查询计划信息、所述数据库中数据的分布或变化信息、以及系统配置与环境信息;内核根据目标信息确定目标信息的模型的创建信息,目标信息的模型用于估算目标信息的代价参数,该创建信息包括目标信息的模型的模型用途信息和训练算法信息;内核向外部训练器发送训练指令,训练指令用于指示外部训练器根据目标信息和目标信息的模型的创建信息,通过机器学习训练数据库中数据,得到目标信息的第一模型。可选的,训练指令可以包括目标信息和/或目标信息的模型的创建信息。
上述技术方案中,数据库管理系统对数据库进行查询优化时,内核可以根据获取的目标信息,确定目标信息对应的模型的创建信息,之后向外部训练器发送训练指令,外部训练器通过机器学习进行模型训练,从而得到准确度较高的第一模型,从而根据第一模型进行代价估算时,可以提高代价参数的准确率,进而提高数据库的执行效率,同时又不影响数据操作的进度。
在第一方面的一种可能的实现方式中,若内核中设置有模型信息库,模型信息库用于存储通过机器学习训练得到的模型的模型信息,该方法还包括:内核根据第一模型,更新模型信息库。上述可能的技术方案中,通过内核中存储的模型信息库将内核与外部训练器关联起来,且在模型训练完成后,将第一模型的模型信息存储在模型信息库中,使得内核在进行查询优化时,可以直接根据模型信息库存储的模型信息进行优化。
在第一方面的一种可能的实现方式中,内核根据目标信息确定目标信息的模型的创建信息,包括:内核根据目标信息创建目标信息的模型的创建信息;或者,内核从模型信息库中获取目标信息的模型的创建信息。上述可能的技术方案中,提供了两种可能的确定目标信息的模型的创建信息的方法,在目标信息的模型的创建信息不存在时可以为目标信息的模型进行创建,在第一模型的创建信息存在时可以从模型信息库中直接进行获取。
在第一方面的一种可能的实现方式中,内核根据第一模型,更新模型信息库,包括:若模型信息库中不存在目标信息的模型的模型信息,则内核将第一模型的模型信息添加在模型信息库中;若模型信息库中存在目标信息的模型的模型信息,则内核将模型信息库中的目标信息的模型的模型信息替换为第一模型的模型信息。上述可能的技术方案中,提供了两种可能的更新模型信息库的方法,在模型信息库中不存在目标信息的模型的模型信息,可以直接添加目标信息的模型的模型信息,在模型信息库中存在目标信息的模型的模型信息时,可以替换为第一模型的模型信息。
在第一方面的一种可能的实现方式中,内核根据目标信息确定目标信息的模型的创建信息之后,该方法还包括:内核将目标信息的模型的状态设置为无效状态;内核根据第一模型,更新模型信息库之后,该方法还包括:内核将目标信息的模型的状态设置为有效状态。上述可能的技术方案中,在内核触发外部训练器进行模型训练时,内核并不等待训练返回结果,而在将目标信息的模型的状态设置为无效状态,当模型训练完成后,将目标信息的模型的状态设置为有效状态,从而实现统计信息收集本身和模型训练的异步执行。
在第一方面的一种可能的实现方式中,该方法还包括:若内核确定模型信息库中存在目标信息的模型的模型信息,且目标信息的模型的状态为有效状态,则内核从模型信息库中获取目标信息的模型的模型信息;内核根据目标信息的模型的模型信息,确定目标信息的代价参数;其中,代价参数用于生成代价最小的执行计划。上述可能的技术方案中,内核通过机器学习训练得到的第一模型进行代价估算时,可以提高代价估算的准确率,进而生成代价最小的执行计划,根据该执行计划可以提高数据库管理系统的执行效率。
在第一方面的一种可能的实现方式中,该方法还包括:若满足预设条件,则内核从统计信息库中获取目标信息对应的统计信息;其中,统计信息库用于存储通过数据采样得到的目标信息的统计信息;其中,预设条件包括:模型信息库中不存在目标信息的模型的模型信息、或者模型信息库中存在目标信息的模型的模型信息且目标信息的模型的状态为无效状态;内核根据目标信息对应的统计信息,确定目标信息的代价参数;其中,代价参数用于生成代价最小的执行计划。上述可能的技术方案中,由于通过机器学习的方法进行模型训练时,需要的时间可能比较长,为了避免在模型训练未完成时内核的延时等待,内核可以统计信息库中获取目标信息对应的统计信息,提高数据库管理系统进行代价估算的速度。
在第一方面的一种可能的实现方式中,第一模型的模型信息包括以下信息中至少一个:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,第一模型的模型信息为与第一模型对应的标识元信息;或者,第一模型的模型信息用于指示与第一模型关联的用户定义函数。上述可能的技术方案中,提供了几种可能的第一模型的模型信息,内核通过这几种可能的信息,都可以获取第一模型,进而可以根据第一模型进行代价估算。
第二方面,提供一种数据库管理系统,数据库管理系统用于管理数据库,所述数据库管理系统包括:获取单元,用于获取目标信息;其中,目标信息包括以下信息中的至少一项:目标查询语句、查询计划信息、数据库中数据的分布或变化信息、以及系统配置与环境信息;确定单元,用于根据目标信息确定目标信息的模型的创建信息,目标信息的模型用于估算所述目标信息的代价参数,该创建信息包括目标信息的模型的模型用途信息和训练算法信息;发送单元,用于向外部训练器发送训练指令;其中,训练指令包括目标信息和目标信息的模型的创建信息,用于指示外部训练器根据目标信息和目标信息的模型的创建信息,通过机器学习训练数据库中数据,得到目标信息的第一模型。
在第二方面的一种可能的实现方式中,若数据库管理系统中设置有模型信息库,模型信息库用于存储通过所述机器学习训练得到的模型的模型信息,数据库管理系统还包括:更新单元,用于根据第一模型,更新模型信息库。
在第二方面的一种可能的实现方式中,确定单元,具体用于:根据目标信息创建目标信息的模型的创建信息;或者,根据目标信息从模型信息库中获取目标信息的模型的创建信息。
在第二方面的一种可能的实现方式中,更新单元,具体用于:若模型信息库中不存在目标信息的模型的模型信息,则将第一模型的模型信息添加在模型信息库中;若模型信息库中存在目标信息的模型的模型信息,则将模型信息库中的目标信息的模型的模型信息替换为所述第一模型的模型信息。
在第二方面的一种可能的实现方式中,数据库管理系统还包括:设置单元,用于在确定单元根据目标信息确定目标信息的模型的创建信息之后,将目标信息的模型的状态设置为无效状态;设置单元,还用于在更新单元根据所述第一模型,更新模型信息库之后,将目标信息的模型的状态设置为有效状态。
在第二方面的一种可能的实现方式中,获取单元,还用于若确定模型信息库中存在目标信息的模型的模型信息,且模型的状态为有效状态,则从模型信息库中获取目标信息的模型的模型信息;确定单元,还用于根据目标信息的模型的模型信息,确定目标信息的代价参数;其中,代价参数用于生成代价最小的执行计划。
在第二方面的一种可能的实现方式中,获取单元,还用于若满足预设条件,则从统计信息库中获取目标信息对应的统计信息;其中,统计信息库用于存储通过数据采样得到的目标信息的统计信息;预设条件包括:模型信息库中不存在目标信息的模型的模型信息、或者模型信息库中存在目标信息的模型的模型信息且目标信息的模型的状态为无效状态;确定单元,还用于根据目标信息对应的统计信息,确定目标信息的代价参数;其中,代价参数用于生成代价最小的执行计划。
在第二方面的一种可能的实现方式中,第一模型的模型信息包括以下信息中至少一个:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,第一模型的模型信息为与第一模型对应的标识元信息;或者,第一模型的模型信息用于指示与第一模型关联的用户定义函数。
第三方面,提供一种数据库服务器,包括内核和外部训练器;其中,内核用于执行上述第一方面或者第一方面的任一种可能的实现方式所提供的信息处理方法;外部训练器用于在接收到内核发送的训练指令时,根据目标信息和目标信息的模型的创建信息,对数据库中的数据进行机器学习训练,以得到目标信息的第一模型。
第四方面,提供一种数据库服务器,包括存储器、处理器、系统总线和通信接口,存储器中存储代码和数据,处理器与存储器通过系统总线连接,处理器运行所述存储器中的代码,使得数据库服务器执行上述第一方面或者第一方面的任一种可能的实现方式所提供的信息处理方法。
第五方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述第一方面或者第一方面的任一种可能的实现方式所提供的信息处理方法。
第六方面,提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的信息处理方法。
可以理解地,上述提供的任一种信息处理方法的装置、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本发明实施例提供的一种数据库系统的架构示意图;
图1A为本发明实施例提供的另一种数据库系统的架构示意图;
图1B为本发明实施例提供的又一种数据库系统的架构示意图;
图1C为本发明实施例提供的另一种数据库系统的架构示意图;
图2A为本发明实施例提供的一种数据库服务器的结构示意图;
图2B为本发明实施例提供的另一种数据库服务器的结构示意图;
图3为本发明实施例提供的一种神经网络的模型示意图;
图4为本发明实施例提供的一种信息处理方法的流程图;
图5为本发明实施例提供的一种创建第一模型的创建信息的示意图;
图6为本发明实施例提供的另一种信息处理方法的流程图;
图7为本发明实施例提供的又一种信息处理方法的流程图;
图8为本发明实施例提供的一种数据库管理系统执行信息处理方法的示意图;
图9为本发明实施例提供的一种数据库管理系统的结构示意图;
图10为本发明实施例提供的一种数据库服务器的结构示意图。
具体实施方式
本发明的实施例所应用的数据库系统的架构如图1所示,该数据库信系统包括数据库101和数据库管理系统(Database Management System,DBMS)102。
其中,数据库101是指长期存储在数据存储器(Data Store)中的有组织的数据集合,即按照一定的数据模型组织、存储和使用的相关联的数据集合,比如,数据库101可以包括一个或者多个表数据。
DBMS 102用于建立、使用和维护数据库101,以及对数据库101进行统一的管理和控制,以保证数据库101的安全性和完整性。用户可以通过DBMS 102访问数据库101中的数据,数据库管理员也通过DBMS 102进行数据库的维护工作。DBMS 102提供多种功能,可使多个应用程序和用户设备使用不同的方法,在同一时刻或不同时刻去建立,修改和询问数据库,应用程序和用户设备可以统称为客户端。DBMS 102所提供的功能可以包括以下几项:(1)数据定义功能,DBMS 102提供数据定义语言(Data Definition Language,DDL)来定义数据库结构,DDL用于刻画数据库框架,并可以被保存在数据字典中;(2)数据存取功能,DBMS 102提供数据操纵语言(Data Manipulation Language,DML),实现对数据库数据的基本存取操作,比如检索、插入、修改和删除;(3)数据库运行管理功能,DBMS 102提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效;(4)数据库的建立和维护功能,包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能;(5)数据库的传输,DBMS 102提供处理数据的传输,实现客户端与DBMS 102之间的通信,通常与操作系统协调完成。
具体地,图1A为单机数据库系统示意图,包括一个数据库管理系统和数据存储器(Data Store),该数据库管理系统用于提供数据库的查询和修改等服务,该数据库管理系统将数据存储到数据存储器中。在单机数据库系统中,数据库管理系统和数据存储器通常位于单一服务器上,比如一台对称多处理器(Symmetric Multi-Processor,SMP)服务器。该SMP服务器包括多个处理器,所有的处理器共享资源,如总线,内存和I/O系统等。数据库管理系统的功能可由一个或多个处理器执行内存中的程序来实现。
图1B为采用共享磁盘(Shared-storage)架构的集群数据库系统示意图,包括多个节点(如图1B中的节点1-N),每个节点部署有数据库管理系统,分别为用户提供数据库的查询和修改等服务,多个数据库管理系统存储有共享的数据在共享数据存储器中,并且通过交换机对数据存储器中的数据执行读写操作。共享数据存储器可以为共享磁盘阵列。集群数据库系统中的节点可以为物理机,比如数据库服务器,也可以为运行在抽象硬件资源上的虚拟机。若节点为物理机,则交换机为存储区网络(Storage Area Network,SAN)交换机、以太网交换机,光纤交换机或其它物理交换设备。若节点为虚拟机,则交换机为虚拟交换机。
图1C为采用无共享(Shared-nothing)架构的集群数据库系统示意图,每个节点具有各自独享的硬件资源(如数据存储器)、操作系统和数据库,节点之间通过网络来通信。该体系下,数据将根据数据库模型和应用特点被分配到各个节点上,查询任务将被分割成若干部分,在所有节点上并行执行,彼此协同计算,作为整体提供数据库服务,所有通信功能都在一个高宽带网络互联体系上实现。如同图1B所描述的共享磁盘架构的集群数据库系统一样,这里的节点既可以是物理机,也可以是虚拟机。
在本发明所有实施例中,数据库系统的数据存储器(Data Store)包括但不限于固态硬盘(SSD)、磁盘阵列或其他类型的非瞬态计算机可读介质。图1A-1C中虽未示出数据库,应理解,数据库存储在数据存储器中。所属领域的技术人员可以理解一个数据库系统可能包括比图1A-1C中所示的部件更少或更多的组件,或者包括与图1A-1C中所示组件不同的组件,图1A-1C仅仅示出了与本发明实施例所公开的实现方式更加相关的组件。例如,虽然图1B和1C中已经描述了4个节点,但所属领域的技术人员可理解成一个集群数据库系统可包含任何数量的节点。各节点的数据库管理系统功能可分别由运行在各节点上的软件、硬件和/或固件的适当组合来实现。
本领域技术人员根据本发明实施例的教导可以很清楚地理解,本发明实施例的方法应用于数据库管理系统,该数据库管理系统可应用于单机数据库系统、Shared-nothing架构的集群数据库系统、Shared-storage架构的集群数据库系统,或其它类型的数据库系统。
进一步地,参见图1,DBMS 102在执行数据库101查询时,通常需要对查询语句进行语法分析、预编译和优化等步骤,估算出数据库系统认为代价最小的执行方式,继而生成代价最小的执行计划,运行时执行结构体将按照生成的执行计划进行数据操作,以提高数据库系统的性能。DBMS 102在对查询语句进行代价估算时,需要收集查询语句的统计信息,并根据收集的统计信息进行代价估算。其中,收集统计信息的方法可以是通过机器学习进行模型训练得到的模型信息,或者是通过数据采样统计得到的统计信息,模型信息也可以称为统计信息。
其中,DBMS 102可以位于数据库服务器中,比如,该数据库服务器具体可以为图1A所述的单机数据库系统中的SMP服务器,或者图1B或图1C中所述的节点。具体的,如图2A所示,数据库服务器可以包括内核1021、以及独立于内核1021的且位于数据库服务器内部的外部训练器1022;或者,如图2B所示,数据库服务器包括内核1021,外部训练器1022位于数据库服务器之外。其中,内核1021是数据库服务器的核心,可以用于执行DBMS 102所提供的多种功能。内核1021可以包括实用程序10211和优化器10212。在数据库服务器在执行数据库101查询时,实用程序10211可以触发外部训练器1022通过机器学习进行模型训练,从而得到训练模型的模型信息。优化器10212可以根据外部训练器1022训练得到的模型信息进行代价估算,从而生成代价最小的执行计划,使得执行结构体按照生成的执行计划进行数据操作,以提高数据库系统的性能。
机器学习是指依赖于对现存数据的学习或者观察获取新的推理模型的过程。机器学习可以通过多种不同的算法进行实现,常见的机器学习的算法可以包括:神经网络(Neural Network,NN)和随机森林(Random Forest,RF)等模型。比如,神经网络可以包括前向反馈神经网络(Feed Forward Neural Network,FFNN)和循环神经网络(RecurrentNeural Network,RNN)。如图3所示,为一种神经网络的模型示意图,该模型可以包括输入层、隐层和输出层,每一层可以包括不同数量的神经元。
图4为本发明实施例提供的一种信息处理方法的流程图,该方法应用与上图1-图1C所示的任一数据库系统中,参见图4,该方法包括以下几个步骤。
步骤201:数据库管理系统的内核获取目标信息。其中,目标信息包括以下信息中的至少一项:目标查询语句、查询计划信息、数据库中数据的分布或变化信息、以及系统配置与环境信息。
目标查询语句可以是以结构化查询语言表示的SQL语句。在实际应用中,目标查询语句可以包括至少两个相关列数据,至少两个相关列数据可以为数据库管理系统管理的数据库中的数据。比如,以SQL语句为例,两个相关列数据可以表示为“C1=var1 AND C2=var2”,其中,C1和C2用于标识两个列数据,var1和var2分别表示两个列数据的值。
查询计划是指数据库对SQL语句进行编译和优化之后所生成的执行计划,机器学习可以根据大量样本查询语句的模式和特点所对应的最优执行计划的特点,发掘新语句的最优执行计划。
数据库中数据分布信息是指数据内容分布的散列程度,以及在分布式各节点上分布的情况;数据变化信息指数据的增删改的变化趋势和特征。机器学习可以通过学习数据的分布或变化样本,完成对内部参数或资源配置的优化。如本文实施例的选择率示意,就是对数据分布特征(多列数据的相关性)学习的一种实施例。
系统配置信息是指具体硬件的存储和计算能力指标,环境信息是指系统在不同时段或不同压力情况下的系统吞吐量及处理能力,机器学习可通过对样本配置与环境信息对数据库系统内部参数以及处理效率样本的学习,从而调整和判断新环境或未来时间的内部参数或处理能力。
具体的,目标信息可以是客户端发送的,也可以是来自数据库管理系统的本身的信息,本发明的实施例对此不做限定。比如,当客户端需要查询数据库时,客户端可以向数据库管理系统发送目标信息,从而使得数据库管理系统的内核接收到目标信息。该客户端可以是用户设备,客户端需要查询数据库,可以是指用户设备上的应用程序查询数据库。
步骤202:内核根据目标信息确定目标信息的模型的创建信息。其中,目标信息的模型用于估算目标信息的执行代价,该创建信息包括目标信息的模型的用途信息和训练算法信息。
其中,当内核确定目标信息对应的模型的创建信息时,内核可以查询是否存在目标信息的模型的创建信息。若目标信息对应的模型的创建信息不存在,表明数据库管理系统之前未查询过该目标信息,则内核可以根据该目标信息,创建该目标信息的模型的创建信息。若目标信息的模型的创建信息存在,表明数据库管理系统之前查询过该目标信息,则数据库管理系统可以根据该目标信息,直接获取目标信息的模型的创建信息,比如从模型信息库中进行获取。
另外,目标信息的模型的创建信息可以包括多个训练参数的信息,每个训练参数可以通过一个字段进行表示,从而目标信息的模型的创建信息可以包括多个字段。以目标信息的模型的创建信息不存在,内核根据目标信息,创建目标信息的模型的创建信息为例进行说明。其中,内核可以通过DDL定义目标信息的模型的创建信息。比如,目标信息包括目标查询语句,内核将目标查询语句对应的模型定义为第一模型M1,将第一模型M1的模型用途定义为选择率估算,以及将第一模型的训练算法确定为FFNN,则对应的DDL语句可以为:CREAT MODEL M1:SEL 2 FOR T1(C1,C2)USING FFNN;上述DDL语句中,SEL 2 FOR T1(C1,C2)表示M1的模型用途用于估算两个列数据C1和C2的选择率。之后,内核还可以为第一模型定义其他的字段,比如,模型权重、偏移量、模型训练时所使用的神经元激励函数、模型层数、神经元数、模型有效性信息等元信息。
比如,若第一模型的标识为ml,以第一模型ml的多个字段通过DDL定义为例,数据库管理系统为第一模型ml定义的多个字段可以如下表1所示,多个字段的数据类型可能相同,也可能不同。多个字段中的每个字段对应一个唯一标识。
表1第一模型_ml
需要说明的是,如上表1所示的第一模型的多个字段仅为示例性的,并不对本发明的实施例构成限定。另外,当数据库管理系统包括多个模型时,可以将多个模型的多个字段存储在一起,比如,存储在一个系统表中。
其中,目标信息的模型的用途信息用于指示该模型的用途类型,比如,以上述表1为例,目标信息的模型的用途信息为选择率估算,从而根据该模型可以得到该目标信息的选择率,基于该选择率进行代价估算。训练算法信息用于指示通过机器学习进行模型训练时所使用的算法及算法相关参数等,以上述表1为例,训练算法信息可以包括神经元激励函数、各层神经元个数。
进一步的,内核中可以设置有模型信息库,模型信息库用于存储通过机器学习训练得到的模型的模型信息。该模型信息可以是以下信息中的一项:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,与每个模型对应的标识元信息;或者,与每个模型关联的用户定义函数。
其中,如果训练结果参数信息和预测模型函数全部在数据库外部实现,标识元信息指存储在数据库系统中的对应到上述实现的唯一标识,优化器运算时的相关部分将根据此标识调用相应的外部实现。用户定义函数指预测模型函数以用户定义函数的方式实现,优化器运算时的相关部分将调用该函数。
另外,以模型信息库存储的模型信息为实际的模型为例,当数据库管理系统为目标信息创建目标信息的模型的创建信息时,数据库管理系统可以在模型信息库中创建一条新记录,该记录中包括可以包括数据库管理系统为目标信息的模型定义的多个字段,以及与每个字段对应的内容项信息。
在实际应用中,数据库管理系统在模型信息库中为目标信息的模型创建一条新记录时,可以为多个字段配置对应的内容项信息,且对于内容项信息在模型训练之前已知的字段可以直接在对应的位置填写内容项信息,对于内容项信息在模型训练之后已知的字段可以在对应位置填写默认值、或者为空。
比如,对于上述表1所示的第一模型的多个字段中,mlid、mlname、mltype和mlfunctype对应的内容项信息在模型训练之前是已知的,数据库管理系统可以直接将对应的内容项信息填写在对应的位置。mlweight、mlbias、mlactfunctype和mlneurons对应的内容项信息在模型训练之前是未知的,在模型训练完成之后才是已知的,则数据库管理系统可以按每个字段对应的数据类型填写不同的默认值、或者为空。
具体的,当数据库管理系统中设置有模型信息库时,数据库管理系统确定目标信息对应的第一模型的创建信息的过程可以如图5所示。其中,图5中的前两个步骤为模型在模型信息库的创建与注册过程,CREATE语句创建后首先将在模型信息库插入或更新(如已存在相同mlid)模型相关元信息,插入或更新的内容如图5中其余流程所示,会将所有新定义的字段填入模型相关的值。
以DDL语句为:“CREAT MODEL M1:SEL 2 FOR T1(C1,C2)USING FFNN”为例,则将“T1”填入mlrelid;将C1和C2的偏移号分别填入mllattnum和mlrattnum;将模型名字“M1”填入mlname;将神经元信息{6,4,1}填入mlneurons数组,表示输入层6个神经元、隐层有4个神经元、输出层有1个神经元;并根据隐层及输出层神经元激励函数填入mlactfunctype,如{SIGMOID,SIGMOID,SIGMOID,SIGMOID,SIGMOID};模型用途填入SEL2,表示两个列数据的选择率;模型的训练算法填入FFNN,也可以称为模型类型;将模型权重和模型的偏移量参数置为空,并将模型有效性置为N(无效状态)。
进一步的,在数据库管理系统通过上述步骤202确定目标信息对应的第一模型的创建信息之后,数据库管理系统可以将第一模型的状态设置为无效状态,具体可以是数据库管理系统的内核执行上述步骤202,并将第一模型的状态设置为无效状态。
步骤203:内核向外部训练器发送训练指令。
可选的,训练指令可以包括目标信息和目标信息的模型的创建信息。在实际应用中,也可以通过单独的指令或者消息将目标信息和目标信息的模型的创建信息发送给外部训练器,本发明实施例对此不做限定。
步骤204:当外部训练器接收到训练指令时,外部训练器数据库管理系统根据目标信息和目标信息的模型的创建信息,对数据库中数据进行机器学习训练,以得到目标信息的第一模型。
当内核确定第一模型的创建信息之后,内核可以向外部训练器发送训练指令,外部训练器在接收到训练指令时,外部训练器可以导入数据库中的数据作为训练对象,并以目标信息和目标信息的模型的创建信息作为输入,对数据库中的数据进行机器学习训练,从而输出目标信息的模型为第一模型。
进一步的,在外部训练器通过机器学习训练第一模型的过程中,内核还可以通过数据采样的方法,根据目标信息从数据库中进行数据采样,并根据采样得到的数据进行统计信息的收集,比如,内核可以得到基于直方图、基于常见值、以及基于频率的统计信息。
另外,上述模型训练的过程也可以由内核根据目标信息和目标信息的模型的创建信息,导入数据库中的数据,并通过机器学习训练第一模型,这样与现有技术通过数据采样的方法相比,也可以提高第一模型的准确度,进而提高估算的代价参数的准确度,提高数据库管理系统的执行效率。此外,在内核进行第一模型的训练过程中,内核还可以将第一模型的状态设置为训练状态,比如,将第一模型的状态设置为T(Training),训练状态也可以认为是无效状态。当内核完成第一模型的训练,得到第一模型的对应的训练参数的参数信息时,内核可以将第一模型的状态设置为有效状态。
在本发明的实施例中,数据库管理系统对数据库进行查询优化时,内核可以根据获取的目标信息,确定目标信息的模型的创建信息,之后向外部训练器发送训练指令,外部训练器通过机器学习进行模型训练,从而得到准确度较高的第一模型,从而根据第一模型进行代价估算时,可以提高代价参数的准确率,进而提高数据库的执行效率,同时又不影响数据操作的进度。另外,在内核触发外部训练器进行模型训练时,内核并不等待训练返回结果,而在将目标信息的状态设置为无效状态,当模型训练完成后,将目标信息的模型的状态设置为有效状态,从而实现统计信息收集本身和模型训练的异步执行。
进一步的,参见图6,若内核中设置有模型信息库,模型信息库用于存储通过所述机器学习训练得到的模型的模型信息,在步骤203之后,该方法还包括:步骤205-步骤206。
步骤205:内核获取第一模型。
内核可以通过多种不同的进行方法获取第一模型。具体的,外部训练器可以将第一模型发送给内核,从而内核接收到第一模型。或者,外部训练器将第一模型存储在内核以外的指定文件(比如,配置文件)中,内核可以从指定文件中读取第一模型,比如,内核可以根据第一模型的模型标识从指定文件中读取第一模型。
步骤206:内核根据第一模型的模型信息,更新模型信息库。
其中,若模型信息库中不存在目标信息的模型的模型信息,则内核将第一模型的模型信息添加在模型信息库中;若模型信息库中存在目标信息的模型的模型信息,则内核将模型信息库中的目标信息的模型的模型信息替换为第一模型的模型信息。
另外,模型信息库中存储的通过机器学习训练得到的模型的模型信息,可以是实际的模型,也可以是与模型对应的标识元信息,又或者与模型关联的用户定义函数。以第一模型为例,则模型信息库中存储的第一模型的模型信息可以为以下信息中至少一个:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,第一模型的模型信息为与第一模型对应的标识元信息;或者,第一模型的模型信息为与第一模型关联的用户定义函数。对于上述与模型信息对应的标识元信息,或者与模型信息关联的用户定义函数中任一种情况,内核都可以获取得到第一模型。
在本发明的实施例中,当数据库系统包括内核和外部训练器时,且由外部训练器进行模型训练时,通过内核中存储的模型信息库将内核与外部训练器关联起来,且在第一模型训练完成后,将第一模型的模型信息存储在模型信息库中,使得内核在进行查询优化时,可以直接根据模型信息库存储的模型信息进行优化。
进一步的,参见图7,当内核对目标信息进行代价估算时,内核可以根据图7所示的方法进行代价估算。其中,图7所示的代价估算的过程与上述步骤201-步骤206不分先后顺序。
步骤207:内核根据目标信息查询模型信息库中是否存在目标信息的模型的模型信息。
其中,当内核对目标信息进行代价估算时,也可以将内核称为优化器,优化器根据目标信息查询模型信息库,以确定模型信息库中是否存在目标信息的模型的模型信息。这里的目标信息的模型的模型信息与上述步骤206中的一致,具体参见上述阐述,本发明的实施例在此不再赘述。
步骤208:若模型信息库中存在目标信息的模型的模型信息,则根据目标信息的模型的状态确定目标信息的模型的有效性。
当优化器查询模型信息库,且确定模型信息库中存在目标信息的模型的模型信息时,则优化器可以根据目标信息的模型的状态确定目标信息的模型的有效性。具体的,优化器可以根据目标信息的模型的模型信息中的状态信息,确定目标信息的模型的有效性。比如,若第一模型的状态信息指示第一模型为训练状态,优化器可以确定目标信息的模型的状态为无效状态;若第一模型的状态信息指示第一模型为训练完成或者有效的状态,优化器可以确定目标信息的模型的状态为有效状态。
其中,第一模型为无效状态,是指第一模型当前无法用于进行代价参数的估算,比如,第一模型处于训练状态或者更新状态时,都可以确定第一模型的状态为无效状态。第一模型的状态为有效状态,是指第一模型当前可用于进行代价参数的估算,即第一模型训练已完成、或者模型更新已完成等。
步骤209a:若确定目标信息的模型的状态为有效状态,则从模型信息库中获取目标信息的模型的模型信息。
当优化器确定目标信息的模型的状态为有效状态时,优化器可以从模型信息库中获取目标信息的模型的模型信息。比如,优化器可以从模型信息库中获取目标信息的模型的模型权重、偏移量等模型信息。
或者,优化器在某一时间确定目标信息的模型的状态为无效状态,比如,第一模型处于模型训练过程中,则优化器可以进行延时等待,直到第一模型的状态由无效状态变为有效状态之后,再从模型信息库中获取第一模型的模型信息。
步骤210a:根据目标信息的模型的模型信息,确定目标信息的代价参数。
当优化器获取目标信息的模型的模型信息之后,优化器可以根据目标信息的模型的模型信息,进行代价参数的估算。比如,当目标信息为两个相关列数据,第一模型的模型用途为选择率估算时,优化器可以根据第一模型的模型信息进行选择率估算。
进一步的,参见图7,在步骤207之后,若满足预设条件,该方法还包括:步骤209b-步骤210b。其中,预设条件为模型信息库中不存在目标信息的模型的模型信息、或者模型信息库中存在目标信息的模型的模型信息且目标信息的模型的状态为无效状态。
步骤209b:从统计信息库中获取目标信息对应的统计信息,统计信息库用于存储通过数据采样得到的查询信息的统计信息。
当优化器查询模型信息库时,若确定模型信息库中不存在目标信息的模型的模型信息,则表示数据库管理系统未通过机器学习对目标信息的模型进行模型训练;或者,若模型信息库中存在目标信息的模型的模型信息且目标信息的模型的状态为无效状态,则表示数据库管理系统以前通过机器学习对目标信息的模型进行过模型训练,但是当前目标信息的最新的模型还在训练或者更新中。
由于通过机器学习的方法进行模型训练时,需要的时间可能比较长,为了进一步避免优化器的延时等待,优化器可以统计信息库中获取目标信息对应的统计信息,统计信息库可以是通过传统的数据采样的方法,训练得到并存储的目标信息的统计信息。
步骤210b:根据目标信息对应的统计信息,确定目标信息对应的代价参数。
其中,目标信息对应的统计信息可以是基于直方图、基于常见值、或者基于频率的统计信息,当优化器从统计信息库中获取目标信息对应的基于直方图、基于常见值、或者基于频率的统计信息时,优化器可以根据该统计信息,估算目标信息对应的代价参数,从而确定最小的代价参数。
进而,当优化器根据上述步骤210a或者步骤210b,确定目标信息对应的代价参数之后,优化器可以根据估算的最小代价参数,生成对应的执行计划,并在运行时使得执行结构体按照代价最小的执行计划进行数据操作,从而提供数据库系统的性能。
具体的,如图8所示,为数据库管理系统执行本发明实施例提供的方法的流程示意图。图8中以第一模型M1、两列选择率(SEL2)和模型的训练算法为FFNN为例进行说明。
需要说明的是,图8所示的数据库管理系统的内部架构还可以用于执行输入/输出(Input/Output,I/O)优化时的模型训练和代价估算、以及执行中央处理单元(CentralProcessing Unit,CPU)优化时的模型训练和代价估算等等。
在本发明的实施例中,由于通过机器学习进行的训练模型时间往往很长,将内核和外部训练器独立设置,且由外部训练器进行模型训练,从而在收集统计信息时,内核触发外部训练器进行模型训练,并不需要等待训练返回结果,实现了统计信息收集本身和模型训练的异步,缩短了统计信息的收集过程,同时在模型训练过程中不需要占用内核资源,在模型训练完成后异步更新模型信息库中存储的模型的模型信息,从而在保证根据最新的模型信息计算的代价参数具有较高的准确性的同时,也将内核的代价选择的代价本身降到最小。
上述主要从设备的角度对本发明实施例提供的方案进行了介绍。可以理解的是,设备,例如数据库管理系统为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的设备及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明的实施例可以根据上述方法示例对数据库管理系统进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明的实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的数据库管理系统的一种可能的结构示意图,数据库管理系统300包括:获取单元301、确定单元302和发送单元303。其中,获取单元301用于执行图4和图6中的步骤201、以及图6中的步骤205;确定单元302用于执行图4和图6中的步骤202,以及图8中的步骤207-步骤210b;发送单元303用于执行图4和图6中的步骤203。进一步的,数据库管理系统300还可以包括更新单元304;其中,更新单元304用于执行图6步骤206。数据库管理系统300还可以包括:设置单元305;其中,设置单元305用于执行将目标信息的模型的状态设置为无效状态的步骤、和/或将目标信息的模型的状态设置为有效状态的步骤。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在硬件实现上,上述数据库管理系统可以为数据库服务器,上述确定单元302、更新单元304和设置单元305可以为处理器,获取单元301可以为接收器,发送单元304可以为发送器,发送器与接收器可以构成通信接口。
图10所示,为本发明的实施例提供的上述实施例中所涉及的数据库服务器310的一种可能的逻辑结构示意图。数据库服务器310包括:处理器312、通信接口313、存储器311以及总线314。处理器312、通信接口313以及存储器311通过总线314相互连接。在发明的实施例中,处理器312用于对数据库服务器310的动作进行控制管理,例如,处理器312用于执行图4中的步骤202、图6中的步骤202和步骤206,以及图8中的步骤207-步骤210b,和/或用于本文所描述的技术的其他过程。通信接口313用于支持数据库服务器310进行通信。存储器311,用于存储数据库服务器310的程序代码和数据。
其中,处理器312可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线314可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行图4、图6或图7所示的信息处理方法。
在本发明的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施图4、图6或图7所示的信息处理方法。
在本发明的实施例中,数据库服务器在接收到目标信息时,确定目标信息对应的第一模型的创建信息,以及根据目标信息和第一模型的创建信息,通过机器学习训练第一模型,得到第一模型,从而通过机器学习根据数据库中的所有数据进行模型训练,得到准确度较高的训练参数的参数信息,进而基于该参数信息进行代价估算时,可以将数据库服务器的执行代价降到最低,提高数据库服务器根据代价最低的执行计划进行数据操作时的执行效率。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种信息处理方法,其特征在于,应用于数据库管理系统,所述数据库管理系统用于管理数据库,且包括内核,所述方法包括:
所述内核获取目标信息;其中,所述目标信息包括以下信息中的至少一项:目标查询语句、查询计划信息、所述数据库中数据的分布或变化信息、以及系统配置与环境信息;
所述内核根据所述目标信息确定所述目标信息的模型的创建信息;其中,所述目标信息的模型用于估算所述目标信息的代价参数,所述创建信息包括所述目标信息的模型的用途信息和训练算法信息;
所述内核向外部训练器发送训练指令;其中,所述训练指令用于指示所述外部训练器根据所述目标信息和所述目标信息的模型的创建信息,对所述数据库中数据进行机器学习训练,以得到所述目标信息的第一模型。
2.根据权利要求1所述的方法,其特征在于,所述内核中设置有模型信息库,所述模型信息库用于存储通过所述机器学习训练得到的模型的模型信息,所述方法还包括:
所述内核根据所述第一模型,更新所述模型信息库。
3.根据权利要求2所述的方法,其特征在于,所述内核根据所述目标信息确定所述目标信息的模型的创建信息,包括:
所述内核根据所述目标信息创建所述目标信息的模型的创建信息;或者,
所述内核根据所述目标信息,从所述模型信息库中获取所述目标信息的模型的创建信息。
4.根据权利要求2所述的方法,其特征在于,所述内核根据所述第一模型,更新所述模型信息库,包括:
若所述模型信息库中不存在所述目标信息的模型的模型信息,则所述内核将所述第一模型的模型信息添加在所述模型信息库中;
若所述模型信息库中存在所述目标信息的模型的模型信息,则所述内核将所述模型信息库中的所述目标信息的模型的模型信息替换为所述第一模型的模型信息。
5.根据权利要求2-4任一项所述的方法,其特征在于,
所述内核根据所述目标信息确定所述目标信息的模型的创建信息之后,所述方法还包括:所述内核将所述目标信息的模型的状态设置为无效状态;
所述内核根据所述第一模型,更新所述模型信息库之后,所述方法还包括:所述内核将所述目标信息的模型的状态设置为有效状态。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述内核确定所述模型信息库中存在所述目标信息的模型的模型信息,且所述模型的状态为有效状态,则所述内核从所述模型信息库中获取所述目标信息的模型的模型信息;
所述内核根据所述目标信息的模型的模型信息,确定所述目标信息的代价参数;其中,所述代价参数用于生成代价最小的执行计划。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若满足预设条件,则所述内核从统计信息库中获取所述目标信息对应的统计信息;其中,所述统计信息库用于存储通过数据采样得到的所述目标信息的统计信息;所述预设条件包括:所述模型信息库中不存在所述目标信息的模型的模型信息、或者所述模型信息库中存在所述目标信息的模型的模型信息且所述目标信息的模型的状态为无效状态;
所述内核根据所述目标信息对应的统计信息,确定所述目标信息的代价参数;其中,所述代价参数用于生成代价最小的执行计划。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述第一模型的模型信息包括以下信息中至少一个:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,所述第一模型的模型信息为与所述第一模型对应的标识元信息;或者,所述第一模型的模型信息用于指示与所述第一模型关联的用户定义函数。
9.一种数据库管理系统,其特征在于,所述数据库管理系统用于管理数据库,所述数据库管理系统包括:
获取单元,用于获取目标信息;其中,所述目标信息包括以下信息中的至少一项:目标查询语句、查询计划信息、所述数据库中数据的分布或变化信息、以及系统配置与环境信息;
确定单元,用于根据所述目标信息确定所述目标信息的模型的创建信息;其中,所述目标信息的模型用于估算所述目标信息的代价参数,所述创建信息包括所述目标信息的模型的模型用途信息和训练算法信息;
发送单元,用于向外部训练器发送训练指令;其中,所述训练指令用于指示所述外部训练器根据所述目标信息和所述目标信息的模型的创建信息,对所述数据库中的数据进行机器学习训练,以得到所述目标信息的第一模型。
10.根据权利要求9所述的数据库管理系统,其特征在于,若所述数据库管理系统中设置有模型信息库,所述模型信息库用于存储通过所述机器学习训练得到的模型的模型信息,所述数据库服务器还包括:
更新单元,用于根据所述第一模型,更新所述模型信息库。
11.根据权利要求10所述的数据库管理系统,其特征在于,所述确定单元,具体用于:
根据所述目标信息创建所述目标信息的模型的创建信息;或者,
根据所述目标信息,从所述模型信息库中获取所述目标信息的模型的创建信息。
12.根据权利要求10所述的数据库管理系统,其特征在于,所述更新单元,具体用于:
若所述模型信息库中不存在所述目标信息的模型的模型信息,则将所述第一模型的模型信息添加在所述模型信息库中;
若所述模型信息库中存在所述目标信息的模型的模型信息,则将所述模型信息库中的所述目标信息的模型的模型信息替换为所述第一模型的模型信息。
13.根据权利要求10-12任一项所述的数据库管理系统,其特征在于,所述数据库管理系统还包括:
设置单元,用于在所述确定单元根据所述目标信息确定所述目标信息的模型的创建信息之后,将所述目标信息的模型的状态设置为无效状态;
所述设置单元,还用于在所述更新单元根据所述第一模型,更新所述模型信息库之后,将所述目标信息的模型的状态设置为有效状态。
14.根据权利要求13所述的数据库管理系统,其特征在于,
所述获取单元,还用于若确定所述模型信息库中存在所述目标信息的模型的模型信息,且所述模型的状态为有效状态,则从所述模型信息库中获取所述目标信息的模型的模型信息;
所述确定单元,还用于根据所述目标信息的模型的模型信息,确定所述目标信息的代价参数;其中,所述代价参数用于生成代价最小的执行计划。
15.根据权利要求13所述的数据库管理系统,其特征在于,
所述获取单元,还用于若满足预设条件,则从统计信息库中获取所述目标信息对应的统计信息;其中,所述统计信息库用于存储通过数据采样得到的所述目标信息的统计信息;所述预设条件包括:所述模型信息库中不存在所述目标信息的模型的模型信息、或者所述模型信息库中存在所述目标信息的模型的模型信息且所述目标信息的模型的状态为无效状态;
所述确定单元,还用于根据所述目标信息对应的统计信息,确定所述目标信息的代价参数;其中,所述代价参数用于生成代价最小的执行计划。
16.根据权利要求10-15任一项所述的数据库管理系统,其特征在于,所述第一模型的模型信息包括以下信息中至少一个:相关列数据、模型类型、模型层数、神经元数、函数类型、模型权重、偏移量、激活函数、模型的状态;或者,所述第一模型的模型信息为与所述第一模型对应的标识元信息;或者,所述第一模型的模型信息用于指示与所述第一模型关联的用户定义函数。
17.一种数据库服务器,其特征在于,所述数据库服务器包括存储器、处理器、系统总线和通信接口,所述存储器中存储代码和数据,所述处理器与所述存储器通过所述系统总线连接,所述处理器运行所述存储器中的代码,使得所述数据库服务器执行上述权利要求1-8任一项所述的信息处理方法。
CN201710109372.1A 2017-02-27 2017-02-27 一种信息处理方法及装置 Active CN108509453B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710109372.1A CN108509453B (zh) 2017-02-27 2017-02-27 一种信息处理方法及装置
PCT/CN2017/096736 WO2018153033A1 (zh) 2017-02-27 2017-08-10 一种信息处理方法及装置
US16/541,728 US20190370235A1 (en) 2017-02-27 2019-08-15 Information Processing Method and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710109372.1A CN108509453B (zh) 2017-02-27 2017-02-27 一种信息处理方法及装置

Publications (2)

Publication Number Publication Date
CN108509453A true CN108509453A (zh) 2018-09-07
CN108509453B CN108509453B (zh) 2021-02-09

Family

ID=63252397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710109372.1A Active CN108509453B (zh) 2017-02-27 2017-02-27 一种信息处理方法及装置

Country Status (3)

Country Link
US (1) US20190370235A1 (zh)
CN (1) CN108509453B (zh)
WO (1) WO2018153033A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460396A (zh) * 2018-10-12 2019-03-12 中国平安人寿保险股份有限公司 模型处理方法及装置、存储介质和电子设备
CN112749191A (zh) * 2021-01-19 2021-05-04 成都信息工程大学 一种应用于数据库的智能代价估计方法、系统及电子设备
CN116991428A (zh) * 2023-09-28 2023-11-03 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326246A (zh) 2020-02-28 2021-08-31 华为技术有限公司 一种数据库管理系统性能预估的方法、装置及系统
US11500830B2 (en) * 2020-10-15 2022-11-15 International Business Machines Corporation Learning-based workload resource optimization for database management systems

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1904896A (zh) * 2005-07-28 2007-01-31 株式会社东芝 结构化文档处理装置、搜索装置及结构化文档系统和方法
CN101576880A (zh) * 2008-05-06 2009-11-11 山东省标准化研究院 基于极值优化的数据库查询优化方法
CN102799622A (zh) * 2012-06-19 2012-11-28 北京大学 基于MapReduce扩展框架的分布式SQL查询方法
CN103064875A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 一种服务化空间数据分布式查询方法
CN103488655A (zh) * 2012-06-13 2014-01-01 阿里巴巴集团控股有限公司 复合模型数据处理方法及系统
CN103678519A (zh) * 2013-11-29 2014-03-26 中国科学院计算技术研究所 一种支持Hive DML增强的混合存储系统及其方法
CN103793467A (zh) * 2013-09-10 2014-05-14 浙江鸿程计算机系统有限公司 一种基于超图和动态规划的大数据实时查询优化方法
US20140215471A1 (en) * 2013-01-28 2014-07-31 Hewlett-Packard Development Company, L.P. Creating a model relating to execution of a job on platforms
US20140372482A1 (en) * 2013-06-14 2014-12-18 Actuate Corporation Performing data mining operations within a columnar database management system
CN105243068A (zh) * 2014-07-09 2016-01-13 华为技术有限公司 数据库系统的查询方法、服务器和能耗测试系统
CN105302858A (zh) * 2015-09-18 2016-02-03 北京国电通网络技术有限公司 一种分布式数据库系统的跨节点查询优化方法及系统
CN106294313A (zh) * 2015-06-26 2017-01-04 微软技术许可有限责任公司 学习用于实体消歧的实体及单词嵌入

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411766A (zh) * 2011-12-29 2012-04-11 国网信息通信有限公司 电力系统数据分析平台及方法
CN104050202B (zh) * 2013-03-15 2019-03-15 伊姆西公司 用于搜索数据库的方法和装置
CN105069036A (zh) * 2015-07-22 2015-11-18 百度在线网络技术(北京)有限公司 一种信息推荐方法及装置
CN106327251A (zh) * 2016-08-22 2017-01-11 北京小米移动软件有限公司 模型训练系统和方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1904896A (zh) * 2005-07-28 2007-01-31 株式会社东芝 结构化文档处理装置、搜索装置及结构化文档系统和方法
CN101576880A (zh) * 2008-05-06 2009-11-11 山东省标准化研究院 基于极值优化的数据库查询优化方法
CN103488655A (zh) * 2012-06-13 2014-01-01 阿里巴巴集团控股有限公司 复合模型数据处理方法及系统
CN102799622A (zh) * 2012-06-19 2012-11-28 北京大学 基于MapReduce扩展框架的分布式SQL查询方法
CN103064875A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 一种服务化空间数据分布式查询方法
US20140215471A1 (en) * 2013-01-28 2014-07-31 Hewlett-Packard Development Company, L.P. Creating a model relating to execution of a job on platforms
US20140372482A1 (en) * 2013-06-14 2014-12-18 Actuate Corporation Performing data mining operations within a columnar database management system
CN103793467A (zh) * 2013-09-10 2014-05-14 浙江鸿程计算机系统有限公司 一种基于超图和动态规划的大数据实时查询优化方法
CN103678519A (zh) * 2013-11-29 2014-03-26 中国科学院计算技术研究所 一种支持Hive DML增强的混合存储系统及其方法
CN105243068A (zh) * 2014-07-09 2016-01-13 华为技术有限公司 数据库系统的查询方法、服务器和能耗测试系统
CN106294313A (zh) * 2015-06-26 2017-01-04 微软技术许可有限责任公司 学习用于实体消歧的实体及单词嵌入
CN105302858A (zh) * 2015-09-18 2016-02-03 北京国电通网络技术有限公司 一种分布式数据库系统的跨节点查询优化方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘春雷: "基于代价模型的Spark SQL查询优化研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460396A (zh) * 2018-10-12 2019-03-12 中国平安人寿保险股份有限公司 模型处理方法及装置、存储介质和电子设备
CN109460396B (zh) * 2018-10-12 2024-06-04 中国平安人寿保险股份有限公司 模型处理方法及装置、存储介质和电子设备
CN112749191A (zh) * 2021-01-19 2021-05-04 成都信息工程大学 一种应用于数据库的智能代价估计方法、系统及电子设备
CN116991428A (zh) * 2023-09-28 2023-11-03 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质
CN116991428B (zh) * 2023-09-28 2023-12-15 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质

Also Published As

Publication number Publication date
CN108509453B (zh) 2021-02-09
US20190370235A1 (en) 2019-12-05
WO2018153033A1 (zh) 2018-08-30

Similar Documents

Publication Publication Date Title
CN108509453A (zh) 一种信息处理方法及装置
US10713248B2 (en) Query engine selection
CN106471489B (zh) 管理具有灵活模式的数据
US9449115B2 (en) Method, controller, program and data storage system for performing reconciliation processing
CN110309196A (zh) 区块链数据存储和查询方法、装置、设备及存储介质
US9262462B2 (en) Aggregation framework system architecture and method
CN110428056A (zh) 使用区块链的分散式机器学习的系统和方法
Schlesinger et al. Concurrent NetCore: From policies to pipelines
JP2017037648A (ja) ハイブリッドデータを保存するためのハイブリッドデータストレージシステム、方法及びプログラム
JP2016015124A (ja) コンピュータ装置、処理方法及びコンピュータプログラム
CN108804473B (zh) 数据查询的方法、装置和数据库系统
EP3961413A1 (en) Method and device for determining database configuration parameters
CN109241093A (zh) 一种数据查询的方法、相关装置及数据库系统
CN110866029B (zh) sql语句构建方法、装置、服务器及可读存储介质
Vu et al. Distributed adaptive model rules for mining big data streams
CN114328759A (zh) 一种数据仓库的数据构建与管理方法及终端
CN112970011A (zh) 记录查询优化中的谱系
CN108268512A (zh) 一种标签查询方法及装置
CN115544029A (zh) 一种数据处理方法及相关装置
CN108469977A (zh) 一种界面数据管理方法
US11449782B2 (en) Distributed machine learning for cached data validity
CN115618532A (zh) 一种网络系统仿真方法及相关装置
CN108173948A (zh) 一种分布式试验数据实时交换方法
WO2018108010A1 (en) System, device and method for data update notification
KR20180104498A (ko) 질의 처리 방법 및 장치

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