Download presentation
Presentation is loading. Please wait.
Published byMadison Wilkerson Modified over 9 years ago
1
Olston, Ailamaki, Garrod, Maggs, Manjhi, Mowry, Carnegie Mellon University Conference on Innovative Data System Research, 2005 A Scalability Service for Dynamic Web Applications Raihan Al-Ekram University of Waterloo October 11, 2006
2
2 Outline Scalability Problem A Solution Challenges Proposed System Architecture Operation Consistency Management Channel-By-Query Channel-By-Update View Invalidation Strategies Conclusion Discussion
3
3 Scalability Problem Sudden Popularity Spikes Slashdot effect Civic Emergency 9/11, Hurricane Katrina
4
4 A Solution Scalability as a Third Party Service Content Distribution Network
5
5 Challenges Strong Consistency Inconsistency could cost lives Precludes TTL based caching Ownership of Data Security concerns Data corruption risks Precludes distributed data replication Invalidate cache instead of updating
6
6 Observations Read domination Modifications only in Home Servers Predefined Query and Update Templates Cache invalidation based on query/update independence analysis Strong cache consistency
7
7 System Architecture
8
8 System Operation Fixed set of query and update templates at the proxy servers Statically analyze the templates for conflicting query templates for each update template When an update template is instantiated, all proxies containing an instantiation of a conflicting query template is notified for invalidation Query template instantiations are organized in multicast groups and notifications are sent to only to proper multicast groups
9
9 Consistency Management Update Templates 1.insert into inv values (name=?, id=?, qty=?, date=now()) 2.update inv set qty=? Where id=? Query Templates 1.select qty from inv where name=? 2.Select * from inv where date>? 3.select * from inv where qty<?
10
10 Channel-By-Query Multicast Channels One per query template, parameter independent oQ1-PI, Q2-PI, Q3-PI One per parameter binding of an equality comparison oQ1-PS1, Q1-PS2, Q1-PS3 … Query Template Instantiation Subscribe own channels oQ1: Q1-PI, Q1-PSx oQ2: Q2-PI oQ3: Q3-PI Update Template Instantiation Notify conflicting query channels oU1: Q1-PSx, Q2-PI, Q3-PI oU2: Q1-PI, Q2-PI, Q3-PI Receive Notification Unsubscribe channels
11
11 Channel-By-Update Multicast Channels One per update template, parameter independent oU1-PI, U2-PI One per parameter binding oU1-PS1, U1-PS2, …, U2-PS1, U2-PS2, … Query Template Instantiation Subscribe conflicting update channels oQ1: U1-PSx, U2-PI oQ2: U1-PI, U2-PI oQ3: U1-PI, U2-PI Update Template Instantiation Notify own channels oU1: U1-PSx, U1-PI oU2: U2-PI Receive Notification Unsubscribe to channels
12
12 Comparison Channel-By-Query Fewer channel subscriptions More multicast messages Channel-By-Update More channel subscriptions Fewer multicast messages
13
13 View Invalidation Strategies Black-box, only query and update available View-Inspection, access to cache data is also available Full-Access, access to base data is also available Example Books (Title, Author, Subject) Authors (Author, Award, Country)
14
14 View Invalidation View create view MyView (Author, Award) as select A.Author, B.Award from Authors A, Books B where A.Author=B.Author and A.Country=“USA” and B.Subject=“History” Updates 1.update Authors set Country=“France” whereAuthor=“Tocqueville” 2.update Books set Subject=“Fiction” whereTilte=“Napoleon’s Television” Can benefit from view- inspection if there is no Author=“Tocqueville” Can benefit from full- access if before the update Subject “History”
15
15 Conclusion Ongoing work Scalable and consistent data caching Co-operative caches Minimal home server involvement
16
16 Discussion How are the updates in the home servers propagated to the proxies? How do the proxies determine if the client requested data is in the cache? Can this scheme provide 1SR or SI guarantee?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.