CareDB Ishan Sharma Abhishek Mittal Vivek Raj INDEX ● Context and Preference aware DBMS ● CareDB architecture ○ ○ ○ Preference Input Context Input Query Building Module ○ Query Processor ● Technical features of CareDB ○ FlexPref ○ Handling Expensive Contextual Data ○ Handling Uncertain Data ● CareDB prototype What is CareDB? ● A context and preference-aware database system. ● Beyond traditional boolean all or nothing query model. ● Supports multi-objective preference methods capable of finding the best alternatives according to users’ given preference objectives. What is CareDB? Three of its novel query processing characteristics: ● A generic and extensible preference-aware query processing engine. ● A framework to gracefully handle contextual attributes that are expensive to retrieve. ● A framework to efficiently process queries over uncertain contextual data. Need for a Context and Preference Aware DBMS Think of an app returning 5 hotels based on its recommendation for 5 hotels: ● Hotel 1: • No Rooms ● Hotel 2: • Very Expensive Rooms ● Hotel 3: • Way too expensive ● Hotel 4: • Not hygienic enough ● Hotel 5: • Haunted System Challenges CareDB addresses two fundamental core systems challenges: ● Preference Methods - Evaluation strategies to rank different preferences. E.g. top-k, skylines, hybrid multi-object methods, k-dominance, k-frequency, top-k dominance etc. ● Contextual Data - Any interesting data about the user or her environment that can help refine a preference answer. CareDB Architecture User Preference Structure - (Attribute, Preference, [Value]) Hard (e.g., equals) or Soft (e.g., highest, lowest) User may specify a ranking function over multiple attributes. Context Input in CareDB (Static or dynamic) ● User context - Any extra information about a user. ● Database context - Refers to data sources that are registered with CareDB, representing data in the domain a user wishes to query. ● Environment context - Any information about the user’s surrounding environment, assumed to be stored at a third party and consulted by the query processor. Query Building Module User submits simple SQL queries without constraints. QBM augments the submitted query with the preference constraints stored in the user’s preference profile. Preference constraints added to a Preferring Clause. Using Clause - which preference method to evaluate the preference Query Building Module Query Processor Embed various types of preference-aware query processing within a relational database engine. Each method accepts preference objectives like those specified in the preferring clause of the query. Support the integration of context-aware query processing. Contextual data is retrieved from a third-party source and expensive to derive relative to data stored locally in the database. Support preference and context-aware query evaluation that involves uncertain data. CareDB Technical Features FlexPref - Preference Query Framework Processing Processing with Contextual Data (Expensive) Taking Care of Data Uncertainty FlexPref ● PairwiseCompare(P, Q) - Objects P and Q come in, the value of P is updated, if Q is preferred 1, if P is preferred -1, or else 0. ● IsPreferredObject(P, S) - We take an object P and a set of preferred objects S, if P is a preferred object and can be added to S true is returned else false is returned. ● AddPreferredToSet(P, S) - We take an object P and a set of preferred Processing Value with Contextual Data ● Real time reading of Data. ● Is retrieved from secondary sources. ● It’s much more expensive than getting the local data. ● Implemented its prototype in Postgresql. Processing Value with Contextual Data Taking Care of Data Uncertainty In some places, the data value required can be uncertain. Upref is the query processing framework. Treats values to be a set of continuous values, Probability P attached with object O. Taking Care of Data Uncertainty 2 phase mechanism first phase setting the threshold ->Tolerance for error in probability allowed CareDB Implementation ● Location-based restaurant & hotel finding application. ● Allows user to edit preference objective as well as methods to evaluate it. ● Forwards a simple query to CareDB which injects with preference and context constraints. CareDB Implementation Results The personalized preference SQL query that was run on the database. Answers displayed on an embedded Google Maps interface. Takeaways • CareDB - A database taking care of the user’s preferences based and Contextual Data. • Technical Features of CareDB - FlexPef, handling context, uncertainity accountability. • CareDB implementation Prototype Questions And Answers Thank You
© Copyright 2026 Paperzz