Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων

Σχετικά έγγραφα
Προσδιορισµός Παραθύρων σε Ρεύµατα εδοµένων

Πίνακας περιεχοµένων

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Οπτικοποίηση ρευµάτων τροχιάς κινούµενων αντικειµένων

αβεβαιότητα (uncertainty) Η έλλειψη ακριβούς γνώσης ή το σφάλµα που σχετίζεται µε την πραγµατική θέση ενός κινούµενου αντικειµένου.

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6)

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

14/10/2005. <id, ts, x, y> (online). (single-pass). Potamias-abstract.pdf

Το εσωτερικό ενός Σ Β

1 Εισαγωγή ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Συχνές ερωτήσεις - απαντήσεις για τη χρήση του λογισµικού

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Περιγραφή του εκπαιδευτικού/ μαθησιακού υλικού (Teaching plan)

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

Επεξεργασία Ερωτήσεων

Συστήµατα Ρευµάτων εδοµένων για Κινούµενα Αντικείµενα

Το µαθηµατικό µοντέλο του Υδρονοµέα

ΠΡΟΣ ΙΟΡΙΣΜΟΣ ΠΑΡΑΘΥΡΩΝ ΣΕ ΡΕΥΜΑΤΑ Ε ΟΜΕΝΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Ε.Μ.Π. -.Π.Μ.Σ. Γεωπληροφορική 13/06/2003 1

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Ευρετήριο όρων. Η ηµερολόγιο 3 δείκτης 114. Ι δεικτοδότηση , 191 ιστόγραµµα 53 δηλωτική γλώσσα 70 διάδοση δεδοµένων 199

Αξιοποίηση της συσχέτισης μεταξύ λέξεων για τη βελτίωση του προσεγγιστικού φιλτραρίσματος πληροφορίας

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Query-by-Example (QBE)

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

ΜΑΘΗΜΑ 2Σ6 01 ΕΡΓΑΣΤΗΡΙΟ ΧΩΡΟΤΑΞΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Επεξεργασία Ερωτήσεων

Μεταθέσεις και πίνακες μεταθέσεων

Κασταλία Σύστηµα στοχαστικής προσοµοίωσης υδρολογικών µεταβλητών

Επεξεργασία Ερωτήσεων

x=l ηλαδή η ενέργεια είναι µία συνάρτηση της συνάρτησης . Στα µαθηµατικά, η συνάρτηση µίας συνάρτησης ονοµάζεται συναρτησιακό (functional).

Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε

Επεξεργασία Ερωτήσεων

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου»

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Κεφάλαιο 5 Κριτήρια απόρριψης απόμακρων τιμών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Φυσικής Σημειώσεις Ανάλυσης Ι (ανανεωμένο στις 5 Δεκεμβρίου 2012)

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Συγκοινωνιακός Σχεδιασµός κόµβος Σχήµα.. Αναπαράσταση σε χάρτη του οδικού δικτύου µιας περιοχής... Μέθοδοι καταµερισµού των µετακινήσεων.. Εύρεση βέλτ

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

Μηχανική ΙI Ροή στο χώρο των φάσεων, θεώρηµα Liouville

Αριθμητική Ανάλυση και Εφαρμογές

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ Σφάλµατα και στατιστική επεξεργασία πειραµατικών µετρήσεων

Ζάντζος Ιωάννης. Περιληπτικά το σενάριο διδασκαλίας (Β Γυμνασίου)

Εφαρμογές παρακολούθησης. Διαχείριση ρευμάτων τροχιάς κινούμενων αντικειμένων. Επεξεργασία ερωτημάτων διαρκείας. Ρεύματα θέσεων αντικειμένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Certified Data Base Designer (CDBD)

2. οµή πληροφοριακής σήµανσης

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

4.2 Δραστηριότητα: Ολικά και τοπικά ακρότατα

ΒΕΛΤΙΣΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ. Δρ. Πολ. Μηχ. Κόκκινος Οδυσσέας

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Βάσεις Δεδομένων (Databases)

Γνώμη του Συμβουλίου Προστασίας Δεδομένων (άρθρο 64)

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

Κεφάλαιο 10 ο Υποπρογράµµατα

Αριθμητική Ανάλυση και Εφαρμογές

ΑΕΠΠ Ερωτήσεις θεωρίας

Υδρονοµέας Σύστηµα υποστήριξης της διαχείρισης υδατικών πόρων

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Εφαρμοσμένη Στατιστική Δημήτριος Μπάγκαβος Τμήμα Μαθηματικών και Εφαρμοσμένων Μαθηματικών Πανεπισ τήμιο Κρήτης 22 Μαΐου /32

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ενότητα 3. Εννοιολογικό Πλαίσιο Κόστους - Ορισµοί ιακρίσεις. MBA Master in Business Administration Τµήµα: Οικονοµικών Επιστηµών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1

Γεώργιος Φίλιππας 23/8/2015

Αναγνώριση Προτύπων Ι

Εγγυημένη ποιότητα υπηρεσίας

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

Δομές Δεδομένων & Αλγόριθμοι

Πρωτόκολλο TCP Διάλεξη ΙΙI

Αριθμητική Ανάλυση & Εφαρμογές

Περίληψη ιπλωµατικής Εργασίας

Πίνακες Εισροών-Εκροών της Ελληνικής Οικονοµίας για τον Τουρισµό. Σύνοψη Μελέτης

Αικατερίνη Τσούμα Ερευνήτρια Κέντρου Προγραμματισμού και Οικονομικών Ερευνών (ΚΕΠΕ)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πρόγραµµα Μεταπτυχιακών Σπουδών Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων Εργασία για το µάθηµα Θεωρία Βάσεων εδοµένων ιδάσκουσα: Καθηγήτρια Φώτω Αφράτη Κωνσταντίνος Χ. Πατρούµπας ΑΘΗΝΑ ΕΚΕΜΒΡΙΟΣ 2004

