...
- Multiple tables
- Each table can have multiple tabletsEach table can have infinitely many objects
- Each object is key - value - version tuple
- Key is a primary unique key
- Hash table maintained from hash(key) to object, and key check made when object(s) found
- Operations:
- Basic operations: read, write, delete
- Conditional operations allow reading / writing / deleting only if version matches provided version
- Multi-ops allow multi-object operations (read / write / delete). The operation on each object is allowed to succeed / fail independent of others (i.e., it is not a transaction)
- Table split into tablets across servers
- We lose some locality
- Tablets get further split during recovery
- Helps in fast recovery
- But causes further fragmentation / loss of locality
(Highly inclusive list of) topics for further exploration (or not) and some initial thoughts about them:
...