Abstract
Real-time enterprise applications and data-intensive analytics often require very low latency access to large volumes of data. In-memory data cache is a promising approach to enable real-time analytics. In this paper we examine the issue of scaling out memory cache over multiple machines while providing a common data query language with rich expressive power, and allowing the data cached in memory to persist with the ACID properties. Designing and building a product quality scaled-out data cache engine from scratch is an option, but it requires large investment in time and engineering efforts.
We propose to build such a system by extending existing SQL systems. In our approach, we extend database buffer pool with a Distributed Caching Platform (DCP). We have developed a prototype of the system, which we call MemcacheSQL, engine by integrating PostgreSQL’s buffer management with Memcached, a widely used DCP platform. Our contributions include optimized data coherence management along the memory hierarchy, and flexibly configurable page buffering policies for accommodating various workloads. Our preliminary experiments show that the proposed system has the potential to achieve scalable performance gains by dynamically leveraging scale-out memory nodes, while retaining the full SQL’s expressive power and DBMS’s ACID support.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Nori, A.: Distributed Caching Platforms. In: VLDB 2010 (2010)
Arasu, A., Babu, S., Widom, J.: The CQL Continuous Query Language: Semantic Foundations and Query Execution. VLDB Journal 15(2) (June 2006)
Abadi, D.J., et al.: The Design of the Borealis Stream Processing Engine. In: CIDR 2005 (2005)
Chen, Q., Hsu, M., Zeller, H.: Experience in Continuous analytics as a Service (CaaaS). In: EDBT 2011 (2011)
Franklin, M.J., et al.: Continuous Analytics: Rethinking Query Processing in a Network-Effect World. In: CIDR 2009 (2009)
Memcached (2010), http://www.memcached.org/
EhCache (2010), http://www.terracotta.org/
Vmware vFabric GemFire (2010), http://www.gemstone.com/
Gigaspaces Extreme Application Platform (2010), http://www.gigaspaces.com/xap
IBM Websphere Extreme Scale Cache (2010), http://publib.boulder.ibm.com/infocenter/wxsinfo/v7r1/index.jsp?topic=/com.ibm.websphere.extremescale.over.doc/cxsoverview.html
AppFabric Cache (2010), http://msdn.microsoft.com/appfabric
Liarou, E., et al.: Exploiting the Power of Relational Databases for Efficient Stream Processing. In: EDBT 2009 (2009)
The Wafflegrid Project, http://www.wafflegrid.com/
http://www.scribd.com/doc/14603868/Distributed-Innodb-Caching-with-memcached
Membase, http://www.couchbase.com/
Baer, J., Wang, W.: On the inclusion properties for multi-level cache hierarchies. In: Proceedings of the 15th Annual International Symposium on Computer Architecture, ISCA 1988 (1988)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chen, Q., Hsu, M., Wu, R. (2012). MemcacheSQL A Scale-Out SQL Cache Engine. In: Castellanos, M., Dayal, U., Lehner, W. (eds) Enabling Real-Time Business Intelligence. BIRTE 2011. Lecture Notes in Business Information Processing, vol 126. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33500-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-33500-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33499-3
Online ISBN: 978-3-642-33500-6
eBook Packages: Computer ScienceComputer Science (R0)