Πίνακας περιεχοµένων 1 Εισαγωγή... 3 2 ιαχείριση ρευµάτων δεδοµένων... 4 2.1 Προσεγγιστικές απαντήσεις σε ερωτήµατα... 4 2.2 Προβληµατικοί τελεστές... 4 2.3 Πολλαπλά ερωτήµατα διαρκείας... 5 3 Το µοντέλο ρεύµατος δεδοµένων... 5 3.1 Βασικές έννοιες... 5 3.2 Σηµασιολογία ερωτηµάτων διαρκείας... 6 4 Παραθυρικές δοµές σε ερωτήµατα διαρκείας... 7 4.1 Προσδιορισµός παραθύρων... 8 4.1.1 Μετατόπιση άκρων... 8 4.1.2 Μονάδα µέτρησης περιεχοµένων... 8 4.1.3 Βήµα προόδου... 8 4.1.4 Σύνθετες µορφές παραθύρων... 9 4.2 Τύποι φυσικών παραθύρων... 9 4.2.1 Παράθυρα πλειάδων... 9 4.2.2 Μεριστικά παράθυρα... 9 4.3 Τύποι λογικών παραθύρων... 10 4.3.1 Παράθυρα χρονικού οροσήµου... 10 4.3.2 Πάγια παράθυρα ζώνης... 10 4.3.3 Κυλιόµενα χρονικά παράθυρα... 10 4.3.4 Επάλληλα παράθυρα... 11 5 ιατύπωση και επεξεργασία παραθυρικών ερωτηµάτων διαρκείας... 11 5.1 Τελεστές µε χρήση παραθύρων... 11 5.1.1 Παραθυρικές συνδέσεις... 11 5.1.2 Παραθυρικές συναθροίσεις... 12 5.1.3 Παραθυρικές συνολοθεωρητικές πράξεις... 12 5.2 Βελτιστοποίηση παραθυρικών ερωτηµάτων... 13 5.3 ιατύπωση ερωτηµάτων µε χρήση παραθύρων... 13 5.3.1 Παραθυρικά ερωτήµατα σε CQL... 13 5.3.2 Παραθυρικά ερωτήµατα σε StreaQuel... 15 5.4 Επεξεργασία παραθυρικών ερωτηµάτων... 15 6 Σχετική έρευνα... 16 7 Συµπεράσµατα... 17 Παραποµπές... 17 Ορολογία... 18 ΣΗΜΕΙΩΣΕΙΣ: * Εικόνα εξωφύλλου: Προσχέδιο εκτέλεσης στο σύστηµα STREAM για ένα ερώτηµα διαρκείας σε ρεύµατα τροχιάς αντικειµένων και τα αποτελέσµατα που λαµβάνονται online. * οκιµαστικές εκδόσεις Συστηµάτων ιαχείρισης Ρευµάτων εδοµένων υπάρχουν διαθέσιµες από τις διευθύνσεις: http://www-db.stanford.edu/stream/ (για το σύστηµα STREAM) http://telegraph.cs.berkeley.edu/telegraphcq/v0.2/ (για το σύστηµα TelegraphCQ) 2

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων * Κ. Πατρούµπας kpatro@dblab.ece.ntua.gr Σύνοψη ιάφορες γλώσσες ερωταποκρίσεων έχουν προταθεί για την αποδοτική διαχείριση δεδοµένων που εµφανίζονται µε τη µορφή ρευµάτων σε πολλές σύγχρονες εφαρµογές παρακολούθησης, λ.χ. δίκτυα αισθητήρων, τηλεπικοινωνίες, έλεγχος χρηµατοοικονοµικών δεικτών κ.ά. Τα ερωτήµατα διαρκείας που διατυπώνονται συνήθως σ αυτές τις γλώσσες εκτελούνται συνεχώς στα τρέχοντα περιεχόµενα του ρεύµατος δεδοµένων και επιστρέφουν αποτελέσµατα online. Η υποβολή τέτοιων ερωτηµάτων συνοδεύεται απαραίτητα από προσδιορισµό κατάλληλου µεγέθους «παραθύρων», τα οποία εξυπηρετούν στην απόσπαση πεπερασµένου συνόλου πλειάδων από το εφήµερο ρεύµα δεδοµένων. Έτσι είναι δυνατόν να προχωρεί απρόσκοπτα η επεξεργασία ερωτηµάτων (όπως τα συναθροιστικά) που κανονικά θα έπρεπε ν αναµένουν την ολοκλήρωση του πιθανόν ανεξάντλητου ρεύµατος πριν καν αρχίσουν να παράγουν αποτελέσµατα. Στην εργασία ανασκοπούνται οι κυριότερες µορφές παραθύρων, όπως προτείνονται στην τρέχουσα βιβλιογραφία. Στη συνέχεια, επιχειρείται µια τυποποιηµένη καταγραφή της σηµασιολογίας τους θεµελιώνοντας µε οµοιογενή αλγεβρικό συµβολισµό τις έως τώρα αφηρηµένες περιγραφές. Τέλος, αποτιµάται η εκφραστική δυνατότητα και η σαφήνεια των παραθυρικών δοµών, διατυπώνοντας χαρακτηριστικά ερωτήµατα διαρκείας σε δύο πρωτότυπα συστήµατα ρευµάτων δεδο- µένων (STREAM, TelegraphCQ) και προσεγγίζοντας ζητήµατα βελτιστοποίησης κατά την επεξεργασία τους. 1 Εισαγωγή Στο συµβατικό µοντέλο των βάσεων δεδοµένων, τα στοιχεία αποθηκεύονται σε προκαθορισµένους σχεσιακούς πίνακες (relations), επί των οποίων οι χρήστες µπορούν να διατυπώσουν ερωτήµατα (queries) για την ανάκτηση πληροφοριών που αναφέρονται στο τρέχον στιγµιότυπο της βάσης. Τα περιεχόµενα των πινάκων θεωρούνται λίγο-πολύ αµετάβλητα, µε την έννοια ότι οι συνήθεις δοσοληψίες (εισαγωγές, διαγραφές και ενηµερώσεις εγγραφών) είναι λιγότερο συχνές συγκριτικά προς τα πιθανόν περίπλοκα ερωτήµατα. Επιπλέον, η εκτέλεσή τους ενεργοποιείται πάντοτε από τον χρήστη και το ερώτηµα παύει να ισχύει µόλις επιστραφεί η απάντηση. Γενικά, η βάση δεδοµένων αντιµετωπίζεται ως ένας «παθητικός» χώρος συσσώρευσης στοιχείων, τα οποία περιστασιακά χρησι- µοποιούνται για να απαντηθούν τα ερωτήµατα των χρηστών. * * Η εργασία αυτή συνοψίζει αδηµοσίευτα πορίσµατα έρευνας που εκπονείται σε συνεργασία µε τον καθηγητή Τίµο Σελλή. Ωστόσο, η ευµετάβλητη ροή εφήµερων δεδοµένων που εµφανίζονται σε πολλές σύγχρονες εφαρµογές αλλάζει το τυπικό πλαίσιο διαχείρισής τους και περιπλέκει τον τρόπο επεξεργασίας τους σε τέτοιο βαθµό, ώστε τα τυπικά συστήµατα βάσεων δεδοµένων να κρίνονται ανεπαρκή. Μεταξύ άλλων, χαρακτηριστικά παραδείγµατα εφαρµογών περιλαµβάνουν ανάλυση χρονοσειρών που συλλέγονται από µετρήσεις σε δίκτυα αισθητήρων, στατιστικά στοιχεία επισκέψεων σε ιστοσελίδες στο ιαδίκτυο, έλεγχο διακίνησης πακέτων σε δίκτυα υπολογιστών, παρακολούθηση διακυµάνσεων χρηµατιστηριακών συναλλαγών κ.ά. Σε τέτοιες περιπτώσεις, τα δεδοµένα µεταβάλλονται δυναµικά κατά µη προβλέψιµο τρόπο, ενώ ο ρυθµός άφιξης και ο όγκος των στοιχείων που καταφθάνουν στο σύστηµα µέσω δικτύων µπορεί να εµφανίσει ραγδαίες ή απροσδόκητες διακυµάνσεις [CCD+03]. Παράλληλα, η φύση της πληροφορίας έχει µεταβληθεί: δεν αρκεί πλέον η οργάνωση και διαχείριση κάποιας υπολογίσιµης ποσότητας δεδοµένων που απλώς εισάγονται στο σύστηµα και παραµένουν εκεί παθητικά, µέχρις ότου κάποιος χρήστης να τα αναζητήσει στο µέλλον (pull model). Απεναντίας, τα ίδια τα δεδοµένα όχι µόνο τροφοδοτούν αυτοτελώς το σύστηµα ακόµη και χωρίς ανθρώπινη παρέµβαση αλλά κατά την εισδοχή τους συχνά προκαλούν την εκτέλεση διαδικασιών, ενεργοποιώντας κάθε φορά την κατάλληλη ανταπόκριση στην διακινούµενη πληροφορία (push model). Για να τονιστεί ο ενεργητικός χαρακτήρας των στοιχείων γίνεται πλέον λόγος για ρεύµατα δεδοµένων (data streams), διαχωρίζοντας το πρότυπό τους από τις βάσεις δεδοµένων [ACC+03]. Σύµφωνα λοιπόν µε το µοντέλο ρευµάτων δεδοµένων, θεωρείται ότι τα στοιχεία καταφθάνουν στο σύστηµα µε κυµαινόµενους, χρονικά µεταβαλλόµενους ρυθµούς, ενώ το µέγεθός τους είναι απεριόριστο και πάντως όχι εξαρχής γνωστό [BBD+02]. Σ ένα τέτοιο περιβάλλον ρευστότητας, συνήθως υποβάλλονται ερωτήµατα διαρκείας (continuous queries) [B01], τα οποία παραµένουν ενεργά επί µακρόν και οφείλουν να παρέχουν τα αποτελέσµατά τους σταδιακά, παρακολουθώντας το ρυθµό άφιξης των στοιχείων. Εποµένως, η επεξεργασία των στοιχείων πρέπει να γίνεται σε πραγµατικό χρόνο (real-time), ενδεχοµένως χαλαρώνοντας τα περιθώρια σφάλµατος που οι χρήστες είναι διατεθειµένοι να αποδεχθούν για τις προσεγγιστικές απαντήσεις που θα δοθούν. Τα τελευταία χρόνια, η επιστηµονική διερεύνηση των σχετικών ζητηµάτων έχει εστιασθεί στους εξής κύριους άξονες: Σχεδιασµός και υλοποίηση συστηµάτων διαχείρισης ρευµάτων δεδοµένων (data stream management systems) γενικού σκοπού, µε ανάπτυξη µεθόδων χρονοπρογραµµατισµού διεργασιών, διαχείρισης πόρων του συστήµατος, και περιβάλλοντος διεπαφής (GUI) µε τους χρήστες. ιάφορα 3

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων. πρωτότυπα συστήµατα έχουν υλοποιηθεί σε σηµαντικό βαθµό και έχουν ήδη τεθεί σε δοκιµαστική λειτουργία (AURORA, NiagaraCQ, STREAM, TelegraphCQ). Τεχνικές υπολογισµού µε online αλγορίθµους για στατιστική ανάλυση, εξόρυξη δεδοµένων και κυρίως συντήρηση προσεγγιστικών περιλήψεων (summaries) των στοιχείων. Βελτιστοποίηση χαρακτηριστικών ερωτηµάτων διαρκείας, σε καθεστώς µεταβαλλόµενων συνθηκών υπολογιστικού φόρτου και απροσδόκητων διακυµάνσεων στην εισροή των στοιχείων του ρεύµατος. Γλώσσες ερωταποκρίσεων (query languages) για τη διαχείριση και την επεξεργασία ερωτηµάτων διαρκείας, καθώς και αρτιότερη αλγεβρική θεµελίωση των σχετικών τελεστών του µοντέλου. Ήδη, στα πλαίσια της ανάπτυξης συστηµάτων έχουν υλοποιηθεί ικανά τµήµατα τέτοιων γλωσσών, όπως η CQL για το σύστηµα STREAM, η StreaQuel στο TelegraphCQ και η SQuAl για το AURORA. Στο σκέλος της µελέτης κατάλληλων µοντέλων και γλωσσών για ρεύµατα δεδοµένων εντάσσεται και η διερεύνηση που επιχειρείται στην παρούσα εργασία. Η ανασκόπηση καλύπτει τις παραθυρικές δοµές (windows) που χρησιµοποιούνται κατά τη διατύπωση ερωτηµάτων διαρκείας, µε κύριο στόχο τον περιορισµό των στοιχείων του ρεύµατος που θα εξεταστούν και την απεµπλοκή της εκτέλεσης ερωτηµάτων. Εν τούτοις, εξ όσων συνάγονται από την τρέχουσα σχετική βιβλιογραφία, η σηµασιολογία των σχετικών δοµών δεν έχει ακόµη αποσαφηνιστεί πλήρως. Στη συνέχεια του άρθρου, γίνεται απόπειρα διατύπωσης των παραθύρων σε αλγεβρική µορφή, προεκτείνοντας τις µέχρι σήµερα αφηρηµένες περιγραφές προς µια αυστηρότερα θεµελιωµένη σηµασιολογία. Επιπλέον, βασικοί τελεστές της σχεσιακής άλγεβρας επεκτείνονται στους ανάλογους παραθυρικούς, ώστε να µπορούν να συµµετάσχουν σε ερωτήµατα διαρκείας. Τέλος, δίνονται χαρακτηριστικά παραδείγµατα παραθυρικών ερωτη- µάτων σε πρωτότυπα συστήµατα (STREAM, TelegraphCQ), µε παράλληλο σχολιασµό του τρόπου επεξεργασίας τους. 2 ιαχείριση ρευµάτων δεδοµένων Στην ενότητα αυτή θα περιγραφούν επιλεκτικά κάποια ζητή- µατα διαχείρισης ρευµάτων δεδοµένων (Σχ. 1) που ως ένα βαθµό εξαρτώνται από τον ορισµό παραθυρικών δοµών και αναδεικνύουν τη σηµασία τους στην επεξεργασία ερωτηµάτων. 2.1 Προσεγγιστικές απαντήσεις σε ερωτήµατα Ο απεριόριστος όγκος των στοιχείων του ρεύµατος που είναι δυνατόν να συσσωρευτούν συνήθως αποτρέπει τη χρήση του δίσκου, προκειµένου ν αποφευχθούν επιβαρύνσεις στο κόστος που θα απαιτούσαν οι δοσοληψίες, κυρίως ως προς το χρόνο ανάγνωσης/εγγραφής (I/O) στοιχείων. Γι αυτό το λόγο προκρίνεται η γρήγορη επεξεργασία των δεδοµένων στη µνήµη. Λαµβάνοντας υπόψη τους περιορισµούς στη διαθεσιµότητα χώρου καθώς και τη δυναµική δέσµευση της µνήµης από πολλαπλές διαδικασίες που εξελίσσονται ταυτόχρονα, µόνο µικρό µέρος των δεδοµένων µπορεί να φυλαχθεί στη µνήµη και µάλιστα προσωρινά, αφού σύντοµα θα πρέπει να ελευθερωθεί χώρος για τα νεότερα στοιχεία. Συνεπώς, η µνήµη λειτουργεί ως ένα «παράθυρο» απ όπου διέρχονται τα στοιχεία Σχ.1: Αρχιτεκτονική συστηµάτων διαχείρισης ρευµάτων δεδοµένων. και οι αλγόριθµοι επεξεργασίας καλούνται να «σαρώσουν» τα δεδοµένα σ ένα µόνο πέρασµα (single-pass algorithms), παρακολουθώντας τη χρονική τους εξέλιξη και χωρίς επίγνωση της πληροφορίας που θα καταφθάσει µελλοντικά. Ο αλγόριθµος πρέπει να υπολογίζει την τιµή µιας συνάρτησης f (όπως άθροισµα ή µέσος όρος) επί του τµήµατος των δεδοµένων που έχει παρέλθει µέχρι εκείνη τη στιγµή. Η υπολογιστική πολυπλοκότητα των σχετικών µεθόδων συνήθως εκτιµάται βάσει του αριθµού των περασµάτων, του απαιτούµενου χώρου, του χρόνου υπολογισµού ανά στοιχείο του ρεύµατος ή του συνολικού χρόνου επεξεργασίας, για την περίπτωση που το µέγεθος του ρεύµατος υποτεθεί εξαρχής γνωστό. Εφόσον ο ρυθµός επεξεργασίας υπερτερεί ή έστω συµβαδίζει µε τη διαρκή άφιξη νέων πλειάδων, το online µοντέλο υπολογισµού µπορεί όντως να λειτουργήσει αποδοτικά, παρέχοντας προοδευτικά (incrementally) και εγκαίρως ακριβή αποτελέσµατα. Σε αντίθετη περίπτωση, είναι αναπόφευκτη κάποια βαθµιαία έκπτωση στις απαιτήσεις ακρίβειας ή επικαιρότητας των απαντήσεων που θα επιστρέφονται. Συνήθως επιλέγεται η λύση της παροχής προσεγγιστικών απαντήσεων σε πραγµατικό χρόνο µε τη µορφή συνόψεων (synopses). Τέτοιας µορφής περιληπτικές δοµές επιχειρούν να συµπυκνώσουν την πληροφορία του ρεύµατος, θέτοντας προκαθορισµένα περιθώρια σφάλµατος. Μπορεί ο φόρτος του συστήµατος να µειώνεται, αλλά η δυσκολία εντοπίζεται στην ανάγκη ανανέωσης των περιεχοµένων των συνόψεων, αφού τα πρωτογενή δεδοµένα µεταβάλλονται δυναµικά κατά µη προβλέψιµο τρόπο. Συνόψεις µπορούν να παραχθούν είτε µε χρήση ντετερµινιστικών µεθόδων, όπως ιστογράµµατα ή κυµατίδια (wavelets), είτε τυχαιοποιηµένων (randomized) τεχνικών, λ.χ. σκίτσα (sketches). Η αποδοτική τήρηση κατάλληλων συνόψεων αποτελεί ενεργό πεδίο ερευνητικής προσπάθειας. 2.2 Προβληµατικοί τελεστές Τα ερωτήµατα διαρκείας που υποβάλλονται ενδέχεται να περιλαµβάνουν τελεστές, λ.χ. συνάθροισης ή σύνδεσης, µε αναµφισβήτητη χρησιµότητα στη διαχείριση των στοιχείων. Ωστόσο, τέτοιες λειτουργίες αποδεικνύονται προβληµατικές όταν χρειαστεί να κατεργαστούν τα απειράριθµα στοιχεία ενός ρεύµατος δεδοµένων [BBD+02]. Οι ανασχετικοί τελεστές (blocking operators) χαρακτηρίζονται από την ιδιότητά τους να αναµένουν την ολοκλήρωση των δεδοµένων εισόδου, πριν ξεκινήσουν να παράγουν έστω και µια πλειάδα απάντησης σε κάποιο ερώτηµα. Χαρακτηριστικά παραδείγµατα είναι η ταξινόµηση (sorting) και οι λειτουργίες 4

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων συνάθροισης (aggregates), όπως SUM, COUNT, MIN, MAX, AVG. Η ύπαρξη τέτοιων τελεστών σε κάποιο ερώτηµα θα ήταν δυνατόν να καθηλώσει την εκτέλεσή του, αφού ο αλγόριθµος µαταίως θα περίµενε να εξαντλήσει την ανάγνωση όλων των στοιχείων, προτού ξεκινήσει την επεξεργασία τους (λ.χ. ταξινόµηση). Οµοίως προβληµατικοί είναι και οι τελεστές διατήρησης κατάστασης (stateful operators), όπως λ.χ. η σύνδεση (join) ή η τοµή (intersection) µεταξύ ρευµάτων. Για να είναι δυνατή η εκτέλεσή τους, θα πρέπει να διατηρούν τις τιµές όλων των πλειάδων του ρεύµατος που σχετίζονται µ αυτούς (κατάσταση). Αυτό σηµαίνει ότι ο όγκος των στοιχείων που πρέπει να «θυµάται» ο τελεστής, αυξάνεται διαρκώς χωρίς συγκεκριµένο άνω όριο, µε εµφανή κίνδυνο εξάντλησης της διαθέσιµης µνήµης. Για την αντιµετώπιση αυτών των ζητηµάτων έχει κυρίως υιοθετηθεί η χρήση παραθύρων, όπως θα αναλυθεί διεξοδικά σε επόµενες ενότητες. Επίσης, έχει διερευνηθεί το ενδεχόµενο επιβολής περιορισµών (constraints) στο σχήµα των δεδοµένων, προκειµένου να αξιοποιηθούν εγγενείς ιδιότητες των στοιχείων, λ.χ. όταν οι πλειάδες φτάνουν συγχρονισµένες ή ταξινο- µηµένες ως προς κάποιο γνώρισµα ή υπάρχουν περιορισµοί ακεραιότητας (referential integrity constraints) µεταξύ ρευµάτων. Μια εναλλακτική προσέγγιση [TMSF02] εισηγείται την τεχνητή επαύξηση του ρεύµατος δεδοµένων, µε προσθήκη εµβόλιµων πλειάδων. Κατ αναλογίαν προς τα σηµεία στίξης στο γραπτό λόγο, αυτές οι πλειάδες «σηµαδεύουν» το τέλος ενός τµήµατος των στοιχείων κι αποκαλούνται στίξεις (punctuations). Αυτό δεν σηµαίνει ότι τα δεδοµένα χωρίζονται σε διαστήµατα τιµών αντίθετα, οι στίξεις επισηµαίνουν ποια χαρακτηριστικά των στοιχείων µπορεί να εµφανιστούν ή όχι µελλοντικά, λ.χ. καµιά πλειάδα µε ένδειξη µικρότερη από µια προσδιορισµένη χρονική στιγµή τ i δεν πρόκειται να παραχθεί εφεξής. Εποµένως, η ύπαρξη σηµείων στίξης δεν υλοποιεί κάποιου είδους «σταθερό» χρονικό παράθυρο, αλλά εκµεταλλεύεται τη σηµασιολογία των περιεχοµένων του ρεύµατος. Ουσιαστικά, αυτή η τεχνική αντιµετωπίζει ένα θεωρητικά αχανές ρεύµα δεδοµένων ως µια σειρά από πεπερασµένα υπορεύµατα, προσφέροντας περισσότερη ευελιξία στη διαχείρισή τους. 2.3 Πολλαπλά ερωτήµατα διαρκείας Η συνεχής έλευση νέων δεδοµένων συνεπάγεται ότι τα ερωτήµατα που έχουν τεθεί από τους χρήστες θα πρέπει να αποτιµώνται διαρκώς (γι αυτό και η ονοµασία ερωτήµατα διαρκείας), ανανεώνοντας την απάντηση που παρέχεται. Είναι εύλογο να υποθέσει κανείς ότι θα υπάρχουν ταυτοχρόνως ενεργά πολλαπλά ερωτήµατα, εφόσον η εκτέλεσή τους δεν ολοκληρώνεται παρά µόνον όταν οι χρήστες τα αποσύρουν ή τα απενεργοποιήσουν. Αυτό είναι και το κύριο σηµείο διαφοροποίησης µε τα γνώριµα από τις συµβατικές βάσεις δεδοµένων ερωτήµατα στιγµιοτύπου (one-time, snapshot queries), των οποίων η εκτέλεση λήγει µε τον υπολογισµό των απαντήσεων. Η ανάγκη για ταυτόχρονη επεξεργασία πολλαπλών ερωτηµάτων διαρκείας παρέχει σηµαντικές δυνατότητες βελτιστοποίησης, αν αποφευχθεί η περίπτωση κατασκευής χωριστών προσχεδίων εκτέλεσης (query execution plans) για το καθένα. Τόσο σηµασιολογικά όσο και συντακτικά είναι αναµενόµενο ότι πολλά από τα ενεργά ερωτήµατα θα είναι πανοµοιότυπα, διαφέροντας απλώς σε παραµέτρους επιλογής. Τουλάχιστον ορισµένα θα έχουν εµφανείς οµοιότητες, όπως κοινές υποεκφράσεις σε συνθήκες (λ.χ. συξεύξεις), παράθυρα που επικαλύπτονται ή υπάγονται το ένα στο άλλο, συναθροιστικές συναρτήσεις που εφαρµόζονται σε κοινά γνωρίσµατα κ.ά. Εποµένως, υπάρχει δυνατότητα σύνθεσης γενικότερων προσχεδίων µε στόχο την εξυπηρέτηση οµαδοποιηµένων ερωτηµάτων, επιτυγχάνοντας καλύτερη διαχείριση των περιορισµένων πόρων του συστήµατος και αποτελεσµατική αντιµετώπιση κλιµακούµενου αριθµού ερωτηµάτων (scalability). Το πρόβληµα µετατίθεται τότε στο ενδεχόµενο δυναµικής µεταβολής των ενεργών ερωτηµάτων, αφού οι χρήστες µπορεί να αποσύρουν ή να υποβάλλουν ερωτήµατα κατά απρόβλεπτο τρόπο ή ακόµη και να τροποποιούν επιµέρους στοιχεία της δοµής τους (λ.χ. µέγεθος παραθύρων). Το κύριο ερευνητικό ζήτηµα που ανακύπτει στην περίπτωση αυτή αφορά στην προσαρµοστικότητα (adaptivity) [CCD+03] εκτέλεσης των ερωτη- µάτων διαρκείας, συνυπολογίζοντας παράγοντες όπως απρόοπτες µεταβολές του ρυθµού άφιξης των στοιχείων από πολλαπλά ρεύµατα, δυναµική ανακατανοµή πόρων του συστήµατος µεταξύ τελεστών και επιλεκτικότητα (selectivity) τελεστών. 3 Το µοντέλο ρεύµατος δεδοµένων Τυπικά, ως ρεύµα δεδοµένων θεωρείται µια ακολουθία στοιχείων x 1, x 2,, x N, που εξετάζονται σε πραγµατικό χρόνο κατ αύξουσα σειρά, όπου N το πλήθος των στοιχείων που έχουν εµφανιστεί µέχρι στιγµής. Αυτή η θεώρηση έχει επικρατήσει κυρίως στην αλγοριθµική µελέτη των ρευµάτων. Από τη σκοπιά του µοντέλου, οι περισσότερες προσεγγίσεις επηρεάζονται από το αντίστοιχο σχεσιακό, υποθέτοντας ένα συγκεκριµένο σχήµα των πλειάδων (όπου συµπεριλαµβάνεται η χρονική τους σήµανση) και προτείνοντας επεκτάσεις ή προσθήκες τελεστών. 3.1 Βασικές έννοιες Συνήθως κάθε στοιχείο του ρεύµατος εκλαµβάνεται ως µια σχεσιακή πλειάδα γνωρισµάτων (tuple of attributes), χωρίς να αποκλείονται άλλες αντικειµενοστρεφείς ή ιεραρχικές µορφές, λ.χ. XML έγγραφα (NiagaraCQ). Κατ αντιστοιχία προς όσα ισχύουν στο σχεσιακό µοντέλο, µπορούν να οριστούν τα εξής: Σχήµα πλειάδων. Το σχήµα E των πλειάδων των δεδοµένων αντιπροσωπεύεται από ένα σύνολο στοιχείων e 1, e 2, e L. Κάθε στοιχείο e i λέγεται γνώρισµα (attribute), συµβολίζεται µε A i και οι τιµές του προέρχονται από ένα πιθανόν άπειρο ατοµικό πεδίο ορισµού D i. Ο πεπερασµένος αριθµός L των γνωρισµάτων λέγεται βαθµός (arity) του σχήµατος. Κάθε πλειάδα (tuple) είναι ένα στιγµιότυπο του σχήµατος και περιγράφεται από τις τιµές που λαµβάνει σε κάθε γνώρισµα. Κάθε πλειάδα του ρεύµατος συνοδεύεται από µια συνήθως χρονική ένδειξη. Τέτοια χρονικά ορόσηµα (timestamps) µπορεί να δίνονται κατά την παραγωγή των στοιχείων στην πηγή (λ.χ. αισθητήρες), κάτι που πιθανόν να ζητείται κι από ερωτήµατα που έχουν υποβληθεί (χρόνος ισχύος). Εναλλακτικά, οι χρονικές ενδείξεις (ή απλοί αύξοντες ακέραιοι αριθµοί) είναι δυνατόν να προσαρτώνται τεχνητά µε τη σειρά στις πλειάδες µόλις φτάσουν στο σύστηµα (χρόνος συστήµατος). Το χρονικό ορόση- µο εξυπηρετεί σηµαντικά στη σύνθεση στοιχείων από πολλαπλά ρεύµατα, όπως και στην διεκπεραίωση λειτουργιών πάνω 5

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων. σ αυτά (λ.χ. συσχετισµοί συγχρονισµένων στοιχείων µεταξύ ρευµάτων). Καθώς τα παλαιότερα δεδοµένα σταδιακά καθίστανται παρωχηµένα µε την άφιξη νέων πλειάδων, το χρονικό ορόσηµο καθορίζει τη διαθεσιµότητα κάθε στοιχείου στο σύστηµα και άρα τη συµµετοχή του στην επεξεργασία των ερωτηµάτων διαρκείας. Σε κάθε περίπτωση, τα ορόσηµα προκύπτουν από ένα καθολικό πεδίο ορισµού (Time Domain): Πεδίο ορισµού χρόνου. Το πεδίο ορισµού του χρόνου Τ θεωρείται ως ένα διατεταγµένο, άπειρο σύνολο διακριτών τιµών τ Τ, καθεµιά από τις οποίες καλείται χρονική στιγµή (time instant). Ένα χρονικό διάστηµα [τ 1, τ 2 ] Τ συνίσταται από όλες τις διακριτές χρονικές στιγµές τ Τ όπου τ 1 τ τ 2. Ουσιαστικά, το πεδίο των οροσήµων είναι παραπλήσιο του συνόλου N των φυσικών αριθµών. Φυσικός αριθµός είναι επίσης το εύρος (extent) κάθε χρονικού διαστήµατος, εφόσον καταµετρά όλα τα διακριτά χρονικά ορόσηµα που το συγκροτούν. Η βασική παραδοχή είναι ότι το απειράριθµο ρεύµα δεδοµένων περιλαµβάνει ένα πεπερασµένο πολυσύνολο (multiset, bag) στοιχείων µε την ίδια χρονική ένδειξη τ Τ. Επιτρέπονται διπλότυπα (duplicates), καθώς σε κάθε χρονικό ορόσηµο είναι δυνατόν να καταγράφονται καµµία, µία ή περισσότερες πλειάδες µε ίδιες τιµές στα υπόλοιπα γνωρίσµατα. Συνεπώς: Ρεύµα δεδοµένων. Ως ρεύµα δεδοµένων S ορίζεται µια απεικόνιση S : Τ 2 R από το πεδίο ορισµού του χρόνου Τ στο δυναµοσύνολο των πλειάδων R µε κοινό σχήµα E. Το γνώρισµα A τ χαρακτηρίζεται ως χρονικό ορόσηµο των πλειάδων και λαµβάνει τιµές από το Τ. Ως τρέχον περιεχόµενο S( τ i ) ενός ρεύµατος δεδοµένων S κατά τη χρονική στιγµή τ i Τ θεωρείται το σύνολο των πλειάδων που φέρουν χρονικό ορόσηµο τ τ i. * Επίσης, ως τρέχον στιγµιότυπο I( τ i ) του ρεύµατος S κατά τη χρονική στιγµή τ i θεωρείται το σύνολο των πλειάδων µε χρονικό ορόσηµο τ i. Τέλος, βάσει του ανωτέρω ορισµού, ο χρονισµός των πλειάδων είναι κοινός, αφού όλα τα ορόσηµα προέρχονται από το Τ. Λόγω των ιδιοτήτων του Τ, είναι εφικτή η ολική χρονική διάταξη (temporal total order) των πλειάδων: Χρονική διάταξη. Η χρονική διάταξη ορίζεται ως µια (πολλάπρος-ένα) απεικόνιση f O : D S Τ από το πεδίο των τύπων D S των γνωρισµάτων που εµφανίζονται στις πλειάδες s του ρεύµατος S προς το πεδίο του χρόνου Τ, µε τις εξής ιδιότητες: i) Ύπαρξη οροσήµων: s S, τ Τ, ώστε f O (s) = τ. ii) Μονοτονία : s 1, s 2 S, αν για τα αντίστοιχα ορόσηµα ισχύει ότι s 1.A τ s 2.A τ, τότε θα ισχύει και f O (s 1 ) f O (s 2 ). Η χρονική διάταξη εξασφαλίζει ότι τα στοιχεία θα δοθούν προς επεξεργασία µε τη σειρά: ο επεξεργαστής ερωτηµάτων δεν πρέπει να δεχτεί πλειάδες µε µικρότερο ορόσηµο απ όσες ήδη έχει λάβει, έτσι ώστε να παράγονται χρονικά συνεπή αποτελέσµατα. Σε αντίθεση προς τα συµβατικά συστήµατα * Σιωπηρά υπονοείται αρκετή διαθέσιµη µνήµη για την τήρηση όλων των στοιχείων που έχουν διοχετευτεί µέσω του ρεύµατος µέχρι τότε. βάσεων δεδοµένων, τα στοιχεία του ρεύµατος δεν θεωρούνται διαθέσιµα παρά µόνο προσωρινά και πάντως όχι στο σύνολό τους, αλλά τµηµατικά. Εποµένως, δεν είναι εφικτή κάποιας µορφής προεπεξεργασία που θα επιτρέψει την ευκολότερη ενσωµάτωση των στοιχείων, αφού υπονοείται ότι η αρχή και το πέρας της ακολουθίας των δεδοµένων δεν είναι γνωστό. 3.2 Σηµασιολογία ερωτηµάτων διαρκείας Σ αυτή την υποενότητα ανάγονται στο µοντέλο ρευµάτων δεδοµένων έννοιες συναφείς προς τα ερωτήµατα διαρκείας που είχαν διατυπωθεί για βάσεις δεδοµένων [TGNO92, Bar99]. Όπως είναι λογικά αναµενόµενο, τα αποτελέσµατα της εφαρµογής ενός ερωτήµατος διαρκείας σ ένα ρεύµα δεδοµένων είναι το σύνολο των πλειάδων που θα προέκυπταν από την ένωση των επιµέρους αποτελεσµάτων που θα είχε η εφαρµογή του ερωτήµατος επί των τρεχόντων περιεχοµένων του ρεύµατος ανά πάσα χρονική στιγµή. Πιο συγκεκριµένα: Ερώτηµα διαρκείας. Έστω Q ένα ερώτηµα διαρκείας που υποβάλλεται τη χρονική στιγµή τ ο Τ στο ρεύµα δεδοµένων S. Τότε τα αποτελέσµατα Q c που πρέπει να λαµβάνονται κατά τη χρονική στιγµή τ i Τ είναι το σύνολο των πλειάδων Q(S(τ)) που ικανοποιούν το ερώτηµα Q από κάθε τρέχον περιεχόµενο S(τ) του ρεύµατος µέχρι τότε, δηλαδή: U τ i Τ, Q c (S( τ i )) = Q (S( τ )) τ 0 τ τ i Προφανώς, η συνολική αποτίµηση κάθε ερωτήµατος διαρκείας για όλες τις διαδοχικές χρονικές στιγµές είναι πρακτικά ασύµφορη. Χρειάζεται λοιπόν µια στρατηγική που να επιτρέπει κατά διαστήµατα έλεγχο των στοιχείων, ώστε οι απαντήσεις να υπολογίζονται περιοδικά. Αφού όλες οι πλειάδες σηµατοδοτούνται µε διακριτά χρονικά ορόσηµα, είναι εφικτό η αποτίµηση του ερωτήµατος Q να γίνεται µε χρονικό βήµα τ. Στην k-στή επανάληψη, µόνο τα ενδιάµεσα αποτελέσµατα Q c (S(τ 0 + k τ)) Q c (S(τ 0 + (k-1) τ)) θα πρέπει να προστεθούν στην τρέχουσα απάντηση αντικαθιστώντας την αµέσως προηγούµενη, ως εξής: U Q = Q(S(τ)) Q(S(τ)) τ τ τ + k τ 0 0 U τ τ τ + ( 1) τ 0 0 k Εν τούτοις, ο προηγούµενος τύπος δεν εγγυάται πάντοτε ορθά αποτελέσµατα. Αρκεί µόνο να σκεφτεί κανείς τι θα συµβεί αν, µε την πάροδο του χρόνου, νεότερες απαντήσεις ακυρώσουν άλλες προηγούµενες! Λ.χ. σε µια χρηµατιστηριακή εφαρµογή, µπορεί να ζητούνται όλες οι µετοχές που η διακύµανση των τιµών τους δεν έχει υπερβεί ποτέ το γενικό δείκτη. Καθώς όµως τα στοιχεία αλλάζουν δυναµικά, κάποιες πλειάδες που είχαν περιληφθεί σε προηγούµενες απαντήσεις πιθανόν να πάψουν να πληρούν το κριτήριο, λ.χ. κάποτε η τιµή µιας µετοχής ξεπερνά το γενικό δείκτη, οπότε πρέπει να εξαιρεθούν απ την απάντηση. Ωστόσο, µε τον περιοδικό υπολογισµό, τέτοια αποτελέσµατα θα διατηρούνται σ όλες τις κατοπινές απαντήσεις, µολονότι κανονικά θα έπρεπε να καταργηθούν. Έτσι, η προηγούµενη τεχνική µπορεί να εφαρµοστεί µόνο σε περιπτώσεις όπου καταγράφονται µόνο προσθήκες πλειάδων στην απάντηση (append-only results), δίχως να επιτρέπονται έκτοτε καθόλου διαγραφές ή τροποποιήσεις στα αποτελέσµατα. Άρα 6

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων όλες οι πλειάδες παραµένουν εν ισχύι επ αόριστον και ποτέ δεν πρόκειται να αναιρεθεί οποιαδήποτε πλειάδα έχει περιληφθεί στην απάντηση. Ισοδύναµα, εφόσον πλειάδες µπορούν µόνο να προστεθούν στην απάντηση, αυτή δεν υπάρχει ποτέ περίπτωση να συρρικνωθεί, άρα είναι εφικτός ο σταδιακός εµπλουτισµός της µε τα ενδιάµεσα αποτελέσµατα ( Q). Τέτοια ερωτήµατα αποκαλούνται µονότονα (monotonic) [Bar99]: Μονότονο ερώτηµα διαρκείας. Ένα ερώτηµα διαρκείας Q χαρακτηρίζεται µονότονο όταν τ 1 1,, τ 2 Τ, τ 1 τ 2, αν S( τ 1 ) S( τ 2 ), τότε Q(S( τ 1 )) Q(S( τ 2 )) όπου Q(S(τ i i)) είναι όλες οι πλειάδες των περιεχοµένων του S(τ i ) κατά τη χρονική στιγµή τ i που ικανοποιούν το ερώτηµα Q. Αξίζει να τονιστεί ότι εν προκειµένω η µονοτονία αναφέρεται σε ερωτήµατα διαρκείας και όχι σε ρεύµατα δεδοµένων, εφόσον αυτό που ενδιαφέρει είναι τυχόν µεταβολές στις πλειάδες των αποτελεσµάτων. Έτσι, παρόλο που το ρεύµα µπορεί να συγκροτείται αποκλειστικά από στοιχεία που δεν διαγράφουν ούτε αναθεωρούν άλλα προγενέστερα, ωστόσο είναι δυνατόν οι απαντήσεις σε κάποια ερωτήµατα να απορρίπτουν πλειάδες που ίσχυαν προηγουµένως. Προφανώς, αν επιτραπούν διαγραφές (deletions) ή ενηµερώσεις (updates) προγενέστερων στοιχείων του ρεύµατος, τα ερωτήµατα διαρκείας παύουν να εµφανίζουν µονοτονία. Π.χ., σ ένα δίκτυο αισθητήρων που χρησιµεύει στην καταγραφή θερµοκρασιών σε µια περιοχή, είναι πιθανό κάποιοι να πάθουν βλάβη και να στέλνουν εσφαλµένα αποτελέσµατα. Φυσικά, το σφάλµα θα µεταφέρεται και στις απαντήσεις, µέχρις ότου κάποτε να γίνει αντιληπτό. Τότε, τα προβληµατικά στοιχεία µπορούν είτε ν ακυρωθούν είτε να διορθωθούν, οπότε κάποια προγενέστερα αποτελέσµατα χρειάζεται ν αναθεωρηθούν. Στην ιδανική περίπτωση εφαρµογής µονότονων ερωτηµάτων διαρκείας σε σωρευτικά (append-only) ρεύµατα δεδοµένων, οι απαντήσεις σε ορισµένους τύπους ερωτηµάτων διαρκείας µπορεί πράγµατι να δίνονται προοδευτικά (incrementally). Λ.χ. σε ερωτήµατα επιλογής (selection) ή προβολής (projection) αρκεί κάθε φορά να εξετάζονται µόνο τα πιο πρόσφατα στοιχεία, δηλαδή όσες πλειάδες ανήκουν στο τρέχον στιγµιότυπο I( τ i ) του ρεύ- µατος S. Κάτι τέτοιο όµως δεν ισχύει απαραίτητα για κατηγορίες ερωτηµάτων όπου εµπλέκονται τελεστές διατήρησης κατάστασης (βλ. ενότητα 2.2), όπως λ.χ. συνδέσεις µεταξύ πλειάδων χωρίς χρονικό περιορισµό (οπότε δεν απαιτείται ισότητα οροσήµων) ή διαφορά συνόλων. Τυχόν καινούργιες απαντήσεις µπορεί να προκύψουν τότε συνεξετάζοντας στοιχεία που προσκοµίστηκαν σε παλαιότερα στιγµιότυπα του ρεύµατος. Τα παραπάνω είναι δυνατόν να γενικευθούν για ερωτήµατα διαρκείας που εµπλέκουν πολλαπλά ρεύµατα δεδοµένων ή ακόµη και στατικούς σχεσιακούς πίνακες. Έχουν προταθεί [TGNO92] τεχνικές αναδιατύπωσης µη µονότονων ερωτηµάτων διαρκείας που επιχειρούν να υπολογίσουν το αποτέλεσµα ως συνολοθεωρητική διαφορά P N ενός ερωτήµατος N που καλύπτει ένα πεπερασµένο χρονικό διάστηµα από ένα µονότονο ερώτηµα διαρκείας P. Επίσης, έχουν µελετηθεί ειδικές περιπτώσεις για µονότονα ερωτήµατα όπου επιτρέπονται διαγραφές ή ενηµερώσεις σε προγενέστερα στοιχεία, καθώς και ζητήµατα υλοποίησης της σηµασιολογίας τους σε συµβατικά συστήµατα βάσεων δεδοµένων [Bar99]. τ 0 τ 0 + (k-1) τ τ 0 + k τ χρόνος παλαιότερη πλειάδα νεότερη πλειάδα Παράθυρο µεγέθους ω Σχ. 2: Η λογική των παραθύρων στα ρεύµατα δεδοµένων. Το κυλιόµενο παράθυρο µεγέθους ω παρακολουθεί την εξέλιξη των περιεχοµένων του ρεύµατος και επιστρέφει τα πιο πρόσφατα στοιχεία (α) έως και τη χρονική στιγµή τ 0 +(k-1) τ και (β) κατά τη χρονική στιγµή τ 0 +k τ. Κατά το τελευταίο χρονικό διάστηµα τ έχουν προστεθεί στα περιεχόµενα του ρεύµατος επιπλέον πλειάδες (µε γκρίζο χρώµα), ωστόσο το παράθυρο εξακολουθεί να περιλαµβάνει και κάποιες παλαιότερες. 4 Παραθυρικές δοµές σε ερωτήµατα διαρκείας Η χρονική εξέλιξη των ρευµάτων επιδρά καθοριστικά στην επεξεργασία τους, καθιστώντας επιτακτικό τον προσδιορισµό κατάλληλου τύπου παραθύρων. ιαισθητικά, ένα παράθυρο αποσπά από το αχανές ρεύµα δεδοµένων έναν πιθανόν µεταβαλλόµενο αλλά πάντως πεπερασµένο αριθµό στοιχείων, δηλαδή εκείνα τα τµήµατα του ρεύµατος που θα χρησιµοποιηθούν κατόπιν στην αποτίµηση του ερωτήµατος. Καθώς νέα στοιχεία ολοένα καταφθάνουν στο σύστηµα επεξεργασίας, τα περιεχόµενα του παραθύρου αλλάζουν δυναµικά κατά τον τρόπο που προδιαγράφει ο τύπος του (Σχ. 2). Κατά συνέπεια, το ερώτηµα διαρκείας υπολογίζεται επί ενός συνόλου ανανεούµενων πλειάδων, οπότε το σύστηµα µπορεί να παρέχει στον χρήστη επίκαιρες απαντήσεις συνεχώς (Σχ. 2). Η χρήση των παραθυρικών δοµών επιβάλλεται µεν από τη σηµασιολογία των σχετικών ερωτηµάτων διαρκείας, αλλά αιτιολογείται και για λόγους εξοικονόµησης πόρων του συστή- µατος της µνήµης, κατά κύριο λόγο. Εκ των πραγµάτων, είναι αδύνατον να αποθηκεύονται όλα τα περιεχόµενα του ρεύµατος, αφενός µεν λόγω του αυξανόµενου όγκου τους, αφετέρου δε εξαιτίας της επιβάρυνσης που θα δηµιουργούσαν τόσο συχνές δοσοληψίες (εισαγωγές, διαγραφές, ενηµερώσεις) σ ένα τυπικό σύστηµα βάσεων δεδοµένων. Επιπλέον, η χρησιµότητα κάθε µεµονωµένης πλειάδας (λ.χ. µετρήσεις θερµοκρασίας ανά λεπτό) είναι πρακτικά αµελητέα ώστε να αξίζει να τηρηθεί σε τόσο µεγάλη λεπτοµέρεια. Τυπικές µορφές τέτοιων δοµών είναι τα κυλιόµενα παράθυρα, τα οποία µπορεί να οριστούν είτε µε χρονική παράµετρο (λ.χ. «τα στοιχεία που έχουν συλλεγεί κατά την τελευταία ώρα») είτε βάσει του αριθµού των πλειάδων που επιµερίζουν (π.χ. «οι 1000 πιο πρόσφατες µετρήσεις»). Ωστόσο, η ανάγκη εξυπηρέτησης διαφόρων ειδών ερωτηµάτων διαρκείας συνηγορεί στη διατύπωση αρκετών πρόσθετων τύπων παραθύρων, όπως αναπτύσσεται διεξοδικά στη συνέχεια. File: Patroumpas_DBTheory_in dows.pdf 7

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων. 4.1 Προσδιορισµός παραθύρων Παρά την ποικιλοµορφία των παραθύρων που συναντώνται σε ερωτήµατα διαρκείας, είναι γενικά παραδεκτό ότι ο παραθυρικός τελεστής αποσκοπεί στον περιορισµό του θεωρητικά απειράριθµου ρεύµατος δεδοµένων σ ένα πεπερασµένο, διαχειρίσιµο σύνολο πλειάδων. Συµβολικά: Παράθυρο επί ρεύµατος δεδοµένων. Έστω E ένα παράθυρο µε συζευκτική συνθήκη E που εφαρµόζεται τη χρονική στιγµή τ 0 Τ στα στοιχεία ενός ρεύµατος δεδοµένων S, δηλαδή στα τρέχοντα περιεχόµενά του S( τ 0 ). Τότε: τ i Τ, τ i τ 0, E (S( τ i )) = {s S (τ i ) : E (s) είναι αληθής}, όπου E (S( τ i )) n, για κάποιο οσοδήποτε µεγάλο, αλλά πάντοτε πεπερασµένο n N. Βάσει του ανωτέρω ορισµού συµπεραίνεται ότι ανά πάσα χρονική στιγµή λαµβάνεται ένα συµπαγές πεπερασµένο υποσύνολο πλειάδων E (S( τ i )) S( τ i ). Επίσης, κάθε παράθυρο απευθύνεται στα αναρίθµητα στοιχεία ενός µόνο ρεύµατος δεδοµένων και πρακτικά το µετασχηµατίζει σε µια προσωρινή σχέση (relation) πεπερασµένου µεγέθους [AB03]. Αν κάποιο ερώτηµα διαρκείας αφορά πολλαπλά ρεύµατα (λ.χ. σύνδεση), τότε συνήθως δηλώνεται χωριστό παράθυρο για το καθένα, ακόµη κι αν έχουν παρόµοια σηµασιολογία (π.χ. τα στοιχεία κάθε ρεύµατος στο τελευταίο ηµίωρο). Ως εκ τούτου, οι γνώριµοι σχεσιακοί τελεστές µπορούν πλέον να εφαρµοστούν στα πρόσκαιρα στοιχεία των πινάκων για να δίνουν απαντήσεις στα ερωτήµατα. Η συνθήκη E καθορίζει τη δοµή του παραθύρου, δηλαδή: την αφετηρία (κάτω άκρο, lower bound), η οποία αντιπροσωπεύει το παλαιότερο στοιχείο του ρεύµατος που θα συµπεριληφθεί στο παράθυρο. το πέρας (άνω άκρο, upper bound), που αντιστοιχεί στο στοιχείο του µε το µεγαλύτερο ορόσηµο. το εύρος του (width), το οποίο άλλοτε εκφράζεται από το πλήθος των πλειάδων που περιλαµβάνει, άλλοτε δε από το χρονικό διάστηµα (range) που αυτές καλύπτουν. τον τρόπο µεταβολής των περιεχοµένων του. Ο χαρακτηρισµός των τύπων παραθύρων που ορίζονται σε ρεύµατα δεδοµένων µπορεί να γίνει µε διάφορα κριτήρια, όπως εξηγείται ευθύς αµέσως. 4.1.1 Μετατόπιση άκρων Το παράθυρο µπορεί να οριστεί ρητώς από τα άκρα του, και γι αυτό χρησιµοποιούνται συνήθως οι χρονικές στιγµές αρχής και πέρατος του παραθύρου. Αναλόγως του κατά πόσον επιτρέπεται ν αλλάζουν τα όριά τους, διακρίνονται παράθυρα µε: Σταθερά άκρα (fixed-size windows), όπου τουλάχιστον το ένα άκρο του παραθύρου παραµένει αµετακίνητο. Τα παράθυρα χρονικού οροσήµου (landmark windows) αποτελούν την χαρακτηριστικότερη δοµή αυτής της κατηγορίας. Μεταβλητά άκρα (variable-size windows). Συνήθως, προβλέπεται ότι και τα δύο άκρα του παραθύρου µεταβάλλονται µε την πάροδο του χρόνου. Στην πλέον ενδιαφέρουσα περί- Βήµα προόδου µοναδιαίο κατά άλµατα πάγια άκρα Μονάδα µέτρησης περιεχοµένων πλήθος στοιχείων Παράθυρα πλειάδων, Μεριστικά χρονικά ορόσηµα Κυλιόµενα χρονικά Επάλληλα Παράθυρα ζώνης, χρονικού οροσήµου Πίνακας Ι. Κατηγορίες παραθύρων σε ρεύµατα δεδοµένων. πτωση, η αφετηρία και το πέρας του παραθύρου εξελίσσονται συντονισµένα µε τον ίδιο ρυθµό, όπως συµβαίνει λ.χ. στα κυλιόµενα παράθυρα. 4.1.2 Μονάδα µέτρησης περιεχοµένων Εναλλακτικά, το παράθυρο προσδιορίζεται βάσει του µεγέθους του, θεωρώντας γνωστό ένα άκρο του, ώστε τελικά να µπορούν να εντοπιστούν οι πλειάδες που θα συµπεριληφθούν σ αυτό. Η εµβέλεια (scope) του παραθύρου, δηλώνεται: σε «λογικές» µονάδες, δηλαδή από το χρονικό διάστηµα που καλύπτουν τα περιεχόµενά του. Αυτά ονοµάζονται συνήθως χρονικά παράθυρα (time-based windows). σε «φυσικές» µονάδες, υπονοώντας το πλήθος των πλειάδων που εµπίπτουν εντός των άκρων του. Τα παράθυρα πλειάδων (tuple-based windows) και τα µεριστικά παράθυρα (partitioned windows) είναι τυπικές µορφές τέτοιων δοµών. Ως γνωστό άκρο του παραθύρου συνήθως θεωρείται το πέρας του, ερµηνεύοντάς το είτε ως τρέχον ορόσηµο είτε ως την πιο πρόσφατη πλειάδα του ρεύµατος. 4.1.3 Βήµα προόδου Εξαιρώντας την περίπτωση που τα άκρα του θεωρηθούν πάγια, το παράθυρο ανανεώνει προοδευτικά τα περιεχόµενά του παρακολουθώντας την εξέλιξη του χρόνου ή την έλευση νέων πλειάδων του ρεύµατος, ως εξής: Με µοναδιαίο βήµα, οπότε το παράθυρο προχωρεί για κάθε στοιχειώδη χρονική µονάδα (λ.χ. ανά δευτερόλεπτο) ή µε κάθε πλειάδα που θα ενταχθεί στο ρεύµα. Χαρακτηριστικότερη περίπτωση είναι τα κυλιόµενα παράθυρα (sliding windows), όπου τα άκρα «µετακυλίονται» οµαλά, διατηρώντας σταθερό το µέγεθος του παραθύρου. Κατά άλµατα (hops), συνήθως µη επικαλυπτόµενα. Π.χ. τα επάλληλα παράθυρα (tumbling windows) εξυπηρετούν όταν επιδιώκεται τα περιεχόµενα διαδοχικών στιγµιοτύπων τους να είναι ξένα µεταξύ τους, έτσι ώστε κάθε φορά να εξετάζονται εντελώς διαφορετικά στοιχεία του ρεύµατος. Βεβαίως, στην περίπτωση των κυλιόµενων παραθύρων είναι αναµενόµενο να υπάρχουν επικαλύψεις µεταξύ διαδοχικών εκδοχών. Όταν το µοναδιαίο βήµα εκφράζεται χρονικά, όλες οι πλειάδες µε ορόσηµο µικρότερο από τη νέα αρχή του παραθύρου διαγράφονται, ώστε να ενταχθούν όσα στοιχεία (όχι κατ ανάγκην ισάριθµα!) αναφέρονται στην τρέχουσα 8

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων χρονική στιγµή. Αν πάλι το παράθυρο εκφράζεται ως αριθµός πλειάδων, τότε κάθε νεοεισερχόµενη πλειάδα συνεπάγεται την απόρριψη του παλαιότερης που υπάρχει στο παράθυρο. Άρα, καθώς το παράθυρο µετατοπίζεται, µεταβολές σηµειώνονται µόνο στα άκρα του (διαγραφές στο κατώτερο, εισαγωγές στο ανώτερο), αφήνοντας άθικτα τα ενδιάµεσα στοιχεία. τ k τ k k+1 τ k k+2 τ k τ k k+1 τ k k+2 4.1.4 Σύνθετες µορφές παραθύρων Η κατάταξη των παραθύρων σε κατηγορίες καθόλου δεν αποκλείει τον προσδιορισµό σύνθετων τύπων, συνδυάζοντας κριτήρια ανάλογα µε τη σηµασιολογία του ερωτήµατος διαρκείας που τίθεται. Έτσι, λ.χ. πολλές φορές εξυπηρετεί να οριστούν κυλιόµενα χρονικά παράθυρα: ο αριθµός των περιλαµβανόµενων πλειάδων µπορεί µεν να ποικίλει αναλόγως των διακυµάνσεων στο ρυθµό άφιξης των στοιχείων του ρεύµατος, όµως η πρόοδος του παραθύρου συµβαδίζει µε την εξέλιξη του χρόνου. Ενδέχεται ακόµη να τεθούν πρόσθετα κριτήρια επιλογής πλειάδων (αντίστοιχα των συνθηκών HERE στην SQL), προκειµένου να φιλτράρονται τα στοιχεία βάσει των επιθυµητών τιµών (value-based windows) [BBD+02]. Όπως άλλωστε θ αναλυθεί στην ενότητα 5.1, πρόσθετοι τύποι προκύπτουν από το συνδυασµό παραθύρων µε άλλους γνωστούς αλγεβρικούς τελεστές, όπως λ.χ. σύνδεση παραθύρων (window-join), συναθροιστικά παράθυρα (window-aggregates), κλπ. Στις επόµενες παραγράφους, επιχειρείται µια αλγεβρική περιγραφή της σηµασιολογίας των κύριων παραθυρικών δο- µών που συναντώνται στην τρέχουσα βιβλιογραφία [ACC+03, AB03, CCD+03], διαχωρίζοντάς τες βάσει της µονάδας µέτρησης των περιεχοµένων τους σε φυσικά και λογικά παράθυρα. τ k (α) Παράθυρο πλειάδων µε µέγεθος N=6 τ k +1 τ k +2 τ k (β) Παράθυρο οροσήµου µε σταθερή αφετηρία τ l = τ k τ k +1 τ k +2 4.2 Τύποι φυσικών παραθύρων Εξ ορισµού, τέτοια παράθυρα συνήθως είναι κυλιόµενα, ώστε να επιστρέφεται ένας καθορισµένος αριθµός N πρόσφατων πλειάδων. Άλλωστε, σε πρακτικές εφαρµογές είναι µάλλον σπάνιο να ζητηθούν π.χ. τα N δεδοµένα που έφτασαν µετά το k-στό στοιχείο, αφού αγνοείται αν και πότε έχει ληφθεί η συγκεκριµένη πλειάδα στη ροή του απειράριθµου ρεύµατος. 4.2.1 Παράθυρα πλειάδων (tuple-based windows) Τέτοια παράθυρα ανά πάσα χρονική στιγµή τ T εστιάζουν στις N τελευταίες πλειάδες του ρεύµατος S, οπότε: n (S, τ, N ) = {s S ( τ ) : τ 1 T, τ 1 τ {s S ( τ ) τ 1 s.a τ τ } N } Τα στοιχεία εντός παραθύρου (βλ. Σχ. 3α) υπολογίζονται ως εξής: ξεκινώντας από την παρούσα χρονική στιγµή και προχωρώντας προς το παρελθόν («µε την όπισθεν»), επιλέγονται συνεχώς πλειάδες µέχρις ότου καλυφθεί ο ζητούµενος αριθµός N. Αυτή η µέθοδος κρύβει όµως δύο πολύ λεπτά σηµεία: (i) Πρώτον, δεν είναι σαφές τί θα συµβεί όταν ο αλγόριθµος, φτάνοντας στο απώτατο χρονικό ορόσηµο που θα χρειαστεί να εξετάσει, διαπιστώσει ότι πρέπει να διαλέξει ανάµεσα σε περισσότερες πλειάδες συγκριτικά µε όσες υπολείπονται για να συµπληρωθεί ο αριθµός N. (ii) Επίσης, δεν είναι απλός ο χειρισµός διπλοτύπων, αν δηλαδή ο αλγόριθµος πρέπει να µετράει µία ή περισσότερες φορές τυχόν διπλότυπα καθώς υπολογίζει το παράθυρο. Συνήθως, τέτοια προβλήµατα επιλύο- (γ) Κυλιόµενο χρονικό παράθυρο µε µέγεθος ω=2 και βήµα δ=1. (δ) Επάλληλο χρονικό παράθυρο µε µέγεθος ω=2 και βήµα δ=2. Σχ. 3: Χαρακτηριστικοί τύποι παραθύρων σε ρεύµατα δεδοµένων. Στα σχήµατα αποτυπώνονται µε διαφορετικό συµβολισµό οι πλειάδες που εντάσσονται στο ρεύµα σε τρεις διαδοχικές χρονικές στιγµές: εισέρχονται 4 στοιχεία µε ένδειξη τ k, έπειτα εντάσσονται άλλα 5 µε ένδειξη τ k +1, και τέλος 3 πλειάδες µε ορόσηµο τ k +2. Με κόκκινο περίγραµµα διακρίνεται η εµβέλεια του παραθύρου για κάθε χρονική στιγµή. Στην περίπτωση (α) το µέγεθος του παραθύρου εκφράζεται σε πλήθος Ν πλειάδων, ενώ στις υπόλοιπες σε χρονικές µονάδες ω. νται µε µη ντετερµινιστικό τρόπο: λ.χ. στο σύστηµα STREAM, τα αντίστοιχα παράθυρα (RO-based windows) επιλέγουν τυχαία τις σχετικές πλειάδες, ενώ προσµετρούν τα διπλότυπα όσες φορές εµφανίζονται [AB03]. 4.2.2 Μεριστικά παράθυρα (partitioned windows) Ένα µεριστικό παράθυρο επίσης εφαρµόζεται στις πρόσφατες πλειάδες του ρεύµατος αφού προηγουµένως τις οµαδοποιήσει βάσει των τιµών που εµφανίζουν για τη λίστα των γνωρισµάτων οµαδοποίησης L = {A i, A j,, A n }, όπως ο αντίστοιχος σχεσιακός τελεστής. Από κάθε προκύπτουσα οµάδα τιµών <a i, a j,, a n > λαµβάνονται τότε N πλειάδες και ακολουθεί συνένωση των επι- µέρους αποτελεσµάτων. Η λειτουργία του κυλιόµενου µεριστικού παραθύρου µπορεί να περιγραφεί συµβολικά ως εξής: File: Patroum pas_dbtheory_ indows.pdf 9

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων. p (S, τ, L, N ) = {s S ( τ ) : A k L, s.a k =a k a k D k, τ 1 T, τ 1 τ {s S ( τ ) : s.a k =a k τ 1 s.a τ τ } N} Αξίζει να σηµειωθεί ότι µετά την οµαδοποίηση δεν εφαρ- µόζεται κάποια συνάρτηση συνάθροισης (λ.χ. SUM, AVG κ.ά.) όπως στη σχεσιακή άλγεβρα, αλλά απλώς καταµετρώνται οι πλειάδες κάθε οµάδας. 4.3 Τύποι λογικών παραθύρων Τα λογικά παράθυρα προϋποθέτουν ρητό προσδιορισµό του χρονικού διαστήµατος εντός του οποίου θα ερευνάται ποιες πλειάδες του ρεύµατος εµπίπτουν. Αυτή η απαίτηση απλουστεύεται αρκετά αν οριστεί η έννοια της εµβέλειας (scope) κάθε παραθύρου ως µια απεικόνιση (mapping) από το πεδίο των χρονικών οροσήµων στο πεδίο των διαστηµάτων: scope: T {[τ 1, τ 2 ] : τ 1, τ 2 T, τ 1 τ 2 } Ουσιαστικά, για κάθε χρονική στιγµή η συνάρτηση εµβέλειας επιστρέφει τα χρονικά όρια (άκρα) του παραθύρου, συνεξετάζοντας τις παραµέτρους που ορίζουν τον τύπο του παραθύρου. 4.3.1 Παράθυρα χρονικού οροσήµου (landmark windows) Τέτοιας µορφής παράθυρα διατηρούν πάντοτε σταθερό ένα από τα δύο άκρα τους, «σηµαδεύοντας» αυθαίρετα ένα χρονικό σηµείο ενδιαφέροντος. Για να οριστεί το χρονικό διάστηµα εφαρµογής, δηλαδή η εµβέλεια του παραθύρου, διακρίνονται οι εξής περιπτώσεις: Η αφετηρία τ l του παραθύρου θεωρείται γνωστή, οπότε για κάθε χρονική στιγµή τ T που αποτελεί το πέρας του («ανοιχτό άκρο») και ισχύει τ τ 0, η εµβέλεια προκύπτει από την εξής συνάρτηση: scope l ( τ, τ l ) =, αν τ 0 τ < τ l [τ l, τ], αν τ τ l τ 0 Τα περιεχόµενα του παραθύρου προκύπτουν καθώς τα χρονικά ορόσηµα των πλειάδων του ρεύµατος ελέγχονται ως προς την εµβέλεια (Σχ. 3β). Θέτοντας ως αφετηρία τ l T, το παράθυρο χρονικού οροσήµου που εφαρµόζεται στο ρεύµα δεδοµένων S κατά τη στιγµή τ είναι: l (S, τ, τ l ) = {s S ( τ ) : s.a τ scope l ( τ, τ l )} Στην προκειµένη περίπτωση, το παράθυρο θα συνεχίσει να παρέχει πλειάδες επ αόριστον, µέχρις ότου το σχετικό ερώτηµα διαρκείας καταργηθεί (ή το ρεύµα εξαντληθεί). Η περίπτωση να είναι δεσµευµένο το πέρας τ u του παραθύρου είναι λιγότερο συχνή: καθώς η αφετηρία διατρέχει το χρόνο, αναπόφευκτα το άνω όριο κάποτε θα υπερκαλυφθεί και το παράθυρο θα παγιωθεί (θα «κλείσουν» τα περιεχόµενά του). Αν τ 0 T η χρονική στιγµή υποβολής του ερωτήµατος διαρκείας, τότε για κάθε χρονική στιγµή τ T (µε τ τ 0 ) η αντίστοιχη συνάρτηση εµβέλειας είναι: scope u ( τ, τ u ) = [τ 0, τ], αν τ 0 τ τ u [τ 0,τ u ], αν τ > τ u τ 0 Προφανώς, δεν έχει έννοια ο προσδιορισµός παραθύρων µε πέρατα χρονικές στιγµές στο παρελθόν ( τ u < τ 0 ). Άρα, τα περιεχόµενα του παραθύρου µε πέρας τ u T προκύπτουν κατά τη χρονική στιγµή τ ως εξής: u (S, τ, τ u ) = {s S ( τ ) : s.a τ scope u ( τ, τ u )} Από τον ανωτέρω ορισµό της συνάρτησης εµβέλειας, είναι σαφές ότι τα άκρα του παραθύρου θα παγιωθούν όταν τ > τ u. Για το µοντέλο των σωρευτικών (append-only) ρευµάτων δεδοµένων, τα περιεχόµενα του παραθύρου τότε θα «παγώσουν» και η χρησιµότητά τους έκτοτε θα είναι παραπλήσια µ εκείνη των συµβατικών σχεσιακών πινάκων (για όσο χρόνο κρατηθούν στη µνήµη του συστήµατος). 4.3.2 Πάγια παράθυρα ζώνης (fixed band windows) Όταν και τα δύο άκρα τ l, τ u T του παραθύρου θεωρηθούν µονίµως φραγµένα, τότε για κάθε τ T το χρονικό διάστηµα της εµβέλειάς του δίνεται από τη συνάρτηση:, αν τ < τ l [τ l, τ], αν τ l τ τ u scope f ( τ, τ l, τ u ) = [τ l,τ u ], αν τ > τ u Τα περιεχόµενα του παραθύρου επίτηδες δεν συσχετίζονται µε την στιγµή τ 0 υποβολής του ερωτήµατος, ώστε θεωρητικά να µπορούν να καλυφθούν αυθαίρετες χρονικές ζώνες στο παρελθόν. Τότε ουσιαστικά πρόκειται για πάγια παράθυρα ζώνης (band windows). Συµβολικά: f (S, τ, τ l, τ u ) = {s S ( τ ) : τ l τ u τ l s.a τ τ u } Από σηµασιολογική άποψη, επιστρέφονται όσες πλειάδες φέρουν χρονικά ορόσηµα που εµπίπτουν στην πάγια εµβέλεια του παραθύρου. Αν για την τρέχουσα χρονική στιγµή τ (το πιο πρόσφατο ορόσηµο) ισχύει τ τ l, τότε δεν θα βρεθεί κανένα στοιχείο. Όσο ισχύει τ l τ τ u, θα επιστρέφονται πλειάδες, εφόσον βέβαια υπάρχουν κάποιες µε ορόσηµα εντός εµβέλειας. Απ τη στιγµή τ u κι έπειτα, δηλαδή όταν τ τ u, τα περιεχό- µενα του παραθύρου θα παραµένουν αναλλοίωτα, κάνοντας φυσικά την υπόθεση ότι είναι δυνατόν να τηρούνται στη µνήµη επ αόριστον, χωρίς να χρειαστεί να διαγραφούν). 4.3.3 Κυλιόµενα χρονικά παράθυρα (sliding windows) Έστω τ 0 T η χρονική στιγµή υποβολής του σχετικού ερωτή- µατος διαρκείας, τότε η εµβέλεια ενός κυλιόµενου παραθύρου µε εύρος ω και βήµα δ για κάθε τ T (µε τ τ 0 ) εκτείνεται: [τ ω+1, τ], αν τ τ 0 +ω mod ((τ τ 0 ), δ)= 0 scope s ( τ, ω, δ ) = scope s ( τ 1, ω, δ ), αν mod ((τ τ 0 ), δ) 0 [τ 0, τ], αν τ 0 τ < τ 0 +ω mod ((τ τ 0 ), δ)=0 όπου τα µεγέθη τ 0, τ T εκφράζονται σε χρονικά ορόσηµα και τα ω, δ N σε εύρος χρονικών διαστηµάτων (ω, δ > 0). Για λόγους απλούστευσης, ο παραπάνω ορισµός υπονοεί ότι όλα τα χρονικά µεγέθη εκφράζονται ως φυσικοί αριθµοί, οπότε ο υπολογισµός της συνάρτησης διεξάγεται σε διακριτές χρονικές στιγµές του T (ή σε παλµούς (heartbeats) κατά τους [AB03]). 10

