Presentation is loading. Please wait.

Presentation is loading. Please wait.

MiniCon: A Scalable Algorithm for Answering Queries Using Views Rachel Pottinger and Alon Levy Affiliates Meeting February 24, 2000.

Similar presentations


Presentation on theme: "MiniCon: A Scalable Algorithm for Answering Queries Using Views Rachel Pottinger and Alon Levy Affiliates Meeting February 24, 2000."— Presentation transcript:

1 MiniCon: A Scalable Algorithm for Answering Queries Using Views Rachel Pottinger and Alon Levy Affiliates Meeting February 24, 2000

2 Answering Queries Using Views uProblem: access views (stored queries) instead of original relations uUseful in data integration and query optimization uNP-Complete uMany papers on the subject uNo empirical testing of algorithms

3 Data Integration Used.com -Prices and years of used cars Used(price, year) :- Cost(model, price) & Age(model,year) Cheap.com -Prices of cars Cheap(price) :- Cost(model,price) Car Sale Information Query: What price do cars made in 1996 sell for? Query(Price, “1996”):- Cost(Model,Price) & Age(Model, “1996”)

4 View challenges uData sources (Cheap.com, Used.com) are pre-calculated views uViews are not complete uGet the most answers possible given the views uMany data sources

5 Inverse Rules uTake the views and invert them Cheap(price):- Cost(car,price)  Cost(?,price) :- Cheap(price) uNow can query on database relations to find all relevant rules uRun regular database functions to find answers uExtended to be more efficient in our paper

6 Bucket Algorithm: Populating buckets ¶For each relation in the query, place relevant views in the relation’s bucket Inputs: Query(Price,“1996”):- Cost(Model,Price) & Age(Model,“1996”) Cheap(price):-Cost(model,price) Used(price,year):-Cost(model,price) & Age(model,year) Age(Model, “1996”) Used(_, “1996”) Buckets: Cost(Model,Price) Cheap(Price) Used(Price,_)

7 Combining Buckets ËFor every combination in the Cartesian products from the buckets, check containment in the query Candidate rewritings: Query’ 1 (x) :- Cheap(Price) & Used(_, “1996”)  Query’ 2 (x) :- Used(Price,_) & Used(_, “1996”)  Bucket Algorithm will check all possible combinations Buckets: Age(Model, “1996”) Used(_, “1996”) Cost(Model,Price) Cheap(Price) Used(Price,_)

8 The MiniCon Algorithm Concentrate on variables rather than relations to create MiniCon Descriptions (MCDs) Combine MCDs that only overlap on returned view variables

9 MiniCon Description Formation ¶Form all MiniCon Descriptions (MCDs) that map all query variables that have to be mapped together Inputs: Query(Price,“1996”):- Cost(Model,Price) & Age(Model,“1996”) Cheap(price):-Cost(model,price) Used(price,year):-Cost(model,price) & Age(model,year) viewmappingrelations mapped Used Model  model, 1, 2 Price  price, “1996”  year MCDs:

10 MiniCon Combination Take all combinations of MCDs that ¶ map disjoint sets of relations · map all relations of the query MCDs: Rewriting: Query’(Price,“1996”):-Used(Price, “1996”) viewmappingrelations mapped Used Model  model, 1, 2 Price  price, “1996”  year

11 Experimental results: Many rewritings

12 Experimental Results: Few rewritings

13 See paper for details Including: uFurther experimental evaluation uExtension to handle interpreted predicates uImprovement to Inverse Rules uQuery optimization extension


Download ppt "MiniCon: A Scalable Algorithm for Answering Queries Using Views Rachel Pottinger and Alon Levy Affiliates Meeting February 24, 2000."

Similar presentations


Ads by Google