Memory management Cassandra是否使用堆内存存储blooms筛选器,100GB的数据占用多少空间?

Memory management Cassandra是否使用堆内存存储blooms筛选器,100GB的数据占用多少空间?,memory-management,heap,cassandra,heap-memory,bloom-filter,Memory Management,Heap,Cassandra,Heap Memory,Bloom Filter,我知道cassandra使用blooms过滤器来提高性能,并将这些过滤器数据存储到物理内存中 1) cassandra在哪里存储此过滤器?(在堆内存中?) 2) 这些过滤器消耗多少内存?运行时,Bloom过滤器必须保存在内存中,因为它们的全部目的是避免磁盘IO 不过,每个筛选器都会和组成每个SSTable的其他文件一起保存到磁盘中-请参阅 这些过滤器通常只占数据大小的一小部分,尽管实际的比率似乎变化很大。在我手边的测试节点上,我能找到的最大过滤器是3.3MB,用于1GB的数据。然而,对于另一个1

我知道cassandra使用blooms过滤器来提高性能,并将这些过滤器数据存储到物理内存中

1) cassandra在哪里存储此过滤器?(在堆内存中?)


2) 这些过滤器消耗多少内存?

运行时,Bloom过滤器必须保存在内存中,因为它们的全部目的是避免磁盘IO

不过,每个筛选器都会和组成每个SSTable的其他文件一起保存到磁盘中-请参阅

这些过滤器通常只占数据大小的一小部分,尽管实际的比率似乎变化很大。在我手边的测试节点上,我能找到的最大过滤器是3.3MB,用于1GB的数据。然而,对于另一个1.3GB的数据文件,过滤器只有93KB


如果您正在运行Cassandra,您可以通过在数据目录中查找名为*-Filter.db的文件来检查过滤器的大小

您的意思是,如果我有300 MB大小的总计*-Filter.db文件,当我的Cassandra运行时,这些文件将消耗300 MB的堆?这将取决于过滤器在内存中的实际存储方式,但是1:1的对应可能是正确的,因为我认为它使用了位集。你可以在