Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων...
description
Transcript of Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων...
![Page 1: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/1.jpg)
Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων
Πέτρος Μανούσης
University of Ioannina, Greece
![Page 2: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/2.jpg)
Problem definition• Changes on a database schema may cause
inconsistency in applications that use that database,is there a way to regulate that?• If there is such a way of accepting or rejecting a
change, could we satisfy it by rewriting thedatabase schema?• If there are conflicts between the applications on
acceptance or rejection of a change, is there apossibility of satisfying both?
![Page 3: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/3.jpg)
Our approachWe are going to present you a method that contains 3steps:1. Status Determination2. Path Check3. Rewrite
![Page 4: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/4.jpg)
Background
BackgroundMessage propagationPath checkRewritingExperiments and Results
![Page 5: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/5.jpg)
Database and queries
5
![Page 6: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/6.jpg)
Data-centric Ecosystem
6
![Page 7: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/7.jpg)
Evolving data-centric ecosystem
7
Add exam year
![Page 8: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/8.jpg)
Evolving data-centric ecosystemRemove CS.C_NAME
8
![Page 9: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/9.jpg)
Evolving data-centric ecosystem
Which parts are affected?
Remove CS.C_NAME
9
Add exam year
![Page 10: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/10.jpg)
Evolving data-centric ecosystemRemove CS.C_NAME
Add exam year
How are they affected?
Structure invalid
10
Semantically
![Page 11: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/11.jpg)
Problem definition
• Changes on a database schema may causeinconsistency in applications that use that database,is there a way to regulate that?• If there is such a way of accepting or rejecting a
change, could we satisfy it by rewriting thedatabase schema?• If there are conflicts between the applications on
acceptance or rejection of a change, is there apossibility of satisfying both?
![Page 12: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/12.jpg)
Policy-driven evolutionRemove CS.C_NAME
Add exam year
Can we regulate the propagation of the events?
Propagate addition
Block deletion
12
![Page 13: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/13.jpg)
Message propagation
BackgroundMessage propagationPath checkRewritingExperiments and Results
13
![Page 14: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/14.jpg)
Message propagation algorithm
![Page 15: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/15.jpg)
Architecture Graph
Modules and Module Encapsulation
SELECT V.STUDENT_ID, S.STUDENT_NAME, AVG(V.TGRADE) AS GPAFROM V_TR V STUDENT S ON STUDENT_IDWHERE V.TGRADE > 4 / 10GROUP BY V.STUDENT_ID, S.STUDENT_NAME
16
![Page 16: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/16.jpg)
University E/S Architecture Graph
17
![Page 17: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/17.jpg)
Annotation with Policies
On attribute addition Then propagate
On attribute deletion Then block
Status Determination
18
![Page 18: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/18.jpg)
Implementation problems•How do we guarantee that when a change occurs at the source nodes of the AG, this is correctly propagated to the end nodes of the graph?
We notify exactly the nodes that should be notified
The status of a node is determined independently of how messages arrive at the node
Without infinite looping
• Q
• V1 • V2
• R
19
![Page 19: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/19.jpg)
Propagation mechanism•Modules communicate with each other via a single means: the schema of a provider module notifies the input schema of a consumer module when this is necessary•Propagation
At the module level Intra-module level
20
![Page 20: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/20.jpg)
At the module level
1.Topologically sort the graph2.Visit affected modules with its topological order and process its incoming messages for it. 3.Process locally the incoming messages
21
![Page 21: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/21.jpg)
Module Level Propagation
Add Exam Year
22
![Page 22: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/22.jpg)
Module Level Propagation
Add Exam Year
1
23
![Page 23: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/23.jpg)
Module Level Propagation
Add Exam Year
1
2
2
24
![Page 24: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/24.jpg)
Message initiation
The Message is processed in one of the following schemata:Output schema and its attributes if the user wants to change the output of a module (add / delete / rename attribute).Semantics schema if the user wants to change the semantics tree of the module.
Finally, Messages are produced within the module for its consumers, containing the necessary parameters for its consumers.
25
![Page 25: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/25.jpg)
Within each module
A Message arrives at a module, through thepropagation mechanism, these steps describemodule's way of handling:1) Input schema and its attributes if applicable, are probed.2) If the parameter of the Message has any kind of connectionwith the semantics tree, then the Semantics schema is probed.3) Likewise if the parameter of the Message has any kind ofconnection with the output schema, then the Output schema andits attributes (if applicable) is probed.Finally, Messages are produced within themodule for its consumers.s
![Page 26: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/26.jpg)
Theoretical Guarantees•At the inter-module level
Theorem 1 (termination). The message propagation at the inter-module level terminates.
Theorem 2 (unique status). Each module in the graph will assume a unique status once the message propagation terminates.
Theorem 3 (correctness). Messages are correctly propagated to the modules of the graph
•At the intra-module level Theorem 4 (termination and correctness). The message propagation at
the intramodule level terminates and each node assumes a status.
27
![Page 27: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/27.jpg)
Path check
BackgroundMessage propagationPath checkRewritingExperiments and Results
28
![Page 28: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/28.jpg)
Problem definition•Changes on a database schema may causeinconsistency in applications that use that database,is there a way to regulate that?•If there is such a way of accepting or rejecting achange, could we satisfy it by rewriting thedatabase schema?•If there are conflicts between the applications onacceptance or rejection of a change, is there apossibility of satisfying both?
![Page 29: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/29.jpg)
Rewriting
Relation R
View0
View1 View2
Query1 Query2
Relation R
View0n
View1n View2n
Query1n
View0
View2
Query2
•View0 initiates a change.•Query2 rejects the change.•Query1 accepts the change.
30
![Page 30: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/30.jpg)
Path Check algorithm
![Page 31: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/31.jpg)
Path Check
•If there exists any Block Module we travel in reverse the Architecture Graph from blocker node to initiator of change•In each step we inform the Module to keep current version and produce a new one adapting to the change•We inform the blocker node that it should not change at all.
32
![Page 32: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/32.jpg)
Path Check
33
Relation R
View0
View1 View2
Query1 Query2
![Page 33: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/33.jpg)
Path Check
34
Query2 starts Path Check algorithmSearching which of his providers senthim the message and notify him that
he does not want to change
Relation R
View0
View1 View2
Query1 Query2
![Page 34: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/34.jpg)
Path Check
35
View2 is notifiedto keep current version for Query2 and
produce new version for Query1
Relation R
View0
View1 View2
Query1 Query2
![Page 35: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/35.jpg)
Path Check
36
View0 is notifiedTo keep current version for Query2 and
Produce new version for Query1
Relation R
View0
View1 View2
Query1 Query2
![Page 36: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/36.jpg)
Path Check
37
We make sure that Query2 will notchange since it is the blocker
Relation R
View0
View1 View2
Query1 Query2
![Page 37: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/37.jpg)
Problem definition•Changes on a database schema may causeinconsistency in applications that use that database,is there a way to regulate that?•If there is such a way of accepting or rejecting achange, could we satisfy it by rewriting thedatabase schema?•If there are conflicts between the applications onacceptance or rejection of a change, is there apossibility of satisfying both?
![Page 38: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/38.jpg)
Rewriting
Background InformationMessage propagationPath checkRewritingExperiments and Results
39
![Page 39: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/39.jpg)
Rewriting algorithm
![Page 40: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/40.jpg)
Rewriting
•If there is no Block, we perform the rewriting.•If there is Block and the initiator of the change is a relation we stop further processing.•Otherwise:
We clone the Modules that are part of a block path and were informed by Path Check and we perform the rewrite on the clones
We perform the rewrite on the Module if it is not part of a block path.
41
![Page 41: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/41.jpg)
Rewriting
42
Relation R
View0n
View1n View2n
Query1n
View0
View2
Query2
Relation R
View0
View1 View2
Query1 Query2
Keep current&produce new
Keep current&produce new
Keep onlycurrent
![Page 42: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/42.jpg)
Experiments and results
Background InformationMessage propagationPath checkRewritingExperiments and Results
43
![Page 43: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/43.jpg)
Experimental setup
University database ecosystem (the one of we used in previousslides, consisted of 5 relations, 2 view and 2 queries)TPC-DS ecosystem (consisted of 15 relations, 5 views and 27queries) where we used two workloads of events
For both ecosystems: propagate all policy and mixture policy(20% blockers)
Measurements: effectiveness & cost
![Page 44: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/44.jpg)
Impact & adaptation assessment for TPC-DS
![Page 45: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/45.jpg)
Impact & adaptation assessment
![Page 46: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/46.jpg)
Cost analysis
• The results of TPC-DSecosystem in workload 1• Path check nearly no cost
at all,but in 20% blockers doubled itsvalue
![Page 47: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/47.jpg)
Status Determination Cost
• Slightly slower time in mixture
mode due to blockers.
![Page 48: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/48.jpg)
Rewrite Cost
• Due to blockers and workload
containing mostly relationchanges, we have no rewrites inmixture mode in a set of events
![Page 49: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/49.jpg)
Rewrite time comparison
• Picks of red are due to cloning
of modules.• Bottoms of red are due to
blockers at a relation relatedevent.
![Page 50: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/50.jpg)
Lessons learned #1
• Users gain up to 90% of effort.• Even in really cohesive environments users gain at least 25% of
effort.• When all modules propagate changes 3.5 modules rewrite
themselves on average.
![Page 51: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/51.jpg)
Lessons learned #2• In “popular” modules our method takes great time compared
tounpopular ones.
• Module cloning costs.
• But since the time is measured in nanoseconds this is not big deal
![Page 52: Εξέλιξη Βάσεων Δεδομένων και Συντήρηση Εξαρτώμενων Εφαρμογών μέσω Επανεγγραφής Ερωτήσεων](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816755550346895ddc0b61/html5/thumbnails/52.jpg)
Thank you
Any question?
53