数据库数据处理方法、装置、计算机设备和存储介质与流程

摘要: 本技术涉及数据库,特别是涉及一种数据库数据处理方法、装置、计算机设备和存储介质。背景技术:1、随着数据库技术的发展,通过数据库可以实现智能数据管理与分析,数据库...
数据库数据处理方法、装置、计算机设备和存储介质与流程

本技术涉及数据库,特别是涉及一种数据库数据处理方法、装置、计算机设备和存储介质。

背景技术:

1、随着数据库技术的发展,通过数据库可以实现智能数据管理与分析,数据库领域,数据库特征的有效表示是实现智能数据管理与分析的关键基础。比如,在查询优化场景中,查询优化器通常依赖数据库特征表示估算执行代价,再比如在数据监测场景中,通过数据库特征表示可以捕捉多属性协同变化引发的分布漂移。

2、相关技术中,多维直方图是建模数据库特征的常见手段,然而,多维直方图的空间复杂度随属性数量呈指数级增长,导致存储开销大。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够节省存储开销的数据库数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本技术提供了一种数据库数据处理方法。所述方法包括:

3、针对数据库中数据的每个数据属性,基于所述数据属性的各种属性值的频率指标值,将所述数据属性的各种属性值分别确定为高频属性值或低频属性值;

4、针对每种高频属性值,分别基于所述高频属性值确定一个第一类型分桶;

5、基于多种所述低频属性值,合并确定至少一个第二类型分桶;

6、根据所述第一类型分桶和所述第二类型分桶,构建所述数据属性对应的直方图向量;

7、基于所述数据库中数据的各数据属性各自对应的直方图向量,进行联合编码,获得所述数据库的数据库特征表示。

8、第二方面,本技术还提供了一种数据库数据处理装置。所述装置包括:

9、属性值分类模块,用于针对数据库中数据的每个数据属性,基于所述数据属性的各种属性值的频率指标值,将所述数据属性的各种属性值分别确定为高频属性值或低频属性值;

10、第一类型分桶确定模块,用于针对每种高频属性值,分别基于所述高频属性值确定一个第一类型分桶;

11、第二类型分桶确定模块,用于基于多种所述低频属性值,合并确定至少一个第二类型分桶;

12、直方图向量构建模块,用于根据所述第一类型分桶和所述第二类型分桶,构建所述数据属性对应的直方图向量;

13、联合编码模块,用于基于所述数据库中数据的各数据属性各自对应的直方图向量,进行联合编码,获得所述数据库的数据库特征表示。

14、在一些实施例中,属性值分类模块,还用于:在所述数据属性的属性值为离散型属性值的情况下,将所述数据属性的属性值集合中取值相同的属性值划分为同一种属性值,获得多种属性值;分别确定各种属性值各自的频率指标值;将频率指标值满足高频条件的属性值确定为高频属性值,将将频率指标值不满足所述高频条件的属性值确定为低频属性值。

15、在一些实施例中,属性值分类模块,还用于:根据滑动时间窗口内包含的所述数据属性的属性值,分别确定各种属性值在滑动时间窗口内的出现次数;所述滑动时间窗口的滑动步长与所述滑动时间窗口内数据变化幅度负相关;根据各种属性值在滑动窗口内的出现次数以及所述滑动时间窗口内的属性值总量,确定各种属性值各自的出现频率。

16、在一些实施例中,所述滑动窗口对应设置有各种属性值各自的计数器,各所述计数器用于统计滑动窗口内各种属性值的出现次数,所述直方图向量中,每个第一类型分桶以及每个第二类型分桶分别对应一个向量分量;上述数据库数据处理装置还包括:直方图更新模块,用于当所述滑动时间窗口滑动时,根据所述滑动时间窗口内更新的属性值所属的目标属性值种类更新对应的计数器;根据更新的计数器重新确定所述目标属性值种类的出现频率;根据重新确定的所述目标属性值种类的出现频率,更新所述直方图向量中所述目标属性值种类对应的向量分量。

