cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Trivial Update of "FileFormatDesignDoc" by StuHood
Date Mon, 02 May 2011 03:22:04 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "FileFormatDesignDoc" page has been changed by StuHood.
http://wiki.apache.org/cassandra/FileFormatDesignDoc?action=diff&rev1=34&rev2=35

--------------------------------------------------

  
  === Types ===
  
-  * ''deleted'' - If a range/value has been deleted at any point in time, we need to record
that action with timestamps: marking a range/value ''deleted'' indicates that these timestamps
exist
+  * ''deleted'' - If a value has been deleted at any point in time, we need to record that
action with timestamps: marking a value ''deleted'' indicates that these timestamps exist
-  * ''standard'' - A standard value has a timestamp to indicate when it was created; a range
will be marked standard if it has children (a standard range without children has no reason
to exist)
+  * ''standard'' - A standard value has a timestamp to indicate when it was created
-  * ''expiring'' - An expiring value has additional timestamps to indicate when it should
be garbage collected. Currently, only values may be marked expiring.
+  * ''expiring'' - An expiring value has additional timestamps to indicate when it should
be garbage collected
-  * ''null'' - A range or value entry in a chunk that is only a placeholder. For example,
if a parent has ranges but no values, a ''null'' value will be inserted in a chunk to indicate
to viewers that the parent exists.
+  * ''counter'' - Counter values have an additional timestamp to indicate the last time the
counter was deleted
+  * ''range_*'' - Types that indicate the beginning or end of a range. ''range_begin*'' types
store two timestamps
+    * ''begin|end'' - Indicate that a tuple is stored to signify a split in the metadata
for a parent 
+    * ''(begin|end)_null'' - Indicate that a range is beginning or ending, but that it is
unbounded, and hence no tuple is stored
  
  === Range Metadata ===
  
- Range tuples can be encoded in a very similar fashion to the value tuples represented above,
except that they always come in pairs. It will likely make sense to store them in a separate
blob from the value tuples, since they will bear very little similarity to one another (TODO:
need to confirm with an anecdote or two).
+ Ranges are stored as two values embedded in the array of tuples in a chunk, and marked with
a ''range_*'' type as described above.
  
  || ''name1'' - ''left'' || ''name1'' - ''right''  || ''parent_change'' || ''null?'' ||
  || havarti || muenster || 0 || 0 ||

Mime
View raw message