Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Update README.md

  • Loading branch information...
commit 92075f432cf2be929fe00015e2f3490d455b9c57 1 parent 662f26c
@Jay-Oh-eN authored
Showing with 2 additions and 2 deletions.
  1. +2 −2 README.md
View
4 README.md
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.