Μελέτη και Ανάπτυξη ενός Εργαλείου Υποβοήθησης στη Σχεδίαση µίας Βάσης εδοµένων Τύπου Graph από Τελικούς Χρήστες ηµήτρης Λαµπούδης Επιβλέπων: Νικόλαος Πρωτόγερος ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα
Περιεχόµενα Βάσεις εδοµένων NoSQL Graph DB End User Development (EUD) Γραφικό Περιβάλλον Χρήστη (ΓΠΧ) Πρόγραµµα που αναπτύχθηκε 2
Βάσεις εδοµένων Sharding CAP Consistency -Availability -Partition tolerance ACID Atomicity -Consistency -Isolation -Duration 3
NoSQL Οριζόντια κλιµάκωση Απλό επίπεδο διασύνδεσηςπρωτοκόλλου CAP Καλύτερη διαχείριση RAM υναµική διαχείριση χαρακτηριστικών 4
NoSQL Key- Value Column- oriented DB Document- based DB Graph DB 5
Graph DB Κόµβους Ιδιότητες Ακµές 6
Graph DB Αλγόριθµοι άλγεβρας γράφων Hypernodes Hyperedges 7
ΣχεσιακέςΒ ήgraph DB ΣχεσιακέςΒΔ Η δομή της DB είναι γνωστή Το σχήμα της DB είναι προκαθορισμένο Επεκτείνεται δύσκολα Η γλώσσα ερωτημάτων δεν είναι δημιουργημένη για να βρίσκει τις συσχετίσεις που μπορεί να έχουν τα δεδομένα μεταξύ τους. (γείτονες, πρότυπα, κτλ.) Graph DB Η δομή της DB μπορεί να αλλάξει Το σχήμα της DB αλλάζει ανάλογα με τις απαιτήσεις του χρήστη Επεκτείνεται σχετικά εύκολα Έχει τις μεθόδους να βρίσκει συσχετίσεις μεταξύ των δεδομένων. Σε περίπτωση που δεν υπάρχει μια τέτοια μέθοδος, μπορεί να συνταχτεί από τον εκάστοτε χρήστη. 8
End User Development (EUD) Στόχος: παροχή καλύτερου ελέγχου προς τους χρήστες για την ανάπτυξη προγραµµάτων 9
EUD -Τεχνικές Tailoring Προγραµµατισµός µέσω εικονικών στοιχείων Προγραµµατισµός µε παράδειγµα Προγραµµατισµός µε περιγραφές Προγραµµατισµός µε κείµενο 10
ΓραφικόΠεριβάλλονΧρήστη ΣχεδιαστικάΛάθη Ξεχνώντας τον χρήστη Αδυναµία απόδοσης του ελέγχου στον χρήστη Πολλές λειτουργίες στο πρώτο επίπεδο 11
ΓραφικόΠεριβάλλονΧρήστη Σχεδιαστικά Πρέπει Κατανόηση τρόπου σκέψης ιαφορετικές ερµηνείες Ευκρίνεια Παροχή Μονοπατιού Καθοδήγηση Ευχρηστία Σωστή χρήση των µενού 12
ΓΠΧπουΕξετάστηκαν Λογισµικά phpmyadmin VIsual Star-schema QUery by Example Neo4j Web Graph Database Προβλήµατα Εγκατάσταση προγράµµατος Ευχρηστία Σύνταξη ερωτήµατος Περιορισµένη εικονική απεικόνιση του γράφου Πολλές καρτέλες 13
Συµπεράσµατα Συνεχής εκµάθηση Σύνταξη ερωτηµάτων Καθορισµός σχέσεων µεταξύ κόµβων 14
Ευχαριστώ 15
NoSQL Key- Value Column- oriented DB Document- based DB Graph DB 16
Μενού Αριθμός Απεικονιζόμενων στοιχείων Τύπος του Μενού Επιλογών Επιλογών Menu bar Μέγιστος αριθμός στοιχείων 10 Στατική ενέργεια Pull- down Μέγιστος αριθμός στοιχείων 12 Στατική ενέργεια menu Cascading Μέγιστος αριθμός στοιχείων 5, υπομενού Στατική ενέργεια menu 1 Pop-up menu Μέγιστος αριθμός στοιχείων 10 Στατική ενέργεια Push button Για κάθε 1 κουμπί, μέγιστος αριθμός Στατική ενέργεια στοιχείων 6 για κάθε κουτί διαλόγου Check box Για κάθε 1 box, μέγιστος αριθμός Στατικό σετ στοιχείων 10-12 ανά group Radion button 1 για κάθε κουμπί, μέγιστος αριθμός Στατικό σετ στοιχείων 6 για κάθε group box List box Μέγιστος αριθμός στοιχείων 50 σε κάθε Δυναμικό σετ λίστα, εμφανιζόμενες γραμμές 8-10 Drop-down list Εμφάνιση μιας επιλογής κάθε στιγμή, Δυναμικό σετ μέχρι και 20 στοιχεία σε κάθε drop-down box Combination Εμφάνιση μιας επιλογής κάθε στιγμή Δυναμικό σετ list box (κανονική μορφή), μέχρι και 20 στοιχεία σε ένα drop-down box Spin button Μέγιστος αριθμός στοιχείων 10 Στατικό σετ Slider Εξαρτάται από τα δεδομένα Στατικό σετ 17
ΣχεσιακέςΒάσεις εδοµένων Βασικές Έννοιες Πίνακας Κλειδιά ACID Περιορισµοί Scaling Πολυπλοκότητα οµή Σετ χαρακτηριστικών 18
Τεχνολογίεςπου χρησιµοποιήθηκαν PHP MySQL HTML jquery JavaScript InfoVis Toolkit CSS 3 19
read (x)=x2 write(x,x2 ) 20