Τότε οι πλειάδες του παραθύρου προκύπτουν απ τη σχέση: οµαδοποίηση (group-by) ταξινόµηση (sorting) s (S, τ, ω, δ) = {s S ( τ ) : s.a τ scope s ( τ, ω, δ)} διαφορά (difference) Συνήθως, το βήµα δ έχει µέγεθος όσο κι η µονάδα µέτρησης του χρόνου (λ.χ. δευτερόλεπτο), ώστε η πρόοδος του παραθύρου να συµβαδίζει απολύτως µε την αντίστοιχη χρονική (βλ. Σχ. 3γ). Επειδή γενικά ισχύει δ<ω, τα περιεχόµενα δύο συναπτών στιγµιοτύπων του κυλιόµενου παραθύρου εµφανίζουν επικάλυψη. Στο µεταξύ, τα περιεχόµενά του µένουν αναλλοίωτα µέχρι η συνάρτηση να εφαρµοστεί ξανά στον επόµενο παλµό, µετά από δ χρονικές στιγµές. Αυτό εκφράζεται από την αναδροµική έκφραση στον µεσαίο κλάδο της συνάρτησης: τα άκρα του παραθύρου δεν µεταβάλλονται παρά µόνο στις χρονικές στιγµές που προδιαγράφει το βήµα δ. Το τρίτο σκέλος της συνάρτησης προνοεί για το ενδεχόµενο αρχικών «λειψών» παραθύρων αµέσως µετά την υποβολή του ερωτήµατος, όταν η εµβέλεια υπερβαίνει τη χρονική έκταση των τρεχόντων περιεχοµένων του ρεύµατος. Τέλος, αφού η συνάρτηση εµβέλειας είναι µονότονη (εφόσον η χρονική εξέλιξη συνεπάγεται οµόλογη µετακύλιση των διαστηµάτων) και µπορεί να οριστεί ακόµη και για µελλοντικές στιγµές, καλύπτονται όλα τα προσεχή στοιχεία του ρεύµατος, ασχέτως πότε και αν τελικά εµφανιστούν. 4.3.4 Επάλληλα παράθυρα (tumbling windows) Η συνάρτηση εµβέλειας των κυλιόµενων χρονικών παραθύρων ισχύει βεβαίως αυτούσια και στη γενική περίπτωση, όταν το χρονικό βήµα θεωρείται αυθαίρετο και όχι µοναδιαίο. Τότε φυσικά, τα περιεχόµενα του ρεύµατος θα επιστρέφονται κατά κύµατα, όπως συµβαίνει µε τα επάλληλα παράθυρα. Γι αυτόν τον τύπο κυλιόµενων παραθύρων (βλ. Σχ. 3δ), το άλµα δ θεωρείται ίσο προς το εύρος ω N του παραθύρου. Αφού υπολογιστεί η εµβέλεια scope s ( τ, ω, ω), οι πλειάδες του παραθύρου για κάθε χρονική στιγµή τ T δίνονται απ τη σχέση: t (S, τ, ω) = {s S ( τ ) : s.a τ scope s ( τ, ω, ω)} Τα επάλληλα παράθυρα αποδεικνύονται ιδιαιτέρως χρήσι- µα όταν ζητούνται συναθροιστικά αποτελέσµατα σε διαδοχικά, µη επικαλυπτόµενα τµήµατα του ρεύµατος [ACC+03]. 5 ιατύπωση και επεξεργασία παραθυρικών ερωτηµάτων διαρκείας Αν το ρεύµα δεδοµένων υποτεθεί σωρευτικό, η παρουσία παραθύρων κρίνεται ίσως περιττή για ερωτήµατα διαρκείας που αφορούν µόνο τελεστές προβολής (projection) γνωρισµάτων ή επιλογής (selection) βάσει απλών συνθηκών (µόνο συζεύξεις κατηγορηµάτων ή συγκρίσεις τιµών). Μια απλουστευµένη στρατηγική επεξεργασίας θα µπορούσε να προωθεί κάθε νέα πλειάδα του ρεύµατος προς τον επεξεργαστή. Τότε, κατά τη διέλευσή της από τον αντίστοιχο τελεστή, είναι δυνατόν είτε να καταργούνται όσα γνωρίσµατα δεν ζητούνται στην προβολή είτε να ελέγχεται ως προς τα κριτήρια που έχουν τεθεί για την επιλογή της. Ωστόσο, κάτι τέτοιο δεν ισχύει για άλλες περιπτώσεις τελεστών. Η βασική διάκριση [TMSF02] γίνεται ανάµεσα σε ανασχετικούς τελεστές, όπως Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων και στην ευρύτερη κατηγορία των τελεστών διατήρησης κατάστασης, που εκτός των παραπάνω συµπεριλαµβάνουν: σύνδεση (join) απαλοιφή διπλοτύπων (duplicate elimination) τοµή (intersection). Τα παράθυρα εξυπηρετούν στην απεµπλοκή αυτών των τελεστών από τις συνέπειες της αχανούς φύσης των ρευµάτων δεδοµένων, µε στόχο να µην παρεµποδίζεται η παραγωγή αποτελεσµάτων από τα σχετικά ερωτήµατα. Στη συνέχεια δίνονται χαρακτηριστικά παραδείγµατα ερωτηµάτων διαρκείας (ορισµένα έχουν ληφθεί αυτούσια από [PS04]) για ένα υποθετικό σύστηµα υπηρεσιών εντοπισµού οχηµάτων. Παράδειγµα 1. Έστω ένα σύστηµα που καλείται να διαχειριστεί τις θέσεις οχηµάτων που κινούνται σε µια περιοχή (λ.χ. Αττική). Κάθε όχηµα στέλνει ανά δευτερόλεπτο την τρέχουσα θέση του σ ένα κεντρικό σταθµό, απ όπου γίνεται η εποπτεία του στόλου µε ερωτήµατα διαρκείας της εξής µορφής: [Q1: Ερώτηµα επιλογής µε παράθυρο]. «Εντόπισε όλα τα ταξί που βρέθηκαν τα τελευταία 10 λεπτά εντός της περιοχής ενδιαφέροντος» (π.χ. στο κέντρο της Αθήνας). [Q2: Ερώτηµα συνάθροισης]. «Ειδοποίησε όταν περισσότερα από 10 ταξί εντοπιστούν ταυτόχρονα εντός δακτυλίου». [Q3: Ερώτηµα παραθυρικής σύνδεσης]. «Εντόπισε όλα τα ζεύγη λεωφορείων µε τρόλλεϋ που κινούνται πλησίον της πλατείας Συντάγ- µατος (π.χ. εντός ακτίνας 200 µέτρων) κατά τα τελευταία 2 λεπτά». [Q4: Συνολοθεωρητικό ερώτηµα]. «Εντόπισε όλα τα οχήµατα που µόλις τώρα εισέρχονται εντός δακτυλίου». Στη συνέχεια αυτής της ενότητας, αφού δοθούν τυπικοί ορισµοί των αλγεβρικών τελεστών, θα διατυπωθούν ερωτήµατα διαρκείας σε δύο ιδιώµατα της SQL, θίγοντας επιλεκτικά ορισµένα ζητήµατα που εγείρονται κατά την αποτίµησή τους. 5.1 Τελεστές µε χρήση παραθύρων εδοµένου ότι ο συνδυασµός των προβληµατικών σχεσιακών τελεστών µε παραθυρικές δοµές εµφανίζεται συχνά, µεγάλο ερευνητικό ενδιαφέρον έχει στραφεί προς θέµατα επεξεργασίας και βελτιστοποίησης για ερωτήµατα παραθυρικών συναθροίσεων (window-aggregate queries) ερωτήµατα παραθυρικών συνδέσεων (window-join queries) παραθυρικές συνολοθεωρητικές πράξεις (window-set queries) Επί της ουσίας, οι σύνθετοι τελεστές που προκύπτουν υποκαθιστούν τους αντίστοιχους σχεσιακούς, αφού αυτοί αδυνατούν ν ανταποκριθούν στη σηµασιολογία των ερωτηµάτων διαρκείας. 5.1.1 Παραθυρικές συνδέσεις Τέτοια ερωτήµατα περιλαµβάνουν ένα (συµµετρικό) τελεστή σύνδεσης µεταξύ δύο ρευµάτων S 1 και S 2 ή µεταξύ ρεύµατος S και σχεσιακού πίνακα R. Κάθε ρεύµα συνοδεύεται απαραίτητα 11

