Permalink
Browse files

Update README.md

  • Loading branch information...
1 parent 662f26c commit 92075f432cf2be929fe00015e2f3490d455b9c57 @hopelessoptimism committed Apr 23, 2012
Showing with 2 additions and 2 deletions.
  1. +2 −2 README.md
View
@@ -5,7 +5,7 @@ A transactional, replicated, and partitioned key-value store implemented in [Bud
bud-kvs has a distributed architecture which has the potential to scale horizontally across additional nodes. Each node consists of two basic key-value stores, simple get(key) put(key,value) and del(key) operations, to store data. Two KVS's are necessary to allow for transactions, more info on this below.
-Also, there is a a lockmanager on each node to ensure strict two-phase locking. Since the data is partitioned (and the lockmanagers are distributed) there is a central "manager" node that coordinates transactions, detects deadlocks, and routes requests to the appropriate node with the appropriate data.
+Also, there is a lockmanager on each node to ensure strict two-phase locking. Since the data is partitioned (and the lockmanagers are distributed) there is a central "manager" node that coordinates transactions, detects deadlocks, and routes requests to the appropriate node with the appropriate data.
Replication is achieved by simply duplicating each partition and propagating writes asynchonously to the replicas.
@@ -18,7 +18,7 @@ A crude diagram can be seen [here](https://docs.google.com/drawings/pub?id=1R6Mg
Each node has a lockmanager that locks the KVS at the granularity of "keys" and is implemented using "Shared" and "Exclusive" locks. A shared lock is required for reads and an exclusive lock is required for writes, where multiple shared locks can be granted for a resource but only one exclusive lock can be granted at a time.
-The locking on unit of keys allows multi-key updates to happen concurrently. The protocol is implemented to enforce strict two phase locking, each transaction must release all of its locks only at its conclusion, to prevent cascading rollbacks.
+The locking on the unit of keys allows multi-key updates to happen concurrently. The protocol is implemented to enforce strict two phase locking, each transaction must release all of its locks only at its conclusion, to prevent cascading rollbacks.
## Partitioning

0 comments on commit 92075f4

Please sign in to comment.