A trigger-based middleware cache for ORMs

ACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal, December 12-16, 2011. Proceedings

Bibliographic Details
Main Authors: Gupta, Priya, Zeldovich, Nickolai, Madden, Samuel R.
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Springer Berlin / Heidelberg 2012
Online Access:http://hdl.handle.net/1721.1/73895
https://orcid.org/0000-0002-7470-3265
https://orcid.org/0000-0003-0238-2703
_version_ 1826197422152351744
author Gupta, Priya
Zeldovich, Nickolai
Madden, Samuel R.
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Gupta, Priya
Zeldovich, Nickolai
Madden, Samuel R.
author_sort Gupta, Priya
collection MIT
description ACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal, December 12-16, 2011. Proceedings
first_indexed 2024-09-23T10:47:26Z
format Article
id mit-1721.1/73895
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T10:47:26Z
publishDate 2012
publisher Springer Berlin / Heidelberg
record_format dspace
spelling mit-1721.1/738952022-09-30T23:03:27Z A trigger-based middleware cache for ORMs Gupta, Priya Zeldovich, Nickolai Madden, Samuel R. Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Zeldovich, Nickolai Madden, Samuel R. ACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal, December 12-16, 2011. Proceedings Caching is an important technique in scaling storage for high-traffic web applications. Usually, building caching mechanisms involves significant effort from the application developer to maintain and invalidate data in the cache. In this work we present CacheGenie, a caching middleware which makes it easy for web application developers to use caching mechanisms in their applications. CacheGenie provides high-level caching abstractions for common query patterns in web applications based on Object-RelationalMapping (ORM) frameworks. Using these abstractions, the developer does not have to worry about managing the cache (e.g., insertion and deletion) or maintaining consistency (e.g., invalidation or updates) when writing application code. We design and implement CacheGenie in the popular Django web application framework, with PostgreSQL as the database backend and memcached as the caching layer. To automatically invalidate or update cached data, we use triggers inside the database. CacheGenie requires no modifications to PostgreSQL or memcached. To evaluate our prototype, we port several Pinax web applications to use our caching abstractions. Our results show that it takes little effort for application developers to use CacheGenie, and that CacheGenie improves throughput by 2-2.5× for read-mostly workloads in Pinax. Quanta Computer (Firm) 2012-10-11T19:21:51Z 2012-10-11T19:21:51Z 2011-12 2011-12 Article http://purl.org/eprint/type/ConferencePaper 978-3-642-25820-6 0302-9743 1611-3349 http://hdl.handle.net/1721.1/73895 Gupta, Priya, Nickolai Zeldovich, and Samuel Madden. “A Trigger-Based Middleware Cache for ORMs.” Middleware 2011. Ed. Fabio Kon & Anne-Marie Kermarrec. LNCS Vol. 7049. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. 329–349. https://orcid.org/0000-0002-7470-3265 https://orcid.org/0000-0003-0238-2703 en_US http://dx.doi.org/10.1007/978-3-642-25821-3_17 Middleware 2011 Creative Commons Attribution-Noncommercial-Share Alike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/ application/pdf Springer Berlin / Heidelberg MIT web domain
spellingShingle Gupta, Priya
Zeldovich, Nickolai
Madden, Samuel R.
A trigger-based middleware cache for ORMs
title A trigger-based middleware cache for ORMs
title_full A trigger-based middleware cache for ORMs
title_fullStr A trigger-based middleware cache for ORMs
title_full_unstemmed A trigger-based middleware cache for ORMs
title_short A trigger-based middleware cache for ORMs
title_sort trigger based middleware cache for orms
url http://hdl.handle.net/1721.1/73895
https://orcid.org/0000-0002-7470-3265
https://orcid.org/0000-0003-0238-2703
work_keys_str_mv AT guptapriya atriggerbasedmiddlewarecachefororms
AT zeldovichnickolai atriggerbasedmiddlewarecachefororms
AT maddensamuelr atriggerbasedmiddlewarecachefororms
AT guptapriya triggerbasedmiddlewarecachefororms
AT zeldovichnickolai triggerbasedmiddlewarecachefororms
AT maddensamuelr triggerbasedmiddlewarecachefororms