Jump to: navigation, search

Difference between revisions of "BasicDesignTenets"

 
Line 6: Line 6:
 
## If you can't do something asynchronous, see #2
 
## If you can't do something asynchronous, see #2
 
# All required components must be horizontally scalable
 
# All required components must be horizontally scalable
 +
# Always use shared nothing architecture [[http://en.wikipedia.org/wiki/Shared_nothing_architecture  (SN)] or [[ http://en.wikipedia.org/wiki/Sharding| sharding]]
 +
## If you can't Share nothing/shard, see #2

Revision as of 17:47, 5 July 2010

Basic Design Tenets

  1. Scalability and elasticity are our main goals
  2. Any feature that limits our main goals must be optional
  3. Everything should be asynchronous
    1. If you can't do something asynchronous, see #2
  4. All required components must be horizontally scalable
  5. Always use shared nothing architecture [(SN) or sharding
    1. If you can't Share nothing/shard, see #2