Distributed shared buffer (DSB) is a well-known solution to support multi-master database systems. DSB involves controlling access to shared data among different nodes through a distributed shared buffer and lock-based cache coherence protocols. Existing DSB implementations resolve conflicts at the page level and lack the flexibility required by modern cloud database systems. Authors present HyBuffer which mixes rows and pages in the distributed shared buffer. It enables multiple masters to independently modify different rows on the same page, thereby enhancing concurrency and performance. HyBuffer adopts the hybrid design to track the location information of cached data. A centralized node maintains page locations indicating which masters have cached which pages, and the record locations of a cached page are maintained by the master which has cached this page. This design eliminates the need to redistribute metadata when dynamically adding or removing masters. Experimental results demonstrate that HyBuffer achieves better scalability and performance compared to existing approaches.
Read full abstract