CN116361265A - 数据库存储优化方法、系统、电子设备及存储介质 - Google Patents

数据库存储优化方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116361265A
CN116361265A CN202310223086.3A CN202310223086A CN116361265A CN 116361265 A CN116361265 A CN 116361265A CN 202310223086 A CN202310223086 A CN 202310223086A CN 116361265 A CN116361265 A CN 116361265A
Authority
CN
China
Prior art keywords
optimization
information
database
expected
storage
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.)
Pending
Application number
CN202310223086.3A
Other languages
English (en)
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310223086.3A priority Critical patent/CN116361265A/zh
Publication of CN116361265A publication Critical patent/CN116361265A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据库存储优化方法、系统、电子设备及存储介质。数据库存储优化方法包括:获取数据库实例的实例信息;根据实例信息确定数据库实例中库表对象的期望优化收益;期望优化收益为针对库表对象的存储策略的优化建议被应用后带来的预期收益;根据期望优化收益向数据库实例输出对应的优化建议信息;优化建议信息用于建议对库表对象的存储策略进行优化。依据本申请实施例,可以给出较优的优化建议信息,以降低用户的存储成本和总体拥有成本。

Description

数据库存储优化方法、系统、电子设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种数据库存储优化方法、系统、电子设备及存储介质。
背景技术
分析型数据仓库(也称数据库)是数据密集型的应用之一,为了加速数据的存取,往往采用固态硬盘(Solid State Disk,SSD)热存和全索引等技术,但此类技术会大幅增加用户的存储成本以及总体拥有成本(Total Cost of Ownership,TCO)。
发明内容
本申请实施例提供一种数据库存储优化方法、系统、电子设备及存储介质,以解决现有技术存在的技术问题。
第一方面,本申请实施例提供了一种数据库存储优化方法,包括:
获取数据库实例的实例信息;
根据实例信息确定数据库实例中库表对象的期望优化收益;期望优化收益为针对库表对象的存储策略的优化建议被应用后带来的预期收益;
根据期望优化收益向数据库实例输出对应的优化建议信息;优化建议信息用于建议对库表对象的存储策略进行优化。
第二方面,本申请实施例提供了一种数据库存储优化系统,包括:通信连接的数据库和优化控制模块;
数据库用于存储库表对象,并接收优化控制模块输出的优化建议信息和撤销建议信息中的至少一种信息;
优化控制模块用于对处于运行状态或服务状态的数据库执行本申请实施例第一方面提供的方法。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请实施例第一方面提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面提供的方法。
与现有技术相比,本申请具有如下优点:
依据本申请实施例的技术方案,可以对数据库实例的实例信息进行感知,以确定能够反映优化建议被应用后的预期收益的期望优化收益,基于期望优化收益可以向数据库实例输出对应的优化建议信息,以实现优化,基于优化建议信息优化后可以有效地降低存储成本,进而可降低用户的总体拥有成本。本申请实施例提供的数据库存储优化方法可以实现自动调优,即自动针对库表对象的存储策略提供优化建议信息,无需数据管理员进行人工调优,可以大幅提高调优效率,节省人力成本,进一步降低用户的总体拥有成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请实施例提供的一种数据库存储优化方法的流程示意图;
图2为本申请实施例提供的另一种数据库存储优化方法的部分流程示意图;
图3为本申请实施例提供的一种数据库存储优化系统的结构框架示意图;以及
图4为本申请实施例提供的一种电子设备的结构框架示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
在使用固态硬盘热存和全索引等技术的场景下,可以明显观察到,在分析型数据库中有较多的库表对象(例如数据表、索引等)在某段时间被密集访问过之后,后续很少再被访问到,甚至没有再被访问到。对于使用固态硬盘热存技术的数据表,其涉及到的服务,例如查询,往往具有明显的时间局部性,随着时间的推移,数据表可能不再是热点或者数据表中不再是热点的分区,此时将数据表存储在热存空间,会带来存储成本的上升,进而带来总体拥有成本的上升。对于索引,在其对应的列在查询中不涉及到聚合、连接以及过滤时,该列上的索引往往是没有必要的,此时存储索引会带来存储成本的上升,进而带来总体拥有成本的上升。
为了降低存储成本,需要识别哪些库表对象在未来不会被访问到或者很少被访问到,从而可以释放此类库表对象所占用的存储空间或热存空间,传统的对库表对象在未来是否会被访问到的识别主要依靠数据库管理员(Database Administrator,DBA),然而很多用户没有数据库管理员,增加数据库管理员会提升用户的总体拥有成本。在有数据库管理员的情况下,由于数据分析任务的负载可能时刻在发生变化,即使是资深的数据库管理员,也很难从时刻都可能发生变化的负载中判断出哪些库表对象未来不会被访问到,此外,要求数据库管理员不仅需要充分地且及时地熟悉数据分析任务的负载和数据分布的特征,而且在做出降成本的决策时要平衡降低成本上的收益以及随之而来的数据分析任务的性能回退的风险,更加增加了数据库管理员的识别和决策难度。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
本申请实施例提供了一种数据库存储优化方法,如图1所示,该方法可以包括以下步骤:S101,获取数据库实例的实例信息;S102,根据实例信息确定数据库实例中库表对象的期望优化收益;S103,根据期望优化收益向数据库实例输出对应的优化建议信息。其中,数据库实例可以是处于运行状态或服务状态的数据库,库表对象可以是存放在数据库实例中的数据表、索引等数据结构对象,期望优化收益为针对库表对象的存储策略的优化建议被应用后带来的预期收益,是一种预估值,在本申请实施例中,期望优化收益可以用于表征针对该优化建议被应用后存储成本的降低幅度,期望优化收益越高,基于期望优化收益对库表对象的存储策略进行优化后越能降低存储成本。优化建议信息可以用于建议对库表对象的存储策略进行优化,优化建议信息可以以DDL(Data Definition Language,数据库模式定义语言)语句的形式输出给数据库实例,也可以以其它能够操作库表对象的指令的形式输出给数据库实例。
通过本申请实施例提供的数据库存储优化方法,可以对数据库实例的实例信息进行感知,以确定能够反映优化建议被应用后的预期收益的期望优化收益,基于期望优化收益可以向数据库实例输出对应的优化建议信息,以实现优化,基于优化建议信息优化后可以有效地降低存储成本,进而可降低用户的总体拥有成本。本申请实施例提供的数据库存储优化方法可以实现自动调优,即自动针对库表对象的存储策略提供优化建议信息,无需数据管理员进行人工调优,可以大幅提高调优效率,节省人力成本,进一步降低用户的总体拥有成本。
在一种实施方式中,实例信息可以包括数据库实例的元数据(meta)和数据库实例的第一历史访问信息。数据库实例的元数据可以包括数据库实例中各库表对象及库表对象中所有列的属性信息、统计信息、实例配置信息(config)等至少一种信息,实例配置信息可以包括全局的配置项和值、以及会话级别的配置项和值。数据库实例的历史访问信息可以包括数据库实例中各库表对象被访问的时间信息、次数信息等,第一历史访问信息可以基于数据分析任务的历史数据(负载)获得。第一历史访问信息可以包括当前时刻之前的一个历史时间段内对库表对象进行访问的信息,该历史时间段的时间长度和时间范围可以根据实际需求设置,例如时间长度可以设置为15天。数据分析任务的历史数据可以包括SQL的会话信息,还可以包括配置信息、查询计划、查询计划的代价估算信息、相应算子上的统计信息、执行信息等至少一种信息。
对应的,如图2所示,在上述步骤S102中,根据实例信息确定数据库实例中库表对象的期望优化收益,可以包括如下步骤:S201,根据元数据和第一历史访问信息预测库表对象的未来被访问概率;S202,根据元数据对数据库实例中库表对象的预期降本收益;S203,根据库表对象的未来被访问概率和库表对象的预期降本收益,确定库表对象的期望优化收益。其中,库表对象的未来被访问概率可以是库表对象在未来某一个时间段内被访问以的概率,预期降本收益可以是预期可节省的存储空间所带来的存储成本的降低。步骤201和步骤202可以先后执行,也可以同步执行,图2所示的步骤顺序仅作为示例,不作为限定。
元数据中可以包括各库表对象所占用的存储空间量和单位存储空间的价格,单位存储空间的价格可以是预先根据实际情况设置的,将各库表对象所占用的存储空间量与单位存储空间的价格相乘,可以得到各库表对象的预期降本收益。预期降本收益还可以包括对数据库的维护操作减少所带来的收益,例如在对库表对象的存储策略进行优化后,库表对象可能被删除,此时不需要再数据库进行更新、检查等维护操作,从而可以进一步的节约计算资源和能源消耗,进一步增加降本收益。
经研究发现,数据表、索引等库表对象的使用均具有时间局部性(temporiallocalility)和周期性(period)的特征,即历史上的被访问特征与未来的被访问情况有强烈的相关性,与此同时,历史上被访问过的库表对象也存在一定的概率(大于0)在未来被访问到。基于该发现,在本申请实施例提供的数据库存储优化方法中,给定历史访问信息即上述第一历史访问信息,基于第一历史访问信息可对未来被访问概率进行较为准确的预测,基于预测结果结合预期降本收益,可以得到准确度较高的库表对象的期望优化收益,进而可以提高对库表对象的存储空间的优化效果和质量。
在一种实施方式中,在上述步骤S201,根据元数据和第一历史访问信息预测库表对象的未来被访问概率,可以包括:将元数据和第一历史访问信息输入预测模型,通过预测模型预测库表对象的未来被访问概率。其中,预测模型可以是预先基于元数据和数据库实例中库表对象的第二历史访问信息训练出的,第二历史访问信息的产生时间早于第一历史访问信息的产生时间,例如第二历史访问信息可以包括当前时刻之前的第二历史时间段内对库表对象进行访问的信息,第一历史访问信息可以包括第二历史时间段之前的第一历史时间段的内对库表对象进行访问的信息。
基于上述方式,本申请实施例提供的数据库存储优化方法可以基于机器学习得到的预测模型实现未来被访问概率的预测,可使优化过程与数据库引擎的内核解耦,无需占用内核资源,从而无需依赖于数据库引擎的内核功能,无需依赖优化器中的What-If能力(一种优化能力),更具有通用性,即可适用于具有What-If能力的优化器,也可以适用于不具有What-If能力的优化器。
在将元数据和第一历史访问信息输入预测模型之前,可以先对元数据和第一历史访问信息进行清洗和加工,形成时间序列模式的数据,然后再输入预测模型,也即,输入预测模型的元数据和第一历史访问信息可以是时间序列模式的数据。
在一个示例中,预测模型的训练方式可以包括:对元数据和第二历史访问信息进行清洗和加工,形成时间序列模式的数据,对这些数据进行对齐、聚合和关联等处理,形成训练数据,基于该训练数据对预测模型进行训练。在另一个示例中,预测模型的训练方式可以包括:对元数据和第二历史访问信息进行清洗和加工,形成时间序列模式的数据,对这些数据进行多维度的对齐、聚合和关联等处理,形成训练数据和验证数据,训练数据的产生时间可以早于验证数据的产生时间,可基于训练数据对预测模型进行训练,可基于验证数据对训练出的预测模型的效果进行验证。对预测模型的训练可以进行一次或多次,例如可以定期采集历史访问信息作为第二历史访问信息以对预测模型进行训练,定期训练的间隔时长可根据实际需求设置。
在上述示例中,对时间序列模式的数据的对齐处理可以包括:将元数据和第二历史访问信息在时间粒度上进行归一化。对时间序列模式的数据的聚合处理可以包括:将元数据和第二历史访问信息按照不同的时间粒度进行聚合,不同的时间粒度例如可以包括1小时、12小时、24小时、1天、2天、3天、7天等任意多种时间粒度,聚合的形式可以包括计数(count)、平均值(average)、最小值/最大值(min/max)、求和(sum)等至少一种形式。对时间序列模式的数据的关联处理可以包括:将元数据和第二历史访问信息的对齐好的内容进行连接,组合出信息量更大的数据。
在一种实施方式中,预测模型为后验贝叶斯分布模型。后验贝叶斯分布模型准确度较高且所需的云计算量较少,此外,后验贝叶斯分布模型在模型复杂度、泛性化等方面也有较好的表现,各方面性能比较均衡,使用后验贝叶斯分布模型来预测未来被访问概率,可以以较少的计算量得到较为准确的预测结果。
后验贝叶斯分布模型可以对历史访问信息进行拟合,预测相应的概率分布,其原理参见如下表达式:
p(y_{new}|Y)=\integral_{-\inf}^{\inf}p(y_{new}|\theta)p(\theta|Y)d\theta
在该表达式中,Y表示已观测到的数据,在本申请实施例的预测场景中,Y可以表示历史访问信息的时序(即时间序列)分布;y_{new}表示待预测的新数据,在本申请实施例的预测场景中,y_{new}可以表示库表对象在未来是否会被访问到,不会被访问到可以0来表示,会被访问到可以1来表示;p(y_{new}|Y)表示在已观测到的数据的情况下预测未观测到的数据的分布,在本申请实施例的概率预测场景中,p(y_{new}|Y)可以表示对于某个库表对象,在给定历史访问信息的时序分布的情况下预测未来是否会被访问到;\theta表示模型参数;\integral_{-\inf}^{\inf}表示模型参数的积分空间;p(y_new|\theta)表示给定模型参数的情况下待预测的新数据y_{new}的观测值的分布;在获取到已观测的数据Y例如本申请实施例中的历史访问信息的时序分布之后,模型参数\theta的不确定性可以使用后验概率p(\theta|Y)来表征,p(\theta|Y)表示为通过已观测到的数据Y来估计未知的模型参数\theta的分布;d\theta表示对未知的模型参数\theta进行边际化处理(marginalization)。在上述表达式中,在有已观测到的数据Y的情况下,未知的模型参数\theta会被积分掉,因此p(y_{new}|Y)可以不依赖于未知的模型参数\theta。
在其它实施方式中,预测模型可以是时间序列模型或其它基于贝叶斯后验概率的预测模型。
在一种实施方式中,本申请实施例提供的数据库存储优化方法还可以包括:获取优化规则信息;该优化规则信息包括优化范围,例如需要被优化的库表对象的范围的信息,优化规则信息可以是用户根据实际情况输入预先输入或实时输入的,输入的优化规则可以存储于数据库实例中供采集,上述实例信息可以包括该优化规则信息。
对应的,在上述步骤S102中,根据实例信息预测数据库实例中库表对象的期望优化收益,包括:根据优化范围确定需要被优化的目标库表对象;根据实例信息确定目标库表对象的期望优化收益。例如,对于三个数据表A、B和C,若用户输入的优化范围为C,即只仅C进行优化而不能对A和B进行优化,则仅对C确定其期望优化收益。根据实例信息确定目标库表对象的期望优化收益的具体方式可以参照前面的相关内容。
基于该实施方式,本申请实施例提供的数据库优化存储方法可以基于用户输入的优化范围确定需要被优化的目标库表对象,仅对该目标库表对象确定其期望优化收益,进而可仅对目标库表对象输出优化建议信息以便对目标库表对象的存储空间进行优化,如此可以对用户指定范围内的库表对象进行优化,以满足用户的优化需求,并减少计算量。
在另一种实施方式中,本申请实施例提供的数据库存储优化方法还可以包括:获取优化规则信息,基于优化规则信息获取优化收益阈值。其中,该优化规则信息可以是用户根据实际情况输入预先输入或实时输入的,输入的优化规则可以存储于数据库实例中供采集,上述实例信息可以包括该优化规则信息,输入的优化规则可以存储于数据库实例中供采集,上述实例信息可以包括该优化规则信息。优化规则可以包括预设优化收益阈值或降本偏好信息,优化收益阈值可以基于优化规则信息中的预设优化收益阈值或降本偏好信息确定,例如可将用户输入的预设优化收益阈值作为本申请实施例中使用的优化收益阈值,或者,可以根据降本偏好信息可以确定用户的降本偏好,例如在降低存储成本时选择优先降低存储成本,还是在降低存储成本的同时考虑数据分析任务(例如查询任务)的性能回退,基于用户的降本偏好确定相匹配的优化收益阈值。
对应的,在优化规则信息包括优化收益阈值的情况下,在上述步骤S103中,根据期望优化收益向数据库实例输出对应的优化建议信息,可以包括:确定各库表对象的期望优化收益中大于优化收益阈值的期望优化收益,作为目标期望优化收益;针对目标期望优化收益对应的库表对象的存储策略输出优化建议信息。
基于该实施方式,本申请实施例提供的数据库优化存储方法可以基于用户输入的预设优化收益阈值筛选出期望优化收益较大的库表对象,针对期望优化收益较大的库表对象的存储策略输出优化建议信息,以便可以对期望优化收益较大的库表对象的存储策略进行优化,也可以基于用户输入的降本偏好信息自动确定可实现对应偏好的优化收益阈值,进而基于该优化收益阈值筛选出期望优化收益较大的库表对象,针对期望优化收益较大的库表对象的存储策略输出优化建议信息,以便可以对期望优化收益较大的库表对象的存储策略进行优化,基于该优化建议信息进行优化后可以较大幅度地降低存储成本,并满足用户的个性化的优化需求。
在其它实施方式中,优化规则信息可以包括优化范围、预设优化收益阈值和降本偏好信息中的至少一项,对应的,本申请实施例提供的数据库存储优化方法可以执行优化范围、预设优化收益阈值和降本偏好信息中至少一项信息对应的操作,每一项信息对应的操作可参照前面的相关介绍。
在一种实施方式中,本申请实施例中的库表对象可以包括数据表和索引中的至少一种。对应的,在上述步骤S103中,针对目标期望优化收益对应库表对象的存储策略输出的优化建议信息,可以包括以下至少一种优化建议的信息:优化建议一,将目标期望优化收益对应的数据表从热存空间(或称热存储空间、热存储区域)转移到冷存空间;优化建议二,删除目标期望优化收益对应的索引。其中,目标期望优化收益可以是基于前面所述的任意一种实施方式确定出的;热存空间也可称为热存储空间或热存储区域,可以是固态硬盘的存储空间,存储于热存空间中的数据可以称为热存储数据,热存储的方式可以满足高性能访问的需求,可以提升查询性能;冷存空间也可称为冷存储空间或冷存储区域,可以是机械硬盘(Hard Disk Drive,HDD)的存储空间,存储于冷存空间的数据可以称为冷存储数据,冷存储的方式是一种较为经济的存储方式,可以节省存储成本。
基于该实施方式,本申请实施例提供的数据库存储优化方法,可以针对不同的库表对象输出不同的优化建议信息,以便实现不同的优化操作,在库表对象为数据表时,可以基于数据表的优化建议信息自动将期望优化收益较大的数据表从热存空间转移到冷存空间,可以减少期望优化收益较大的数据表对热存空间的占用,以实现冷热分层,降低存储成本,在库表对象为索引时,可以基于索引的优化建议信息自动删除期望优化收益较大的索引,以减少索引对存储空间的占用,降低存储成本。
在一种实施方式中,针对目标期望优化收益对应的库表对象的存储策略输出的优化建议信息,可以包括:按各目标期望优化收益由大到小的顺序,依次针对各目标期望优化收益对应的库表对象的存储策略输出优化建议信息。如此可以使每次基于优化建议信息进行优化时均针对当前最大的期望优化收益对应的库表对象进行优化,可以最大程度的降低存储成本。
本申请实施例中的期望优化收益可以体现为分数的形式,进而可以按照各目标期望优化收益的分数由大到小的顺序,依次针对各评分对应的库表对象的存储策略输出优化建议信息。
在一种实施方式中,在上述步骤S103中,根据期望优化收益向数据库实例输出对应的优化建议信息,可以包括:根据期望优化收益,在指定运维条件下向数据库实例输出对应的优化建议信息;例如,可以在指定运维条件下,按各目标期望优化收益由大到小的顺序,依次针对各目标期望优化收益对应的库表对象的存储策略输出优化建议信息,指定运维条件可以是由运维规则信息提供的。
用户可以预先输入或实时输入运维规则信息,运维规则信息提供的运维条件可以包括对数据库的版本进行升级的时间窗口、扩容的时间窗口等至少一项信息,例如将在2点至4点之间对数据库的版本进行升级,在向数据库实例输出优化建议信息时可以避开运维条件中的时间窗口,例如避开上述示例中的2点到4点这个时间窗口,在运维条件中的时间窗口以外的时间向数据库实例输出优化建议信息,以避免对影响对数据库的运维操作。用户输入的运维规则信息可以存储于数据库实例中供采集,上述实例信息可以包括运维规则信息。
在一种实施方式中,本申请实施例提供的数据库存储优化方法还可以包括:对数据库实例的性能进行监测,确定数据库实例是否发生性能回退;在数据库实例发生性能回退的情况下,向数据库实例输出撤销建议信息,撤销建议信息可以用于建议撤销已执行的优化操作,否则保持当前状态。例如,在数据库实例发生性能回退的情况下,可以向数据库实例输出撤销建议信息,数据库实例可以基于该撤销建议信息撤销优化操作。撤销建议信息也可以是DDL语句的形式。
在一个示例中,在将目标期望优化收益对应的数据表从热存空间转移到冷存空间后,若需要访问该数据表时,只能在冷存空间中访问,在冷存空间中访问的速度较慢,会导致数据库实例的性能发生回退。在另一个示例,在将目标期望优化收益对应的索引删除后,若需要再次通过该索引访问对应的原始信息,由于没有索引可供访问,只能直接访问索引对应的原始信息,如此访问的速度较慢,会导致数据库实例的性能发生回退。
撤销优化操作可以包括如下至少一种操作:将目标期望优化收益对应的数据表从热存空间转移到冷存空间,删除目标期望优化收益对应的索引。例如,对于数据表访问过程中发生的性能回退,可以将目标期望优化收益对应的数据表从冷存空间转移回热存空间,在加快对数据表的访问速度,再次提升数据库实例的性能,对于索引访问过程中发生的性能回退,可以重新创建索引,在使通过索引加快对索引对应的原始信息的访问速度,再次提升数据库实例的性能,消除性能的回退。
对性能的监测和性能回退时的撤销操作可以平衡性能和存储成本,可以在性能不回退的前提下尽可能的降低存储成本,从而无需因降低存储成本而牺牲数据库实例的性能。
在一种实施方式中,在上述步骤S101中,获取数据库实例的实例信息可以是定期执行的,即可定期获取数据库实例的实例信息,获取周期可以根据实际需求设置,可对每次获取到的实例信息进行持久化处理,便于后续及时访问该实例信息。
在一种实施方式中,数据库实例可以根据优化建议信息对库表对象的存储策略进行优化或放弃优化。在一个示例中,数据库实例在接收到优化建议信息时,可以直接基于优化建议信息对库表对象的存储策略进行优化。在另一个示例中,数据库实例在接收到优化建议信息时,可以向用户展示优化建议信息,由用户决定是否最终执行优化,在接收到用户输入的确认指令时数据库实例对库表对象的存储策略进行优化。在又一个示例中,数据库实例在接收到优化建议信息时,可以基于自身的选择机制选择是否需要基于优化建议信息对库表对象的存储策略进行优化,或基于哪部分优化建议信息对库表对象的存储策略进行优化。参照这些示例,数据库实例在接收到撤销建议信息时,可直接撤销优化操作,也可以响应于用户的确认指令撤销优化操作,或者可以基于自身的选择机制选择是否需要基于撤销建议信息执行撤销操作,或基于哪部分撤销建议信息执行撤销操作。
基于同一技术构思,本申请实施例还提供一种基于数据库存储优化系统,该系统可以包括:通信连接的数据库和优化控制模块。
数据库可以用于存储库表对象,并接收所述优化控制模块输出的优化建议信息和撤销建议信息中的至少一种信息。优化控制模块可以用于对处于运行状态或服务状态的数据库执行本申请实施例提供的任意一种数据库存储优化方法。
优化控制模块可以包括信息采集子模块、收益确定子模块和优化子模块。
信息采集子模块可以用于获取数据库实例的实例信息;收益确定子模块可以用于根据实例信息确定数据库实例中库表对象的期望优化收益;优化子模块可以用于根据期望优化收益对库表对象的存储策略进行优化。其中,期望优化收益为针对库表对象的存储策略的优化建议被应用后带来的预期收益,优化建议信息用于建议对库表对象的存储策略进行优化。
在一种实施方式中,实例信息包括数据库实例的元数据和数据库实例的第一历史访问信息。对应的,如图3所示,收益确定子模块320可以包括可以第一预测单元321、第二预测单元322和收益确定单元323。
第一预测单元321可以用于根据元数据和第一历史访问信息预测库表对象的未来被访问概率;第二预测单元322可以用于根据元数据预测库表对象的预期降本收益;收益确定单元323可以用于根据未来被访问概率和预期降本收益,确定库表对象的期望优化收益。
在一种实施方式中,第一预测单元321可以用于:将元数据和第一历史访问信息输入预测模型,通过预测模型预测库表对象的未来被负载概率。其中,预测模型可以是预先基于元数据和数据库实例中库表对象的第二历史访问信息训练出的。预测模型可以是后验贝叶斯分布模型。
在一种实施方式中,在第一预测单元321、第二预测单元322和收益确定单元323的基础上,收益确定模块320还可以包括训练数据生成单元,训练数据生成单元可以用于基于元数据和第二历史访问信息生成训练数据,或者生成训练数据和验证数据。
第一预测单元321可以用于:将元数据和第一历史访问信息输入预测模型,通过预测模型预测库表对象的未来被负载概率。其中,预测模型可以是预先基于元数据和数据库实例中库表对象的第二历史访问信息训练出的,第二历史访问信息的产生时间晚于第一历史访问信息的产生时间。
在一种实施方式中,本申请实施例还可以包括信息获取模块,可用于获取优化规则信息,优化规则信息可以包括优化范围、预设优化收益阈值和降本偏好信息中的至少一项。
在优化规则信息包括优化范围时,收益确定单元320可以用于根据优化范围确定需要被优化的目标库表对象,根据实例信息确定目标库表对象的期望优化收益。在优化规则信息包括预设优化收益阈值或降本偏好信息时,优化子模块330可以用于确定各库表对象的期望优化收益中大于优化收益阈值的期望优化收益,作为目标期望优化收益,针对目标期望优化收益对应的库表对象的存储策略输出优化建议信息。其中,优化收益阈值可以是优化收益阈值是基于预设优化收益阈值和降本偏好信息确定的。
在一种实施方式中,在针对目标期望优化收益对应的库表对象的存储策略输出优化建议信息时,优化子模块330可以用于按各目标期望优化收益由大到小的顺序,依次针对各目标期望优化收益对应的库表对象的存储策略输出优化建议信息。
在一种实施方式中,在根据期望优化收益向数据库实例输出对应的优化建议信息时,优化子模块330可以用于根据期望优化收益,在指定运维条件下向数据库实例输出对应的优化建议信息;指定运维条件是由运维规则信息提供的。本申请实施例中的优化规则信息和运维规则信息可以是信息采集子模块310从数据库实例中采集到的。
在一种实施方式中,库表对象包括数据表和索引中的至少一种。对应的,优化子模块330可以用于执行以下至少一种操作:将目标期望优化收益对应的数据表从热存空间转移到冷存空间;删除目标期望优化收益对应的索引。
在一种实施方式中,如图3所示,上述优化控制模块还可以包括监测子模块340,其可以用于对数据库实例的性能进行监测,确定数据库实例是否发生性能回退;在数据库实例发生性能回退的情况下,向数据库实例输出撤销建议信息;撤销建议信息可以用于建议撤销已执行的优化操作。
在一个示例中,参照图3,信息采集子模块310可以采集数据库实例的实例信息,并可向收益确定子模块320输出实例信息,信息采集子模块310还可以对获取到的实例信息进行持久化。收益确定子模块320中的第一预测单元321可以基于实例信息中的元数据和第一历史访问信息预测数据库实例中库表对象的未来被访问概率,收益确定子模块320中的第二预测单元322可以基于实例信息中的元数据预测库表对象的预期降本收益,收益确定单元323可以基于库表对象的未来被访问概率、预期降本收益以及优化规则信息确定库表对象的期望优化收益。优化子模块330可以基于期望优化收益向数据库实例输出对应的优化建议信息,监测模块340可以对数据库实例的性能进行监测,确定数据库实例是否发生了性能回退,在发生性能回退时可以向数据库实例输出撤销建议信息。
本申请实施例提供的系统中的各模块、各子模块、各单元的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
基于同一技术构思,本申请实施例还提供了一种电子设备,如图4所示,该电子设备包括:存储器401和处理器402,存储器401内存储有可在处理器402上运行的计算机程序。处理器402执行该计算机程序时实现本申请实施例提供的任意一种方法。存储器401和处理器402的数量可以为一个或多个。
该电子设备还包括:
通信接口403,用于与外界设备进行通信,进行数据交互传输。
如果存储器401、处理器402和通信接口403独立实现,则存储器401、处理器402和通信接口403可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器401、处理器402及通信接口403集成在一块芯片上,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的任意一种方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的任意一种方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的任意一种方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种数据库存储优化方法,其特征在于,包括:
获取数据库实例的实例信息;
根据所述实例信息确定所述数据库实例中库表对象的期望优化收益;所述期望优化收益为针对所述库表对象的存储策略的优化建议被应用后带来的预期收益;
根据所述期望优化收益向所述数据库实例输出对应的优化建议信息;所述优化建议信息用于建议对所述库表对象的存储策略进行优化。
2.根据权利要求1所述的数据库存储优化方法,其特征在于,所述实例信息包括所述数据库实例的元数据和所述数据库实例的第一历史访问信息;
所述根据所述实例信息确定所述数据库实例中库表对象的期望优化收益,包括:
根据所述元数据和所述第一历史访问信息预测所述库表对象的未来被访问概率;
根据所述元数据预测所述库表对象的预期降本收益;
根据所述未来被访问概率和所述预期降本收益,确定所述库表对象的期望优化收益。
3.根据权利要求2所述的数据库存储优化方法,其特征在于,所述根据所述元数据和所述第一历史访问信息预测所述库表对象的未来被访问概率,包括:
将所述元数据和所述第一历史访问信息输入预测模型,通过所述预测模型预测所述库表对象的未来被负载概率;
所述预测模型是预先基于所述元数据和所述数据库实例中库表对象的第二历史访问信息训练出的,所述第二历史访问信息的产生时间晚于所述第一历史访问信息的产生时间。
4.根据权利要求3所述的数据库存储优化方法,其特征在于,所述预测模型为后验贝叶斯分布模型。
5.根据权利要求1-4中任一项所述的数据库存储优化方法,其特征在于,还包括:
获取优化规则信息;所述优化规则信息包括优化范围;
所述根据所述实例信息预测所述数据库实例中库表对象的期望优化收益,包括:
根据所述优化范围确定需要被优化的目标库表对象;
根据所述实例信息确定所述目标库表对象的期望优化收益。
6.根据权利要求1-4中任一项所述的数据库存储优化方法,其特征在于,还包括:
获取优化规则信息;所述优化规则信息包括预设优化收益阈值和降本偏好信息中的至少一种信息;
所述根据所述期望优化收益向所述数据库实例输出对应的优化建议信息,包括:
确定各库表对象的期望优化收益中大于优化收益阈值的期望优化收益,作为目标期望优化收益;所述优化收益阈值是基于所述预设优化收益阈值或所述降本偏好信息确定的;
针对所述目标期望优化收益对应的库表对象的存储策略输出优化建议信息。
7.根据权利要求6所述的数据库存储优化方法,其特征在于,所述库表对象包括数据表和索引中的至少一种;
针对所述目标期望优化收益对应的库表对象的存储策略输出的优化建议信息包括以下至少一种优化建议的信息:
将所述目标期望优化收益对应的数据表从热存空间转移到冷存空间;
删除所述目标期望优化收益对应的索引。
8.根据权利要求6所述的数据库存储优化方法,其特征在于,所述针对所述目标期望优化收益对应的库表对象的存储策略输出优化建议信息,包括:
按各目标期望优化收益由大到小的顺序,依次针对各目标期望优化收益对应的库表对象的存储策略输出优化建议信息。
9.根据权利要求1-4中任一项所述的数据库存储优化方法,其特征在于,所述根据所述期望优化收益向所述数据库实例输出对应的优化建议信息,包括:
根据所述期望优化收益,在指定运维条件下向所述数据库实例输出对应的优化建议信息;所述指定运维条件是由运维规则信息提供的。
10.根据权利要求1-4中任一项所述的数据库存储优化方法,其特征在于,还包括:
对所述数据库实例的性能进行监测,确定所述数据库实例是否发生性能回退;
在所述数据库实例发生性能回退的情况下,向所述数据库实例输出撤销建议信息;所述撤销建议信息用于建议撤销已执行的优化操作。
11.一种数据库存储优化系统,其特征在于,包括:通信连接的数据库和优化控制模块;
所述数据库用于存储库表对象,并接收所述优化控制模块输出的优化建议信息和撤销建议信息中的至少一种信息;
所述优化控制模块用于对处于运行状态或服务状态的数据库执行权利要求1-10中任一项所述的数据库存储优化方法。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-10中任一项所述的数据库存储优化方法。
13.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的数据库存储优化方法。
CN202310223086.3A 2023-03-03 2023-03-03 数据库存储优化方法、系统、电子设备及存储介质 Pending CN116361265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310223086.3A CN116361265A (zh) 2023-03-03 2023-03-03 数据库存储优化方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310223086.3A CN116361265A (zh) 2023-03-03 2023-03-03 数据库存储优化方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116361265A true CN116361265A (zh) 2023-06-30

