You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2010/08/13 16:08:20 UTC

[jira] Updated: (CASSANDRA-1220) Improve Bloom filter efficiency

     [ https://issues.apache.org/jira/browse/CASSANDRA-1220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1220:
--------------------------------------

    Fix Version/s: 0.6.5

> 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
>             Fix For: 0.6.5
>
>         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.