Beruflich Dokumente
Kultur Dokumente
H-Store: A High-Performance,
Distributed Main Memory
Transaction Processing System
Kallman et al., Brown, 2008
Jones et al., MIT
Hugg, Vertica
Adabi, Yale
EECS 584 Fall 2014
The Landscape
Solutions
DBMS vs MMDB
https://www.ic.gc.ca/eic/site/oca-bc.nsf/eng/ca02093.html
Concurrency Control
Faster access means larger lock granules
Up to the whole database
Lock Bit
File Data
Commit Processing
Logging becomes a bottleneck if we write to
disk
We could use stable main memory
Non-volatile RAM just coming out
Hold log tail and move to disk constantly
Recovery
How do we deal with crashes?
Recovery
Most MMDB systems dump to disk
occasionally
Generally this is the entire database
Access Methods
Data Representation
Pointers in index structures
Pointers to communicate with client
Query Processing
Disk access time is no longer important
Cost estimation different
Miscellaneous
Applications can be given actual memory
positions for reads
Can even give direct access for writes
Dangerous!
H-Store solves with precompiled procedures
H-Store
H-Store
ONE
CPU
Architecture
Deploy Time
Procedures are
compiled
Layout determined by
administrator
Database optimized at
deploy time
Runtime
Transactions
Initiated at one site,
that site fulfills
transaction
Special Cases
Single Sited:
Transaction runs on
only one site
One-shot: Each
query in transaction
runs on only one
site
EECS 584 Fall 2014
Single-Sited Transaction
DATA
Request
Client
Single-Sited Transaction
DATA
Redirect
Client
Single-Sited Transaction
DATA
Response
Client
Multi-Sited Transaction
DATA
DATA
DATA
Request
Client
Locking
H-Store has no locks, we just execute one at a
time on a site
Concurrency achieved by partitioning data
across machines
We simply hope that a transaction doesnt
need data on multiple partitions
Multi-Sited Transaction
DATA
DATA
DATA
Request
Client
Multi-Sited Transaction
DATA
Request
Client