Show simple item record

dc.contributor.authorGupta, Priya
dc.contributor.authorZeldovich, Nickolai
dc.contributor.authorMadden, Samuel R.
dc.date.accessioned2012-10-11T19:21:51Z
dc.date.available2012-10-11T19:21:51Z
dc.date.issued2011-12
dc.date.submitted2011-12
dc.identifier.issn978-3-642-25820-6
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.urihttp://hdl.handle.net/1721.1/73895
dc.descriptionACM/IFIP/USENIX 12th International Middleware Conference, Lisbon, Portugal, December 12-16, 2011. Proceedingsen_US
dc.description.abstractCaching 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.en_US
dc.description.sponsorshipQuanta Computer (Firm)en_US
dc.language.isoen_US
dc.publisherSpringer Berlin / Heidelbergen_US
dc.relation.isversionofhttp://dx.doi.org/10.1007/978-3-642-25821-3_17en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleA trigger-based middleware cache for ORMsen_US
dc.typeArticleen_US
dc.identifier.citationGupta, 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.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorZeldovich, Nickolai
dc.contributor.mitauthorMadden, Samuel R.
dc.relation.journalMiddleware 2011en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsGupta, Priya; Zeldovich, Nickolai; Madden, Samuelen
dc.identifier.orcidhttps://orcid.org/0000-0002-7470-3265
dc.identifier.orcidhttps://orcid.org/0000-0003-0238-2703
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record