190 likes | 330 Views
A model for Context-aware Databases. What is Context?. Ο καθένας ορίζει το context διαφορετικά... “location, identities of nearby people and objects, and changes to those objects” “environment or situation” etc… Δύο πιο γενικοί ορισμοί:
E N D
What is Context? • Ο καθένας ορίζει το context διαφορετικά... • “location, identities of nearby people and objects, and changes to those objects” • “environment or situation” • etc… • Δύο πιο γενικοί ορισμοί: • Contextis any information that can be used to characterize the situation of an entity. • A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task.
Motivation • Πολλά διαφορετικά μοντέλα για την περιγραφή του context. • Όμως τελικά η διαχείριση της πληροφορίας με βάση το context γίνεται στο επίπεδο των εφαρμογών. • Redundancy: Η λογική και οι βασικές λειτουργίες υλοποιούνται από κάθε εφαρμογή ξεχωριστά. • Οι υλοποιήσεις εξαρτώνται στενά από τη φύση της κάθε εφαρμογής και τις επιλογές κατά τον σχεδιασμό της. • Maintenance overhead.
Motivation • Ο στόχος είναι: • Ομοιόμορφος χειρισμός της πληροφορίας και του context που την χαρακτηρίζει. • Διαχείριση του context ως «first class citizen»από τα ΣΔΒΔ. • Πλεονεκτήματα: • Καλύτερος σχεδιασμός. • High level query language. • Efficient access/optimization. • Μηχανισμός για consistency checking ως προς το context.
Context Definition • World • environment under which data obtain a substance. • Dimension • the set of parameters used to specify the worlds. • example set of dimensions D = {device, payment} • Context specifier • [device=PC] • [device=PDA, payment in {credit card, cash}] • Universal context: [] • Empty context: [-]
Example • Web site about digital cameras. • Information entity dcamera with attributes: • Brand,Model, MPix, Photo, Price • Dimensions: • device ranging over {PC, PDA, CELL} • payment ranging over {Credit Card, Cash} • Photo: defined only for worlds withbrowsing device in {PC,PDA} • Price: defined in every worldbut its values may change
Context-Project πModel[ ], MPix[ ], Price[ ]dcamera
Context-Project πModel[Device=PC,Payment=CreditCard], MPix[Device=PC,Payment=CreditCard], Price[Device=PDA,Payment in {CreditCard,Cash}]dcamera
World Project κ[w1,w4]dcamera
Entity Context-Select σentity(BRAND[ ]=‘Kodak’AND MPix[]>3)dcamera
Entity Context-Select σentity(BRAND[ ]=‘Kodak’AND MPix[]>3)dcamera σentity(Price[Device=PC,Payment=Cash] < Price[Device=PC,Payment=CreditCard])dcamera σentity(BRAND[ ] = Kodak AND Price < 250)dcamera Πως αποτιμάται το condition στους κόσμους όπου δεν ορίζεται ένα attribute?? NO context specifier evaluate the condition to true if there existsat least one world where the condition holds.
Facet Context-Select σfacet(Price < 500)dcamera
Illustrating Example • Ctx-Rel1context cartesian product(dcamera, accessories) • Ctx-Rel2σentity(dc.Model[ ] = ac.Model[ ] AND BRAND[ ]=‘Kodak’AND dc.Price[Device=PC,Payment=Cash]<400)Ctx-Rel1 • Result πdc.Model[Device=PC,Payment=Cash], dc.Price[Device=PC,Payment=Cash], ac.Name[Device=PC,Payment=CreditCard],Ac.Price[Device=PC,Payment=CreditCard]Ctx-Rel2
CR vs Relational model • Relational implementation: • A single demoralized relation. • Number of different worlds relations. • The link between the facets of the same entity is lost. • The link between the same attribute under different worlds is lost.
Future Work • Extend the relational calculus and algebra to incorporate context. • Context-aware query language for the CR model. • Possible uses of CRModel • Time/histories of data. • Personalization/profiles. • Web/mobile services. • Design efficient access methods to take context into account. • Query optimization.
Ερωτήσεις ?????? ???? ?????