CareDB - Faculty

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