System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 链接Bloom过滤器以估计数据集中具有低频的键的数量制造技术_技高网

链接Bloom过滤器以估计数据集中具有低频的键的数量制造技术

技术编号:40666033 阅读:7 留言:0更新日期:2024-03-18 19:00
描述了使用一系列Bloom过滤器(BF)生成近似频率直方图的技术。例如,为了估计数据集中的f1和f2基数,建立了三个BF(“BF1”、“BF2”和“BF3”)的有序链。对数据集中的每个数据执行插入操作,从而按数据的次序(从BF1开始)测试BF。如果该数据在当前测试的BF中被表示,那么针对该数据测试链中的后续BF。如果该数据没有在当前测试的BF中被表示,那么将该数据添加到该BF,递增用于该BF的计数器,并且用于当前数据的插入操作结束。为了估计数据集中f1值的基数,从BF1计数器中减去BF2计数器。类似地,为了估计数据集中f2值的基数,从BF2计数器中减去BF3计数器。

【技术实现步骤摘要】
【国外来华专利技术】

本文描述的技术涉及数据库管理,并且更具体而言,涉及高效地收集估计特定数据集中不同值的数量所需的数据。


技术介绍

1、在许多情况下都需要数据集中的不同值的数量(ndv,number of distinctvalues),诸如用于数据库查询优化、优化散列表创建和优化字典创建(例如,分配合适的字典尺寸)。

2、确定数据集(例如,数据库表的特定列中的值)的ndv的一种简单方法涉及扫描该完整的数据集以识别ndv。对于具有数百万或数十亿行的列,由于时间、计算资源和空间的限制,这种方法并不实用。

3、一种计算成本较低的方法是对数据集的ndv进行估计。一般而言,大多数ndv估计技术使用数据集的随机样本中的键(key)的频率统计(在本文中也称为“频率直方图”)来获得数据集的经估计的ndv。频率直方图示出了目标数据集中的键的频率分布,并且可以被表示为键-值对的集合。键表示不同的频率,并且值表示该样本中具有此频率的键的数量。例如,频率直方图:{1:100,2:70,100:1}指示目标数据集有100个键在该数据集中恰好出现一次(“f1”),70个键在该数据集中恰好出现两次(“f2”),并且一个键在该数据集中出现了100次(“f100”)。用于表示频率直方图的常用替代符号是f1=100,f2=70,f100=1。

4、取决于目标数据集的尺寸,计算用于数据集的频率直方图可能是时间密集(time-intensive)和存储器密集的(memory-intensive),并且在许多时候代表了ndv估计过程中的主要瓶颈。频率直方图生成的高资源使用率也限制了现实世界系统上目标数据集的尺寸,这影响了所得的ndv估计的质量。

5、例如,计算用于数据库列(例如,table_x中的column_x)的频率直方图的直观方法使用下面的sql查询1(query 1)示出,其中table_x表示驻留在数据库中的整个表或者这种表的样本:

6、

7、这种计算频率直方图的方法有多个缺点。例如,查询1中需要两个group by运算符,其在内部创建两个散列表。如果column_x仅包含独特(unique)键,那么内部group by操作的散列表具有与table_x相同的条目数量。对于许多数据库系统(包括mysql),大型输入表和用于group by操作的大型内部散列表可能会超出对临时数据的系统限制。因此,针对这种技术的table_x的尺寸受到限制以避免在执行查询1期间失败。

8、此外,查询1一次只能对一个列执行;不可能编写一次性返回table_x的多个列的频率直方图的单个查询。因此,对于给定应用需要ndv估计的每一列都要求单独处理,并且大大增加了针对该应用的ndv估计的总体成本。

9、而且,查询1计算column_x中观察到的所有频率的频率直方图,但是较低阶频率(f1和f2最为关键)一般对ndv估计具有最大影响。因此,计算(包括高频值的)整个频率直方图增加了不必要的计算开销。注意的是,查询1的sql实施方式是说明性的,并且使用查询1描述的方法的问题不限于sql实施方式。

10、高效地生成用于目标数据集的频率直方图使得不需要限制目标数据集的尺寸并且可以并发地分析多个数据集以生成频率直方图将是有益的。

11、本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有指示,否则不应当仅由于将本节中所述的任何方法包括在本节中而将其假设为现有技术。另外,不应当仅仅因为本节中所描述的任何方法包含在本节中而认为它们是很好理解的、例行的或常规的。


技术实现思路

本文档来自技高网...

【技术保护点】

1.一种计算机执行的方法,包括:

2.如权利要求1所述的计算机执行方法,还包括:

3.如权利要求1所述的计算机执行方法,其中

4.如权利要求3所述的计算机执行方法,其中:

5.如权利要求1所述的计算机执行方法,其中:

6.如权利要求5所述的计算机执行方法,其中:

7.如权利要求1所述的计算机执行方法,还包括:与为所述目标数据集的值收集估计的值频率数据并发地为一个或多个其它数据集的值收集估计的值频率数据。

8.如权利要求7所述的计算机执行方法,其中:

9.如权利要求1所述的计算机执行方法,还包括:至少部分地基于不同f1值的所述估计的数量来估计不同值的数量。

10.如权利要求9所述的计算机执行方法,其中:

11.一种或多种非暂态计算机可读介质,存储指令,所述指令在由一个或多个处理器执行时使得执行如权利要求1-10中的任一项所述的方法。

12.一种包括用于执行如权利要求1-10中的任一项所述的方法的部件的装置。

13.一种设备,包括:

【技术特征摘要】
【国外来华专利技术】

1.一种计算机执行的方法,包括:

2.如权利要求1所述的计算机执行方法,还包括:

3.如权利要求1所述的计算机执行方法,其中

4.如权利要求3所述的计算机执行方法,其中:

5.如权利要求1所述的计算机执行方法,其中:

6.如权利要求5所述的计算机执行方法,其中:

7.如权利要求1所述的计算机执行方法,还包括:与为所述目标数据集的值收集估计的值频率数据并发地为一个或多个其它数据集的值收集估计的值频率数据。

...

【专利技术属性】
技术研发人员:T·卡那格尔S·布达拉科提O·科克柏柏尔N·阿格尔沃A·伍德
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1