@inproceedings{bernstein2011hyder, author = {Bernstein, Phil and Reid, Colin and Das, Sudipto}, title = {Hyder - A Transactional Record Manager for Shared Flash}, booktitle = {CIDR}, year = {2011}, month = {January}, abstract = {Hyder supports reads and writes on indexed records within classical multi-step transactions. It is designed to run on a cluster of servers that have shared access to a large pool of network addressable raw flash chips. The flash chips store the indexed records as a multiversion log-structured database. Log-structuring leverages the high random I/O rate of flash and automatically wear-levels it.  Hyder uses a data-sharing architecture that scales out without partitioning the database or application. Each transaction executes on a snapshot, logs its updates in one record, and broadcasts the log record to all servers. Each server rolls forward the log against its locally-cached partial-copy of the last committed state, using optimistic concurrency control to determine whether each transaction commits. This paper explains the architecture of the overall system and its three main components: the log, the index, and the roll-forward algorithm. Simulations and prototype measurements are presented that show Hyder can scale out to support high transaction rates.}, url = {http://approjects.co.za/?big=en-us/research/publication/hyder-a-transactional-record-manager-for-shared-flash/}, pages = {9-20}, edition = {CIDR}, note = {Best Paper Award}, }