Dear Wiki user,

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

The "ArchitectureInternals" page has been changed by JonathanEllis:
http://wiki.apache.org/cassandra/ArchitectureInternals?action=diff&rev1=28&rev2=29

Comment:
add note on names

   * !AbstractReplicationStrategy controls what nodes get secondary, tertiary, 
etc. replicas of each key range.  Primary replica is always determined by the 
token ring (in !TokenMetadata) but you can do a lot of variation with the 
others.  !SimpleStrategy just puts replicas on the next N-1 nodes in the ring.  
!NetworkTopologyStrategy allows the user to define how many replicas to place 
in each datacenter, and then takes rack locality into account for each DC -- we 
want to avoid multiple replicas on the same rack, if possible.
   * !MessagingService handles connection pooling and running internal commands 
on the appropriate stage (basically, a threaded executorservice).  Stages are 
set up in !StageManager; currently there are read, write, and stream stages.  
(Streaming is for when one node copies large sections of its SSTables to 
another, for bootstrap or relocation on the ring.)  The internal commands are 
defined in !StorageService; look for `registerVerbHandlers`.
   * Configuration for the node (administrative stuff, such as which 
directories to store data in, as well as global configuration, such as which 
global partitioner to use) is held by !DatabaseDescriptor. Per-KS, per-CF, and 
per-Column metadata are all stored as parts of the Schema: !KSMetadata, 
!CFMetadata, !ColumnDefinition. See also ConfigurationNotes.
+ 
+ = Some historial baggage =
+  * Some classes have misleading names, notably !ColumnFamily (which 
represents a single row, not a table of data) and !Table (which represents a 
keyspace).
  
  = Write path =
   * !StorageProxy gets the nodes responsible for replicas of the keys from the 
!ReplicationStrategy, then sends !RowMutation messages to them.

Reply via email to