Obladi: Oblivious Serializable Transactions in the Cloud
This addresses the need for privacy-preserving transactions in cloud databases, representing a novel system-level advancement rather than an incremental improvement.
The paper tackles the problem of providing ACID transactions with hidden access patterns in cloud systems, achieving throughput within 5x to 12x of a non-oblivious baseline on OLTP workloads, though with high latency overheads (70x on TPC-C).
This paper presents the design and implementation of Obladi, the first system to provide ACID transactions while also hiding access patterns. Obladi uses as its building block oblivious RAM, but turns the demands of supporting transactions into a performance opportunity. By executing transactions within epochs and delaying commit decisions until an epoch ends, Obladi reduces the amortized bandwidth costs of oblivious storage and increases overall system throughput. These performance gains, combined with new oblivious mechanisms for concurrency control and recovery, allow Obladi to execute OLTP workloads with reasonable throughput: it comes within 5x to 12x of a non-oblivious baseline on the TPC-C, SmallBank, and FreeHealth applications. Latency overheads, however, are higher (70x on TPC-C).