Font Size: a A A

Transparent consistency in Cache Augmented Database Management Systems

Posted on:2015-01-12Degree:Ph.DType:Dissertation
University:University of Southern CaliforniaCandidate:Yap, JasonFull Text:PDF
GTID:1478390017498084Subject:Computer Science
Abstract/Summary:
Cache Augmented Database Management Systems (CADBMSs) enhance the performance of simple operations that exhibit a high read to write ratio, e.g., interactive social networking actions. They are realized by extending a data store such as a Relational Database Management Systems (RDBMS) with a Key Value Store (KVS). At the time of writing, memcached is a popular in-memory KVS in use by a number of Internet service providers such as Facebook, YouTube, Wikipedia and others.;A key insight of CADBMSs is that query result lookup using the KVS is significantly faster than query processing using the RDBMS. A challenge is how to maintain these query results consistent in the presence of updates to the RDBMS. Today's CADBMS solutions require a developer to design, implement, debug, and maintain software to address this challenge. This dissertation presents novel design decisions to realize physical data independence that hides the details of the storage structure (KVS or RDBMS) from applications and their developers. These designs simplify the complexity of application software to expedite their development life cycle.;The proposed designs can be categorized into two groups. The first group prevents race conditions that cause the KVS to produce stale data. Our primary contribution here is the IQ framework and its simple programming model that employs Inhibit (I) and Quarantine (Q) leases to provide strong consistency. We describe the compatibility of the leases when the KVS is either invalidated or refreshed in the presence of updates to the RDBMS.;The second group includes transparent techniques that invalidate the key-value pairs of the KVS in the presence of updates to the RDBMS. Our primary contribution is the SQL Query to Trigger translation (SQLTrig) technique. It provides the application developers with the SQL query language and observes the performance enhancements of a KVS without requiring additional software. It intercepts the queries issued by an application and authors software in the form of triggers that describes the template of the query. It registers these triggers with the RDBMS prior to inserting the query and its result set as a key-value pair in the KVS. An insert, delete, update command to the RDBMS invokes the trigger to compute the query (key) whose result set (value) has changed. The trigger invalidates this key-value pair from the KVS in a transactional manner.;We describe a software prototype that embodies both the SQLTrig technique and the IQ framework. We use a social networking benchmark to compare this prototype with a nontransparent consistency technique where the developer extends the application software to maintain key-value pairs consistent with the relational data. Obtained results demonstrate that both provide comparable performance.
Keywords/Search Tags:Data, KVS, RDBMS, Performance, Software, Consistency, Application, Query
Related items