Προσδιορισµός παραθύρων σε ρεύµατα δεδοµένων. λ 1 λ 2 a S 1 S 2 Σχ. 4: Σύνδεση ρευµάτων δεδοµένων µε χρήση παραθύρων. Υποτίθεται ότι τα στοιχεία καθενός από τα δύο ρεύµατα S 1 και S 2 καταφτάνουν µε διαφορετικούς ρυθµούς λ 1 και λ 2 αντίστοιχα. Κάθε νέα πλειάδα a του S 1 που φτάνει κατά τη χρονική στιγµή τ k, ελέγχεται µε όλες τις πλειάδες εντός του παραθύρου που εφαρµόζεται στο τρέχον περιεχόµενο του S 2 και βάσει της συνθήκης βρίσκει µε ποια ταιριάζει (λ.χ., τα b, c, d). Η ίδια διαδικασία εφαρµόζεται ανάποδα για κάθε νέα πλειάδα του S 2. Ας σηµειωθεί ότι τα παράθυρα δεν είναι απαραίτητο να έχουν την ίδια εµβέλεια ούτε καν να είναι ίδιου τύπου. από προσδιορισµό παραθύρων, όµως δεν είναι αναγκαίο τα παράθυρα να έχουν την ίδια µονάδα ή την ίδια εµβέλεια. Για κάθε χρονική στιγµή τ T, ο τελεστής σύνδεσης παραθύρων επιστρέφει τη συνένωση (concatenation) ζευγών πλειάδων που εµφανίζονται στα αντίστοιχα στιγµιότυπα των παραθύρων: S 1 ( τ ) S 2 ( τ ) = { s 1, s 2, τ m : s 1 1 (S 1 ( τ )),s 2 2 (S 2 ( τ )) E ( s 1, s 2 ) τ m = max( s 1.A τ, s 2.A τ )} Πρόκειται ουσιαστικά για συνδέσεις παραθύρων ζώνης (band window-join) [CCD+03], µε πιο αξιοσηµείωτη την εφαρµογή κυλιόµενων παραθύρων (sliding-window join), χωριστά για κάθε ρεύµα (βλ. Σχ. 4). Κάθε νεοεισερχόµενη πλειάδα του ρεύ- µατος S 1 ελέγχεται ως προς τη συνθήκη σύνδεσης E µε όλα τα τρέχοντα περιεχόµενα του κυλιόµενου παραθύρου 2 του ρεύµατος S 2. Αν βρεθούν στοιχεία που να ταιριάζουν, τότε τα εξαγόµενα αποτελέσµατα λαµβάνουν το πιο πρόσφατο χρονικό ορόσηµο που εµφανίζεται στο ζεύγος των πρωτογενών πλειάδων. Αυτή είναι άλλωστε η χρονική ένδειξη που αποκαθιστά τη διάταξη των τελικών αποτελεσµάτων του παραγό- µενου ρεύµατος δεδοµένων [BBD+02, AN04]. Εναλλακτικά, µια δεύτερη πρόταση για τη σήµανση των αποτελεσµάτων θα ήταν η απόδοση της χρονικής στιγµής παραγωγής κάθε πλειάδας από τον τελεστή σύνδεσης [BBD+02], κάτι που πιθανόν δηµιουργεί επιπλοκές σε περιπτώσεις πολλαπλών συνδέσεων. 5.1.2 Παραθυρικές συναθροίσεις Όπως και για τον ανάλογο τελεστή της εκτεταµένης σχεσιακής άλγεβρας, προηγείται οµαδοποίηση των πλειάδων εντός του παραθύρου. Η οµαδοποίηση γίνεται σύµφωνα µε τις τιµές των στοιχείων στα γνωρίσµατα του σχήµατος του ρεύµατος S όπως προσδιορίζονται στη λίστα των γνωρισµάτων οµαδοποίησης b c d L = {A i, A j,, A n }. Για κάθε οµάδα, δηλαδή συνδυασµό τιµών a i, a j,, a n, εφαρµόζεται η συνάρτηση συνάθροισης f (COUNT, SUM, MIN, MAX, AVG) και ως χρονική ένδειξη του τελικού αποτελέσµατος προσαρτάται το τρέχον ορόσηµο τ. Επιγραµµατικά: f L, γ L, (S, τ) = { a i, a j,, a n, f (a i, a j,, a n ), τ : A k L, a k D k, s (S ( τ )) a k = s.a k } Και στα ερωτήµατα συνάθροισης κυριαρχεί η εφαρµογή κυλιόµενων παραθύρων (sliding-window aggregates), µορφή που είχε εµφανιστεί ήδη στην SQL-99 και σε εµπορικά συστήµατα (Oracle 9i), λ.χ. µε τη µορφή κινούµενων µέσων όρων για τη διευκόλυνση αναλυτικών (OLAP) λειτουργιών. Πρακτικά, η οµαδοποίηση εφαρµόζεται εκ νέου στα κυµαινόµενα περιεχόµενα του παραθύρου, αφού τα προηγούµενα αποτελέσµατα συνήθως δεν ανταποκρίνονται πια στη νέα κατάσταση πλειάδων του παραθύρου. 5.1.3 Παραθυρικές συνολοθεωρητικές πράξεις Όπως θα φανεί κι από τις ακόλουθες αλγεβρικές εκφράσεις, οι γνωστές συνολοθεωρητικές πράξεις όταν εφαρµοστούν σε στοιχεία παραθύρων υπακούουν στη σηµασιολογία πολυσυνόλων (bag semantics), όπως διατυπώνονται από τους [DGK82]. Γι αυτό, ο συµβολισµός των πλειάδων επεκτείνεται µ ένα επιπλέον «πλασµατικό» γνώρισµα που δηλώνει το πλήθος εµφανίσεων k κάθε πλειάδας εντός του παραθύρου. Έτσι, η παραθυρική ένωση (window-union) δύο ρευµάτων δεδοµένων S 1 και S 2 για κάθε τ T, ορίζεται ως εξής: S 1 ( τ ) U S 2 ( τ ) = { s, k : k 1, k 2 N, s, k 1 1 (S 1 ( τ )) s, k 2 2 (S 2 ( τ )) k = k 1 + k 2 k 0 } Οµοίως, η παραθυρική τοµή (window-intersection) των S 1 και S 2 για κάθε χρονική στιγµή τ T είναι: S 1 ( τ ) I S 2 ( τ ) = { s, k : k 1, k 2 N, s, k 1 1 (S 1 ( τ )) s, k 2 2 (S 2 ( τ )) k = min( k 1, k 2 ) k 0 } Τέλος, η παραθυρική εκδοχή της διαφοράς (window-difference) δύο ρευµάτων κατά τη χρονική στιγµή τ T ορίζεται ως εξής: S 1 ( τ ) S 2 ( τ ) = { s, k : k 1, k 2 N, s, k 1 1 (S 1 ( τ )) s, k 2 2 (S 2 ( τ )) k = max( 0, k 1 k 2 ) k 0 } Αξίζει να προσεχθεί η λεπτή διαφοροποίηση που γίνεται στο χειρισµό των χρονικών οροσήµων, τα οποία ως γνωστόν δεν υφίστανται στις συνήθεις σχέσεις. εν αποκλείεται λ.χ. τα παράθυρα που εφαρµόζονται να µην εµφανίζουν χρονική επικάλυψη, ενώ τα άκρα τους δεν είναι κατ ανάγκην συγχρονισµένα (λ.χ. εφαρµόζονται επάλληλα παράθυρα µε διαφορετικό χρονικό βήµα). Για το τελικό αποτέλεσµα επιλέγεται η πρακτική λύση της διατήρησης του προϋπάρχοντος οροσήµου των πλειάδων. Κάτι τέτοιο πρακτικά συµφέρει για λόγους συγχρονισµού των στοιχείων, αφού είναι πιθανόν αυτά να προωθηθούν στη συνέχεια και σε άλλους τελεστές (λ.χ. σύνδεση ή συνάθροιση). Εναλλακτικά, θα µπορούσε ν αποδίδεται το µέγιστο χρονικό ορόσηµο που αντιστοιχεί στην οµάδα πλειάδων του αριστερού σκέλους κάθε πράξης. 12