Family

ID=86934661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310223086.3A Pending CN116361265A (zh) 2023-03-03 2023-03-03 数据库存储优化方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116361265A (zh)

Similar Documents

Publication Publication Date Title
US20200356873A1 (en) Recommendation Model Generation And Use In A Hybrid Multi-Cloud Database Environment
CN104834675B (zh) 一种基于用户行为分析的查询性能优化方法
US20180150783A1 (en) Method and system for predicting task completion of a time period based on task completion rates and data trend of prior time periods in view of attributes of tasks using machine learning models
US9916353B2 (en) Generating multiple query access plans for multiple computing environments
US20200219028A1 (en) Systems, methods, and media for distributing database queries across a metered virtual network
US20130275685A1 (en) Intelligent data pre-caching in a relational database management system
CN111881358B (zh) 一种对象推荐系统、方法、装置、电子设备和存储介质
CN108595254B (zh) 一种查询调度方法
CN110637292B (zh) 用于查询资源高速缓存的系统和方法
US20170116288A1 (en) Identification and elimination of non-essential statistics for query optimization
US20160292225A1 (en) Generating multiple query access plans for multiple computing environments
CN116048817B (zh) 数据处理控制方法、装置、计算机设备和存储介质
US20140257785A1 (en) Hana based multiple scenario simulation enabling automated decision making for complex business processes
US20220035794A1 (en) Data retrieval via incremental updates to graph data structures
US20240303240A1 (en) Query generation from event-based pattern matching
CN117539648A (zh) 一种电子政务云平台的服务质量管理方法及装置
Zhang et al. Optimizing video caching at the edge: A hybrid multi-point process approach
Zhang et al. Buffer pool aware query scheduling via deep reinforcement learning
US11922441B2 (en) Method and system for event prediction using spatio-temporally sampled data
WO2024207834A1 (zh) 基于机器学习的多级缓存自适应系统及策略
CN110162272B (zh) 一种内存计算缓存管理方法及装置
CN116361265A (zh) 数据库存储优化方法、系统、电子设备及存储介质
CN114785858B (zh) 应用于互感器在线监测系统的资源主动缓存方法及装置
Sagaama et al. Automatic parameter tuning for big data pipelines with deep reinforcement learning
CN112800089B (zh) 一种中间数据存储级别调整方法、存储介质及计算机设备

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