Poplar: Partially-Ordered Parallel Logging for Lower Isolation Levels
摘要
Existing parallel logging schemes are unsuitable for lower isolation levels due to tracking all dependencies of transactions. To overcome this problem, we present a high-performance parallel logging scheme (Poplar) in database management systems (DBMSs), which is compatible with multiple concurrency control techniques. Poplar uses a partially-ordered log sequence number (PSN) to encode write/read-dependencies of transactions. These dependencies are sufficient to ensure the correctness of logging and recovery. Our experimental evaluation shows that Poplar outperforms the state-of-the-art parallel logging schemes by up to \(\sim 67\%\) at Read Committed and \(\sim 23\%\) at Repeatable Read in the YCSB workload, and achieves up to \(\sim 97\%\) better performance at Read Committed in the TPC-C workload. It also enables the DBMS to recover up to \(\sim 22\%\) faster than these baselines.