Nosql leveldb/Cassandra的bloom过滤器是否有助于范围查询?

Nosql leveldb/Cassandra的bloom过滤器是否有助于范围查询?,nosql,cassandra,bigtable,leveldb,Nosql,Cassandra,Bigtable,Leveldb,我知道leveldb/cassandra将其记录存储在SSTable中,并在执行精确的键查询时使用bloom filter选择SSTable,他们的bloom filter是否有助于键范围查询?cassandra中有两种类型的范围查询:get_slice,它在一行中查找列的范围,以及get_range_slice,它从一系列行中查找一系列列 Bloom过滤器用于get_slice中定位行。但是Bloom过滤器不用于get\u range\u slices查询。但是,由于Cassandra键是以散

我知道leveldb/cassandra将其记录存储在SSTable中,并在执行精确的键查询时使用bloom filter选择SSTable,他们的bloom filter是否有助于键范围查询?

cassandra中有两种类型的范围查询:get_slice,它在一行中查找列的范围,以及get_range_slice,它从一系列行中查找一系列列


Bloom过滤器用于get_slice中定位行。但是Bloom过滤器不用于get\u range\u slices查询。但是,由于Cassandra键是以散列顺序存储的,因此get_range_切片不是很有用,因此必须扫描所有SSTables才能执行get_range_切片查询通常并不重要。

Cassandra中有两种类型的范围查询:get_切片,用于在一行中查找列的范围;get_range_切片,它从一系列行中查找一系列列


Bloom过滤器用于get_slice中定位行。但是Bloom过滤器不用于get\u range\u slices查询。然而,由于Cassandra密钥是以散列顺序存储的,所以get\u range\u切片不是很有用,因此必须扫描所有SSTables以执行get\u range\u切片查询通常并不重要。

在进入范围查询之前,了解什么是bloom filter很重要

Bloom筛选器是允许您交换内存的概率集 是一种节省空间的概率数据结构 用于测试元素是否为集合成员的

Cassandra在执行密钥查找时使用bloom筛选器来保存IO,正如您所知,每个SSTable都有一个与之关联的bloom筛选器,Cassandra在执行任何磁盘查找之前都会检查该筛选器。现在考虑没有Bloom过滤器的情况,每一个密钥的读取都必须读取每个StStand,这是非常昂贵的。通过使用bloom过滤器,cassandra几乎总是只需查找包含该键数据的sstables表


因此,无论何时执行范围查询,bloom过滤器都会扮演一个重要的角色。在范围查询的get_slice排序中,它将有助于识别准确的行,在get_range_slice中,它将有助于找到负责的概率键集

在进入范围查询之前,了解什么是布鲁姆过滤器很重要

Bloom筛选器是允许您交换内存的概率集 是一种节省空间的概率数据结构 用于测试元素是否为集合成员的

Cassandra在执行密钥查找时使用bloom筛选器来保存IO,正如您所知,每个SSTable都有一个与之关联的bloom筛选器,Cassandra在执行任何磁盘查找之前都会检查该筛选器。现在考虑没有Bloom过滤器的情况,每一个密钥的读取都必须读取每个StStand,这是非常昂贵的。通过使用bloom过滤器,cassandra几乎总是只需查找包含该键数据的sstables表


因此,无论何时执行范围查询,bloom过滤器都会扮演一个重要的角色。在范围查询的get_slice排序中,它将有助于识别准确的行,在get_range_slice中,它将有助于找到负责的概率键集

过滤器侧;填写第一部分:是的,LeveledCompactionStrategy通常会通过PK或index实现更快的扫描,因为数据行的写入端合并更为积极。

;填写第一部分:是的,LeveledCompactionStrategy通常会导致通过PK或索引进行更快的扫描,因为数据行的写入端合并更为积极。

Bloom筛选器不能用于获取范围切片-Bloom筛选器无法回答“筛选器是否包含X到Y范围内的键”的问题。它只能回答“过滤器是否包含X”。Richard完全正确,因此,如果我们能够获得“过滤器是否包含X”的信息,将间接提供帮助。怎么说?如果不查询X到Y范围内的每个键的Bloom筛选器,这可能是无限的。Bloom筛选器不能用于get_range_切片-Bloom筛选器无法回答“筛选器是否包含X到Y范围内的键”的问题。它只能回答“过滤器是否包含X”。Richard完全正确,因此,如果我们能够获得“过滤器是否包含X”的信息,将间接提供帮助。怎么说?如果不查询X到Y范围内每个键的Bloom筛选器,则可能会出现这种情况。根据类型,这甚至可能是无限的。