cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Created: (CASSANDRA-1142) redesign hinted handoff schema
Date Fri, 28 May 2010 17:02:45 GMT
redesign hinted handoff schema
------------------------------

                 Key: CASSANDRA-1142
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1142
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Jonathan Ellis
            Assignee: Brandon Williams
             Fix For: 0.7


Currently, the HH schema looks like this:
 * For each table (keyspace), there is a row in the system hints CF.
 * SuperColumns in that row are keys for which we have hinted data.
 * Subcolumns names within that supercolumn are host IPs. Subcolumn values are always empty.
 * Instead, we store the row data "normally" in the application table it belongs in.

This has the drawback that we need to scan the entire hints data set to deliver hints to a
given endpoint.  I propose instead we do this:

 * Row keys are endpoints for which we have hints.
 * SuperColumns in that row are keys for which we have hinted data.
 * Subcolumns names within that supercolumn are Keyspace + CF names, joined with a '-' (which
is an illegal character in CF names, so it's safe to use here)

This makes looking up hints for a single endpoint efficient, as well as making it so we only
have to read data from CFs for which we actually have data for the key.

Actual row data continues to be stored in application tables.

Makes sense to do this after CASSANDRA-1141.



-- 
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