【技术实现步骤摘要】
【国外来华专利技术】数据库表的增量群集
[0001]相关申请的交叉引用
[0002]本申请要求在2018年7月17日提交的题为“SYSTEMS,METHODS,AND DEVICES FOR AUTOMATIC CLUSTERING OF A DATABASE TABLE,设备”的美国临时专利申请序列号62/699,528的优先权,该申请以其整体通过引用并入本文,包括但不限于以下具体出现的那些部分,以下引用除外:如果上述申请的任何部分与本申请不一致,则该申请取代上述申请。
[0003]本公开涉及数据库,并且更具体地涉及数据库的群集维护。
[0004]背景
[0005]数据库被广泛用于计算应用中的数据存储和访问。数据库存储的目标是以有组织的方式提供大量信息,以便可以对其进行访问、管理和更新。在数据库中,数据可以组织成行、列和表。不同的数据库存储系统可以用于存储不同类型的内容,诸如书目、全文、数字和/或图像内容。此外,在计算中,可以根据数据库的组织方法对不同的数据库系统进行分类。有许多不同类型的数据库,包括关系数据库、分布式数据库、云数据库、面向对象的数据库和其他数据库。
[0006]各种实体和公司都使用数据库来存储可能需要访问或分析的信息。在一个示例中,零售公司可以将所有销售交易的清单存储在数据库中。数据库可以包括关于交易何时发生、交易发生在哪里、交易的总成本、在交易中购买的所有物品的标识符和/或描述等信息。同一家零售公司还可能在同一数据库中存储员工信息,例如,该信息可能包括员工姓名、员工联系信息、员工工作历史记录 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:接收已经对表执行了数据修改任务的指示;确定所述表是否被充分群集;响应于确定所述表没有被充分群集,选择所述表的要被重新群集的一个或更多个微分区;以及将所述一个或更多个微分区中的每个微分区分配给执行节点以被重新群集。2.根据权利要求1所述的方法,其中,确定所述表是否被充分群集包括评估所述数据修改任务以确定是否已将足够数量的行添加到所述表中、已从所述表中删除足够数量的行和/或已在所述表中修改足够数量的行以必须重新群集所述表。3.根据权利要求1所述的方法,其中,选择所述表的要被重新群集的一个或更多个微分区包括:标识对于群集关键字列具有相等的最小值和最大值的恒定微分区;以及从考虑中移除所述恒定的微分区,使得所述恒定的微分区不被包括在要被重新群集的所述一个或更多个微分区中。4.根据权利要求1所述的方法,其中,选择所述表的要被重新群集的一个或更多个微分区包括:为所述表构造刺入计数数组;为所述刺入计数数组中的每个微分区提取最小端点和最大端点;计算所述最小端点和最大端点中的每者的统计信息;以及在所述刺入计数数组中标识比预定义阈值高的一个或更多个峰。5.根据权利要求4所述的方法,其中,选择所述表的要被重新群集的一个或更多个微分区还包括:基于高度对所述刺入计数数组中的所述一个或更多个峰中的每个峰进行排序;标识所述一个或更多个峰中的每个峰内的重叠的微分区;以及基于宽度对所述重叠的微分区进行排序。6.根据权利要求5所述的方法,其中,选择所述表的要被重新群集的一个或更多个微分区还包括基于哪些微分区在所述一个或更多个峰的最高峰内并且还基于所述重叠的微分区中的哪个重叠的微分区具有最宽的宽度进行选择。7.根据权利要求1所述的方法,还包括:定义用于分配处理资源以执行重新群集操作的预算,并且其中,所述确定所述表是否被充分群集至少部分地基于所述预算。8.根据权利要求1所述的方法,还包括将所述表的要被重新群集的一个或更多个微分区划分为一个或更多个批,每个批包括一组要被重新群集的微分区。9.根据权利要求1所述的方法,其中,选择所述表的要被重新群集的一个或更多个微分区包括:至少基于所述表的大小来确定所述表的最大级别数;将所述表分成多个级别;选择每个级别内的微分区的宏批,其中,所述宏批以单个峰为中心并且包括定义的边界;以及从所述宏批中选择微分区。
10.根据权利要求1所述的方法,其中,所述数据修改任务包括:将新的微分区摄取到所述表中,并且其中,确定所述表是否被充分地群集包括:检索所述表的级别信息;标识在所述表中处于较低级别的微分区的比例;确定是否有高比例的微分区处于所述较低级别;响应于确定高比例的微分区不处于所述较低级别,进入将不执行重新群集操作的稳定模式;以及响应于确定高比例的微分区处于所述较低级别,进入将执行重新群集操作的追赶模式。11.一种系统,包括:计算服务管理器,所述计算服务管理器用于管理基于云的数据库平台的内部操作;共同存储数据库数据的多个共享存储设备,其中,所述多个共享存储设备独立于所述计算服务管理器;以及包括多个执行节点的执行平台,其中,所述执行平台独立于所述多个共享存储设备和所述计算服务管理器;其中,所述计算服务管理器被配置为:接收所述执行平台的一个或更多个执行节点已经在所述数据库的表上执行了数据修改任务的指示;确定所述表是否被充分群集;响应于确定所述表没有被充分群集,选择所述表的要被重新群集的一个或更多个微分区;以及将所述一个或更多个微分区中的每个微分区分配给执行节点以被重新群集。12.根据权利要求11所述的系统,其中,所述计算服务管理器被配置为通过评估所述数据修改任务以确定是否已添加足够数量的行、已删除足够数量的行和/或已修改足够数量的行以必须重新群集所述表来确定所述表是否已充分群集。13.根据权利要求11所述的系统,其中,所述计算服务管理器被配置为通过以下方式选择所述表的要重新群集的一个或更多个微分区:标识对于群集关键字列具有相等的最小值和最大值的恒定微分区;以及从考虑中移除所述恒定的微分区,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。