You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by Apache Wiki <wi...@apache.org> on 2012/03/22 22:01:21 UTC

[Cassandra Wiki] Update of "DataModel" by TylerHobbs

Dear Wiki user,

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

The "DataModel" page has been changed by TylerHobbs:
http://wiki.apache.org/cassandra/DataModel?action=diff&rev1=13&rev2=14

Comment:
Column family changes don't require a restart, schema.xml is no longer used

  }}}
  All values are supplied by the client, including the 'timestamp'.  This means that clocks on the clients should be synchronized (in the Cassandra server environment is useful also), as these timestamps are used for conflict resolution.  In many cases the 'timestamp' is not used in client applications, and it becomes convenient to think of a column as a name/value pair. For the remainder of this document, 'timestamps' will be elided for readability.  It is also worth noting the name and value are binary values, although in many applications they are UTF8 serialized strings.
  
- Timestamps can be anything you like, but microseconds since 1970 is a convention. Whatever you use, it must be consistent across the application otherwise earlier changes may overwrite newer ones.
+ Timestamps can be anything you like, but microseconds since 1970 is a convention. Whatever you use, it must be consistent across the application, otherwise earlier changes may overwrite newer ones.
  
  = Column Families =
- A column family is a container for columns, analogous to the table in a relational system.  You define column families in your storage-conf.xml file, and cannot modify them (or add new column families) without restarting your Cassandra process.  A column family holds an ordered list of columns, which you can reference by the column name.
+ A column family is a container for rows, analogous to the table in a relational system.  Each row in a column family can referenced by its key.
  
- Column families have a configurable ordering applied to the columns within each row, which affects the behavior of the get_slice call in the thrift API.  Out of the box ordering implementations include ASCII, UTF-8, Long, and UUID (lexical or time).
+ Column families have a configurable ordering applied to the columns within each row, which affects the behavior of the get_slice call in the thrift API.  Out of the box ordering implementations include ASCII, UTF-8, Long, UUID (lexical or time), Date, combinations of these using CompositeType, and others.
  
  = Rows =
  In Cassandra, each column family is stored in a separate file, and the file is sorted in row (i.e. key) major order. Related columns, those that you'll access together, should be kept within the same column family.