17、在一些实施例中,属性值分类模块,还用于:在所述数据属性的属性值为连续型属性值的情况下,对所述数据属性的属性值的取值范围进行区间划分,得到多个数据区间;分别将每个数据区间确定为一种属性值;分别确定各种属性值各自的频率指标值;将频率指标值满足高频条件的属性值确定为高频属性值,将将频率指标值不满足高频条件的属性值确定为低频属性值。

18、在一些实施例中,属性值分类模块,还用于:在所述数据属性的属性值为连续型属性值的情况下,对所述数据属性的数据进行聚类,获得多个聚类簇;按照所述多个聚类簇进行区间划分,得到多个数据区间,所述多个数据区间与所述多个聚类簇一一对应。

19、在一些实施例中,上述数据库数据处理装置还包括:基数估计模块,用于获取查询语句,对所述查询语句进行特征化处理,获得所述查询语句对应的查询特征表示;基于所述查询特征表示对所述数据库特征表示进行注意力处理,获得注意力处理结果;根据所述注意力处理结果,确定所述查询语句的基数估计值。

20、在一些实施例中,基数估计模块,还用于将所述查询语句解析为抽象语法树;

21、遍历所述抽象语法树的连接谓词,将遍历到的等价连接谓词左右两侧的数据属性按等价性分组,获得至少一个等价属性组;针对每个等价属性组生成等价类标签,在所述抽象语法树中嵌入所述等价类标签,获得更新后的抽象语法树;将所述抽象语法树输入树卷积神经网络中,得到所述查询语句对应的查询特征表示。

22、在一些实施例中,基数估计模块,还用于:将所述查询特征表示进行多注意力头并行投影,获得各注意力头的查询矩阵;将所述数据库特征表示进行多注意力头并行投影,获得各注意力头的键矩阵以及值矩阵;针对每个注意力头,计算所述注意力头的查询矩阵与键矩阵之间的相关性,根据相关性计算结果确定注意力权重矩阵,通过所述注意力权重矩阵对所述注意力头的值矩阵加权求和,得到所述注意力头的输出结果;融合各个注意力头的输出结果,获得注意力处理结果。

23、在一些实施例中,联合编码模块,还用于:将所述数据库中数据的各数据属性各自对应的直方图向量组成的输入矩阵进行多注意力头并行投影,获得各注意力头的查询矩阵、键矩阵以及值矩阵;针对每个注意力头,计算所述注意力头的查询矩阵与键矩阵之间的相关性,根据相关性计算结果确定注意力权重矩阵,通过所述注意力权重矩阵对所述注意力头的值矩阵加权求和,得到所述注意力头的输出结果;融合各个注意力头的输出结果,得到所述数据库的数据库特征表示。

24、在一些实施例中,所述直方图向量包含与各第一类型分桶一一对应的向量分量以及与各第二类型分桶一一对应的向量分量;第二类型分桶确定模块,还用于:获取针对直方图向量预设的目标维度数;确定第一类型分桶的分桶数量,并基于所述目标维度数以及所述第一类型分桶的分桶数量,确定所述第二类型分桶的目标分桶数量;基于多种所述低频属性值,合并确定目标分桶数量的第二类型分桶。

25、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据库数据处理方法的步骤。

26、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库数据处理方法的步骤。

27、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库数据处理方法的步骤。

28、上述数据库数据处理方法、装置、计算机设备、存储介质和计算机程序产品,由于可以针对每个数据属性构建直方图向量,对各直方图向量联合编码得到数据库特征表示,得到的数据库表示可以准确建模数据库特征分布,并且在构建单个数据属性的直方图向量的过程中,将数据属性的各种属性值分别确定为高频属性值或低频属性值,对高频属性值和低频属性值采用不同的策略确定直方图分桶,由于高频属性值种类对数据库特征分布的建模准确性影响较大,但其数量通常较少,因此针对高频属性值单独确定直方图分桶可以在提高统计精度的同时对存储开销影响较小,低频属性值种类对数据库特征分布建模准确性影响较小,但其数量通常较大,因此基于多种低频属性值,合并确定直方图分桶,可以在不影响统计精度的同时显著减少存储开销,从而实现在提高数据库特征表示准确性的同时节省存储开销。