[ 
https://issues.apache.org/jira/browse/CASSANDRA-1555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12916174#action_12916174
 ] 

Stu Hood commented on CASSANDRA-1555:
-------------------------------------

> EWAH looks interesting. Would be interesting to see what that does for our BF.
I looked at it a bit more: it can't set() bits in random order (must ascend) 
and doesn't appear to support more than 2^31 bits. So we'd need another 
solution for filter creation, although we could compress into an EWAH at load 
time.

> More generally I suspect that degrading BF FP rate for extremely skinny rows 
> can actually be the right thing to do.
rcoli posted a usecase for ~240 million rows in ~90GB of data: I wouldn't call 
~400 bytes extremely skinny, but 90GB is way too early to be degrading 
performance.

> Considerations for larger bloom filters
> ---------------------------------------
>
>                 Key: CASSANDRA-1555
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1555
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>             Fix For: 0.8
>
>
> To (optimally) support SSTables larger than 143 million keys, we need to 
> support bloom filters larger than 2 GB, which java.util.BitSet can't handle 
> directly.
> A few options:
> * Switch to a BitSet class which supports 2^63 bits (Lucene's OpenBitSet)
> * Partition the java.util.BitSet behind our current BloomFilter
> ** Straightforward bit partitioning: bit N is in bitset N // 2^31
> ** Separate equally sized complete bloom filters for member ranges, which can 
> be used independently or OR'd together under memory pressure.
> All of these options require new approaches to serialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to