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
- Scalability and elasticity are our main goals
- Any feature that limits our main goals must be optional
- Everything should be asynchronous
- If you can't do something asynchronous, see #2
- All required components must be horizontally scalable
- Always use shared nothing architecture [(SN) or sharding
- If you can't Share nothing/shard, see #2