cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Hodges (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-1220) Improve Bloom filter efficiency
Date Fri, 13 Aug 2010 08:34:18 GMT

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

Jeff Hodges commented on CASSANDRA-1220:
----------------------------------------

This is a nice change.

> Improve Bloom filter efficiency
> -------------------------------
>
>                 Key: CASSANDRA-1220
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1220
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Coda Hale
>            Priority: Minor
>         Attachments: bloom-filter-calculation-correction.patch
>
>
> Attached is a patch which resolves two issues:
> First, the table of false positives for a given number of bits per element and a given
number of hashes in {{BloomCalculations}} is incomplete. This patch includes the calculations
from Table 5 of [Bloom Filters - The Math|http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html#327],
which is referenced in the documentation at the source of the table. This changes the optimal
number of hashes for the Bloom filters created by {{SSTableWriter}} (with 15 bits per element)
from 8 to 10, with a reduction in the false positive rate from 0.000852 to 0.000744. (The
patch also extends the table to include false positive rates for 16-20 bits per element for
future reference.)
> Second, the values of {{BloomCalculations.optKPerBuckets}} were not correct, in that
some of them did not choose the optimal number of hashes for a given number of bits per element,
probably due to transcription errors in the past. This patch replaces that series of constants
with an array of optimal hashes generated during {{BloomCalculation}}'s static initialization.
> This patch should apply cleanly to the {{0.6}} branch and {{trunk}} with all tests passing.

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


Mime
View raw message