1 / 25

Stream Base & Stream SQL

Stream Base & Stream SQL. Stream Base Systems When NOW means RIGHT NOW. Σίμος Γερασίμου 883576. Εισαγωγή. Τι εννοούμε με τον όρο Stream ? Μια σταθερή ροή ή αλληλουχία ενός υλικού . π.χ. αέρας, νερό, ραδιο-σήματα, λέξεις, internet radio, broadband web tv . Συνεπώς....

dong
Download Presentation

Stream Base & Stream SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stream Base & Stream SQL StreamBase Systems When NOW means RIGHT NOW ΣίμοςΓερασίμου 883576 University Of Cyprus Καθηγητής: Δ. Ζειναλιπούρ

  2. Εισαγωγή • Τι εννοούμε με τον όρο Stream? • Μια σταθερή ροή ή αλληλουχία ενός υλικού. π.χ. αέρας, νερό, ραδιο-σήματα, λέξεις, internet radio, broadband web tv. Συνεπώς.... Stream Base είναι μια μηχανή – λογισμικό με υψηλή απόδοση που ‘ δημιουργεί ’ εφαρμογές οι οποίες αναλύουν, επεξεργάζονται και ενεργούν σε δεδομένα πραγματικού χρόνου. Βασικοί Κατευθυντήριοι Άξονες: * Γρήγορη Ανάπτυξη Μέσω της βιομηχανικής event-flow γλώσσας. * Γρήγορη Παρουσίαση Με μικρότερο χρόνο λανθάνουσας κατάστασης, μεγαλύτερο throughput στον server * Ευρεία Σύνδεση Επιτάχυνση συνένωσης δεδομένων πραγματικού χρόνου και δεδομένων που βρίσκονται αποθηκευμένα στη βάση. University Of Cyprus

  3. Εισαγωγή συν... • Παραδοσιακή SQL επεξεργάζεται σχέσεις (πίνακες) , οι οποίες είναι πεπερασμένου μεγέθους, • StreamSQLείναι μια γλώσσα ερωτήσεων που επεκτείνει την παραδοσιακή SQL ως προς τη δυνατότητα να επεξεργάζεται δεδομένα πραγματικού χρόνου. • StreamSQL επεκτείνεται όσον αφορά την επεξεργασία streams, που είναι άπειρες σειρές πλειάδων και δεν είναι όλα διαθέσιμα την ίδια χρονική στιγμή. 1) Επιτρέπει queries απεριόριστα σε χρονική διάρκεια, αριθμό μηνυμάτων και break points. 2) Παρέχει τη δυνατότητα να επεξεργαστούν δεδομένα που φτάνουν στην εφαρμογή εκτός της καθορισμένης σειράς. 3) Τελεστές για τα streams μπορούν να χρησιμοποιηθούν αμέσως και να επεκταθούν αναλόγως (sum, max, min,average) Εναλλακτικές Επιλογές: Coral8, Αleri, Progress Abama University Of Cyprus

  4. Ιστορική Αναδρομή • Δημιουργήθηκε από τον Δρ. Mike Stonebraker, 30 άλλους καθηγητές και φοιτητές του ΜIT. • Συνεργασία μεταξύ Brandeis University, Brown University και ΜΙΤ. • Εργάστηκαν στο project Aurora από το 2001 εώς το 2003. • Aurora Project • Σκοπός:Δημιουργία υποδομής που ικανοποιεί τις απαιτήσεις – περιορισμούς stream based εφαρμογώνγια διαχείριση τεράστιων ποσοτήτων συνεχής ροής δεδομένων σε πραγματικό χρόνο, επεξεργασίας τους και εξαγωγής αποτελεσμάτων. • παρακολούθηση του περιβάλλοντος – χλωρίδας & πανίδας • διαχείριση δεδομένων τηλεπικοινωνιών • οικονομικές συναλλαγές • Στη συνέχεια αντικαταστάθηκε από το project Borealis που είναι μια distributed multi-processor έκδοση του Aurora. University Of Cyprus

  5. Ιστορική Αναδρομή συν… • StreamBase SystemsInc • Ιδρύθηκε από τον Δρ. Mike Stonebraker. • Εδρεύει στο Lexington στηMassachusett. • Παρέχει λογισμικό που βοηθά τους οργανισμούς να αναλύσουν δεδομένα πραγματικού χρόνου και να έχουν άμεση και στιγμιάια απόκριση για σημαντικά ζητήματα. • Ηγετική εταιρεία στη υψηλή απόδοση – επίδοση όσον αφορά Complex Event Processing (CEP). • Αύξηση εσόδων, λιγότερο κόστος, ελαχιστοποίηση ρίσκου όσον αφορά τις συναλλαγές. • Προμηθεύει μεγάλους επενδυτικούς οργανισμούς, τραπεζικούς οργανισμούς παγκόσμιας εμβέλειας, κυβερνητικές – στρατιωτικές μονάδες. • Συνένωση της stream μηχανής με τις υπάρχουσες ΒΔ μπορεί να γίνει μέσω υπάρχοντων interfaces όπως TIBCO Rendezvous, διαθέσιμα Java and C++ APIs, και ODBC. University Of Cyprus

  6. Πλεονεκτήματα • Παραγωγικότητα • Δημιουργία συστημάτων πραγματικού χρόνου 10 φορές γρηγορότερα σε σχέση με εναλλακτικές λύσεις. • Επίδοση • Επεξεργασία μηνυμάτων σε ποσοστά εώς εκατοντάδων χιλιάδων μηνυμάτων / second σε ένα μόνο CPU. • Έυκολη Συνένωση • Ελάχιστος χρόνος επιτυχίας με μικρό βαθμό ρίσκου. • Ωρίμότητα • Αξιοπιστία, ευρωστία, ασφάλεια προιόντος λόγω σημαντικών – κρίσιμων συστημάτων της βιομηχανίας στα οποία βασίστηκε. • Κέρδος • Περισσότερα έσοδα, μείωση κόστους και ρίσκου. • Συνεπώς, αποτελεσματικότερες στιγμιαίες αποφάσεις. University Of Cyprus

  7. Πλεονεκτήματα συν... Για να επιτύχεις low-latency, εκτέλεσε την επεξεργασία δεδομένων χωρίς να τα έχεις αποθηκεύσει πρώτα και μετά να τα ανακτήσεις. In-stream Processing Traditional Data Processing Event Data Alerts Actions Memory Disk Queries • Low latency • Χωρίς Καθυστέρηση • Τα αποτελέσματα παράγονται on the fly. University Of Cyprus

  8. Mειονεκτήματα • Είναι απαραίτητο μόνο αν πρόκειται για εφαμογές που διαχειρίζονται streams δεδομένων. • Aν πρόκεται για στατιστικά στοιχεία ή αποθηκευμένα δεδόμενα τότε είναι καλή και η παραδοσιακή SQL. • "StreamSQL unifies the processing of stored and streaming data, empowering developers to use one high-level, extensible language to dynamically query and run computations on a variety of types of data." Dr. Michael Stonebraker Database luminary & pioneer of database research and technology University Of Cyprus

  9. Εγκατάσταση • Υποστηρίζει λειτουργικά συστήματα όπως Windows(32-64), Linux, Solaris. • Απαιτήσεις Hardware: • CPU clock speed > 1GHz • RAM > 1GB • Processor: Ανάλογα με λειτουργικό σύστημα • Disk Space: ~750MB • Απαραίτητο: Sun JDK 1.5.0_15 και μετέπειτα • ΗΤΜL Browser • κ.α. • Για να εγκατασταθεί απαιτείται το StreamBase for Windows CD και ένας έγκυρος αριθμός αδείας. University Of Cyprus

  10. Integrated environment for building, testing, deploying StreamBase Studio • Eclipse-based IDE • Drag-and-connect with workflow orientation • Built-in load simulation for easy testing • Stream Record/Playback • Custom C++ or Java operators • Debugger & performance monitor University Of Cyprus

  11. Πως μπορώ... • Να αποφασίσω ότι η δραστηρίοτητα ενός χρήστη στο διαδίκτυο έχει τελειώσει? • Να διακρίνω τις κερδοφόρες μετοχές στο χρηματιστήριο πριν από τον ανταγωνιστή μου? • Να παρακολουθήσω 25,000 αισθητήρες σε στρατιωτικές δυνάμεις κατά τη διάρκεια της μάχης? • Να δημιουργήσω μια νέα τιμή για δεδομένα εισόδου βασιζόμενος σε ένα παράγοντα και για διάφορες μέρες? • Να συντονίσω 10,000 αισθητήρες καιρού για να προβλέψω μια καταιγίδα όσο το δυνατόν πιο σύντομα? University Of Cyprus

  12. Παραδείγματα: 1 • ClickStream Analysis Demo • Αποφασίζει πότε η δραστηριότητα ενός χρήστη σε μια εφαμοργή διαδικτύου έχει λήξει βάσει threshold και των clicks που έχει κάνει. University Of Cyprus

  13. Παραδείγματα: 1 συν... -- Εισερχόμενο stream όπου η εφαρμογή λαμβάνει τα updates. • CREATE INPUT STREAM ClickStream( userID string(16),timestamp timestamp ); -- Πίνακας που διατηρεί την κατάσταση του χρήστη • CREATE TABLE UserActivity(userID string(16) PRIMARY KEY, lastActivity timestamp ); -- Δημιουργία timeout threshold προσθέτοντας το ClickStream. CREATE STREAM ThresholdStream AS SELECT userID,seconds(15) AS timeoutThreshold,now() as timestamp FROM ClickStream; University Of Cyprus

  14. Παραδείγματα: 1 συν... -- Διάβασμα τελευταίας δρατηριότητας του χρήστη CREATE STREAM ReadUserActivity AS SELECT ThresholdStream.userID AS userID, ThresholdStream.timeoutThreshold AS timeoutThreshold, ThresholdStream.timestamp AS timestamp, UserActivity.lastActivity AS lastActivity FROM ThresholdStream OUTER JOIN UserActivity WHERE ThresholdStream.userID == UserActivity.userID; University Of Cyprus

  15. Παραδείγματα: 1 συν... -- Διαγραφή όλων των δραστηριοτήτων μικρότερων από το threshold του τρέχοντος timestamp. CREATE STREAM UserSessionEnding AS             DELETE FROM UserActivity USING             ThresholdStream             WHERE UserActivity.lastActivity <= timestamp-timeoutThreshold             RETURNING timestamp AS timeEventTriggered,                         UserActivity.userID ASuserID,                         UserActivity.lastActivity AS lastActivity; University Of Cyprus

  16. Παραδείγματα: 1 συν... -- Εξερχόμενο Stream που περιλαμβάνει non null activity και userIDs. CREATE OUTPUT STREAM UserSessionEnded AS                 SELECT * FROM UserSessionEnding WHEREnotnull(UserSessionEnding.userID) && notnull(UserSessionEnding.lastActivity); --Ανανέωση της τελευταίας δραστηριότητας του συγκεκριμένου userID με νέο timestamp. INSERT INTO UserActivity (userID, lastActivity)                 SELECT userID,timestamp                 FROM ThresholdStream                 ON DUPLICATE KEY                 UPDATE lastActivity = timestamp; University Of Cyprus

  17. Παραδείγματα: 1 συν... -- Δημιουργία νέου session (implemented as a filter query). CREATE STREAM DetectNewSession AS                 SELECT * FROM ReadUserActivity                 WHERE isnull(lastActivity) ||                                 (timestamp-lastActivity) > timeoutThreshold; -- Cleanup output schema by explicitly outputing three fields. CREATE OUTPUT STREAM UserSessionBegins AS                 SELECT userID,timestamp,timeoutThreshold FROM DetectNewSession; University Of Cyprus

  18. Παραδείγματα: 2 • Σενάριο: • Κάθε λεπτό για κάθε μετοχή που συναλλάσομαι : • Υπολόγισε το VWAP (vol. weighted avg. price) για τις μετοχές μουκαι όλες τις μετοχές. • Ειδοποία με όποτε η προσωπική εκτέλεση ανταλλαγής είναι κατώτερη του εμπορίου • Λύση: • 5 StreamBaseτελεστές, 30 λεπτά για να ετοιμαστεί University Of Cyprus

  19. (unit#, x, y) Count; Window = 1 min Count > 3 (x.y) across line and enemy Lookup (unit#)  (unit#, x, y, enemy?) Παραδείγματα: 3 • Σενάριο • Η κυβέρνηση θέλει να να φιλτράρει τα δεδομένα και τις αναφορές από τα αναγνωριστικά αεροσκάφη όσον αφορά την δραστηριότητα των φιλίκών και εχθρικών δυνάμεων. • Προσδιορισμός φιλικών και εχθρικών δυνάμεων, τανκς, αεροσκαφών σε πραγματικό χρόνο. • Λύση • Εγκατάσταση αισθητήτων για προσδιορισμό όλων των κινήσεων του εχθρού. Example of combat military monitoring of friendly and enemy forces in real-time with StreamBase University Of Cyprus

  20. Παραδείγματα: 4 • Σενάριο - Δημιούργησε την νέα τιμή του split για tick σε μια είσοδο για διάφορες μέρες. Twoinput streams: Tick (symbol, price, volume, date, time) Splits (symbol, date, time, split_factor) University Of Cyprus

  21. Παραδείγματα: 4 συν... Stored table: Store (symbol, factor) Feeds: Tick and Split _________________________________________ UPDATEStore (SET factor = factor * S.split_factor) FROMSplit S WHERE symbol = S.symbol SELECT T.symbol, price = T.price * S.factor, T.volume, T.date, T.time FROMTick T, Store S WHERE S.symbol = T.symbol Mixing Stream and Table Mixing Stream and Table University Of Cyprus

  22. Παραδείγματα: 4 συν... Tick (symbol, price, volume, date, time) (read) T.price * S.factor Store (Symbol, Factor) Splits (symbol, date, time, split_factor) (write) factor * S.split_factor University Of Cyprus

  23. Συμπεράσματα • Stream Base – StreamSQLπιο έυχρηστη και ευκολότερη από την παραδοσιακή SQL. • Έχει περισσότερες εφαρμογές στην καθημερινή ζωή • κυβερνητικές μονάδες, στρατιωτικές επιχειρήσεις, οικονομικά ζητήματα, οικολογικά θέματα • Ελαχιστοποίηση ρίσκου και απωλειών. • Μικρό κόστος αλλά επιφέρει σημαντικά έσοδα και κέρδη. University Of Cyprus

  24. Βιβλιογραφία • http://www.streambase.com • http://www.linkedin.com/companies/streambase-systems • http://products.databasejournal.com/dbtools/dar/StreamBase-Systems-StreamBase.html • http://en.wikipedia.org/wiki/StreamSQL • http://www.streambase.com/developers-library-code.htm#top University Of Cyprus

  25. Ευχαριστώ Ερωτήσεις / Απορίες ??? University Of Cyprus

More Related