Σπίτι Βάσεις δεδομένων Ευφυΐα ευρετηρίου: πώς να αποφύγετε το χάος της βάσης δεδομένων

Ευφυΐα ευρετηρίου: πώς να αποφύγετε το χάος της βάσης δεδομένων

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

Anonim

Από το προσωπικό της Techopedia, 5 Οκτωβρίου 2016

Takeaway: Ο οικοδεσπότης Eric Kavanagh συζητά την ευρετηρίαση των βάσεων δεδομένων με τους Dr. Robin Bloor, Dez Blanchfield και τον Bert Scalzo της IDERA.

Δεν έχετε εισέλθει αυτήν τη στιγμή. Συνδεθείτε ή εγγραφείτε για να δείτε το βίντεο.

Συνεργάτης περιεχομένου της τεχνολογίας

Το προσωπικό της Techopedia είναι συνδεδεμένο με τον όμιλο Bloor και μπορεί να επικοινωνήσει μαζί σας χρησιμοποιώντας τις επιλογές στα δεξιά. Για πληροφορίες σχετικά με τον τρόπο συνεργασίας με τους συνεργάτες της βιομηχανίας, κάντε κλικ εδώ.
  • Προφίλ
  • Δικτυακός τόπος

Eric Kavanagh: Κυρίες και κύριοι, γεια σου, και καλωσορίζω και πάλι. Είναι μια Τετάρτη, στις τέσσερις Ανατολική, και εκείνοι από εσάς που γνωρίζετε το πρόγραμμα, ξέρετε τι σημαίνει αυτό, ήρθε η ώρα για ένα άλλο επεισόδιο Hot Technologies. Ναι πράγματι. Το όνομά μου είναι ο Eric Kavanagh, θα είμαι ο συντονιστής σας για τη σημερινή συνεδρίαση: "Ευρετήριο Insanity: Πώς να αποφύγετε Chaos βάσης δεδομένων". Ή όπως ανέφερα σε αυτό στην τελευταία εκπομπή ηλεκτρονικού ταχυδρομείου να βγαίνει, "βάσανα βάσεων δεδομένων". Ο καυτός όρος αυτές τις μέρες, "το κλόουν." Όλοι το κάνουν. Υπάρχει μια διαφάνεια σχετικά με την αληθινή σας. Και αρκετά για μένα.

Έτσι, η σειρά Hot Technology σχεδιάστηκε για να καθορίσει ένα συγκεκριμένο χώρο, σε αντίθεση με το Briefing Room, το οποίο είναι μόνο ένας σε έναν ενημερωτικό αναλυτή ζωντανού αναλυτή, για την Hot Tech έχουμε δύο αναλυτές. Σήμερα, πρόκειται να είναι ο δικός μας γιατρός Robin Bloor και ο επιστήμονας δεδομένων μας Dez Blanchfield. Και μιλάμε για ένα θέμα που νομίζω ότι είναι πραγματικά αρκετά εμβληματικό για το τι συμβαίνει στην αγορά σήμερα.

Η ουσία είναι ότι αυτές τις μέρες βρισκόμαστε σε έναν κόσμο πολυπλοκότητας. Πραγματικά, αν σκέφτεστε δεκαπέντε χρόνια ή είκοσι χρόνια, τότε ήταν ένας πολύ διαφορετικός κόσμος, ειδικά σε σχέση με την τεχνολογία των βάσεων δεδομένων. Οι βάσεις δεδομένων ήταν αρκετά απλές. Υπήρχαν μόνο λίγες από αυτές. οι περισσότεροι από αυτούς ήταν σχεσιακές. Τώρα, έχουμε όλη αυτή την πλειάδα τεχνολογιών βάσεων δεδομένων. Κυριολεκτικά πολλές επιλογές στο τραπέζι για όσους θέλουν να δημιουργήσουν μια εφαρμογή ή να κάνουν κάτι με δεδομένα. Τα πάντα αλλάζουν και αυτό επηρεάζει τους ανθρώπους που προσπαθούν να διαχειριστούν αυτά τα συστήματα. Θα μιλήσουμε σήμερα με τον Bert Scalzo, ο οποίος είναι ένας πραγματικός ειδικός στον τομέα. είναι ο ανώτερος διαχειριστής προϊόντων για το IDERA, για το τι μπορείτε να κάνετε για να πάρετε μια λαβή για όλα αυτά τα δεδομένα. Με αυτό, θα το παραδώσω στον Doctor Robin Bloor για να το πάρει μακριά. Ρομπίν, το πάτωμα είναι δικό σου.

Robin Bloor: Εντάξει, ευχαριστώ για αυτή την εισαγωγή. Νομίζω ότι - επειδή είναι ένα πράγμα με δύο χέρια, νομίζω ότι θα μιλούσα μόνο για τη βελτιστοποίηση της βάσης δεδομένων γενικά ως εισαγωγή σε αυτό το Hot Tech show. Άρχισα τη ζωή - στην τεχνολογία και την ανάλυση - ξεκίνησα τη ζωή να το κάνω αυτό επειδή έγραφα για τις δυνατότητες των βάσεων δεδομένων στην πλατφόρμα DEC VAX. Και για το λόγο αυτό, οι δαπάνες των βάσεων δεδομένων μου παρείχαν πληροφορίες. Και το πράγμα που μου συμβαίνει είναι ότι, γιατί θα είχατε μια βάση δεδομένων; Θέλω να πω ότι εκείνες τις μέρες ένας φοβερός αριθμός ανθρώπων συνήθιζε να δημιουργεί αρχεία αξίας κλειδιών και να τα χρησιμοποιούν για να έχουν ένα είδος αλληλοεξαρτώμενου λάθους, όπως τους αποκαλούμε, αλλά για να δημιουργήσουμε ένα είδος βάσης δεδομένων και ξέρετε γιατί θα είχατε Τίποτα άλλο?

Και η απάντηση στο ερώτημα αυτό, νομίζω ότι ο Michael Stonebraker έδωσε την καλύτερη απάντηση σε αυτό και είπε: "Μια βάση δεδομένων μπορεί να μάθει περισσότερα για το πού είναι τα δεδομένα και πόσο γρήγορα μπορεί να το αποκτήσει, από οποιοδήποτε πρόγραμμα μπορεί ποτέ να το ξέρει". Και νομίζω ότι αυτό είναι ενδιαφέρον. είναι η φύση του παιχνιδιού. Αλλά στο 19 - και περίπου το 1989 που ξεκίνησα στην τεχνολογική ανάλυση και ξέρετε, σε αυτό το σημείο, οι βάσεις δεδομένων ήταν πολύ απλές και οι σχεσιακές βάσεις δεδομένων ήταν πολύ απλές. Είχαν τόσο λίγες δυνατότητες, εννοώ ότι θα μπορούσαν να αποθηκεύουν δεδομένα, προφανώς, και θα μπορούσατε να δημιουργήσετε αντίγραφα ασφαλείας και είχαν, ήταν συμβατά με το ACID, αλλά είχαν πραγματικά πολύ αδύναμους βελτιστοποιητές. Στην πραγματικότητα, θα ήταν δύσκολο να υποστηρίξουμε ότι είχαν τη δυνατότητα βελτιστοποίησης καθόλου.

Και αργότερα πήραν ακριβώς καλύτερα και καλύτερα, αλλά, ξέρετε, όταν μια βάση δεδομένων δεν λειτουργεί - όπως αυτά τα καγκουρό φαίνεται να είναι με τον ένα ή τον άλλο τρόπο που δείχνει - μπορεί να υπάρχουν πάρα πολλοί λόγοι για τους οποίους είναι αργή. Και αυτό με φέρνει στο σημείο: Οι βάσεις δεδομένων έχουν πολλές λειτουργίες, αλλά το πιο σημαντικό είναι η βελτιστοποίηση των ερωτημάτων. Εάν δεν το έκαναν, δεν θα τα χρησιμοποιούσατε. Πρόκειται για την γρήγορη απόκτηση πληροφοριών, είναι για να μπορέσετε να το κάνετε όταν υπάρχουν πολλοί ταυτόχρονες χρήστες και αυτό είναι ένα δύσκολο πρόβλημα. Και όταν εξετάζετε πραγματικά, ας τις ονομάσουμε ώριμες βάσεις δεδομένων, αν θέλετε - αλλά σίγουρα Oracle, σε λίγο μικρότερο βαθμό, Microsoft SQL Server, σίγουρα Teradata και DB2 - οι βελτιστοποιητές αυτών των βάσεων δεδομένων έχουν, έχουν περάσει δεκαετίες στην Κτίριο. Ξέρετε, δεν το έκαναν - κάποιος δεν καθόρισε - έξι τύπους σε ένα έργο δύο ετών, έτος, και μόλις χτύπησε ένα μαζί. Δεν λειτουργεί έτσι. Η ικανότητα βελτιστοποίησης αυξήθηκε σταδιακά και απαιτεί μεγάλη ανάπτυξη. Τέλος πάντων, ας μιλήσουμε για το ιστορικό της βάσης δεδομένων. Λοιπόν, υπάρχει ένα πάρα πολύ που λέγεται για τη βάση δεδομένων NoSQL τώρα, και υπάρχει ακόμα πολύς ενθουσιασμός για τη βάση δεδομένων των γραφημάτων. Και η χρήση του SQL πάνω από τον Hadoop και τέτοια πράγματα. Αλλά, η αλήθεια του θέματος είναι ότι εάν θέλετε μια βάση δεδομένων αυτή τη στιγμή, εάν θέλετε μια πλήρως λειτουργική, ικανή για OLTP και μεγάλη κίνηση ερωτήσεων, είναι μια σχεσιακή βάση δεδομένων ή δεν είναι τίποτα.

Μεταξύ των σχεσιακών βάσεων δεδομένων, η Oracle κυριαρχεί στη δημοτικότητα. Ο Microsoft SQL Server, νομίζω, είναι δεύτερος. Και οι δύο μπορούν να χρησιμοποιηθούν για το OLTP και το φόρτο εργασίας ερωτήματος, αλλά πραγματικά δεν μπορείτε πραγματικά να ξεφύγετε με την ανάμειξη αυτών των φόρτων εργασίας. Χρειάζεστε διαφορετικά συμβάντα για φορτία εργασίας OLTP και φόρτωση εργασίας ερωτημάτων. Υπάρχουν εναλλακτικές λύσεις για την SQL και το γράφημα. Οι περισσότερες εταιρείες τυποποιούν μια συγκεκριμένη βάση δεδομένων, γι 'αυτό - εννοώ μετά από δεκαετίες μάχης με όλους τους άλλους παίκτες, η Oracle έγινε η πιο κυρίαρχη. Απλά επειδή κατέληξαν να είναι σε θέση να πουλήσουν εταιρικές άδειες, και έτσι οι εταιρείες θα χρησιμοποιούσαν εναλλακτικά προϊόντα σε εξαιρετικά προϊόντα, η Oracle απλώς δεν θα τα έκανε. Και οι βάσεις δεδομένων είναι στρατηγικές δεδομένου ότι εξελίσσονται επίσης. Και ξέρετε ότι έκανα μια μικρή έρευνα για αυτήν την παρουσίαση και είναι κάτι σαν - θα έρθω σε αυτό για λίγο, αλλά είναι ενδιαφέρον το πώς εξελίσσονται, όσον αφορά την εξέταση από τη θέση της DBA. Αυτό καλώ την αόρατη τάση. Ο νόμος του Moore είναι κυβισμένος. Είναι περίπου το εξής: Η μεγαλύτερη βάση δεδομένων είναι, και νέες βάσεις δεδομένων, δεν υπάρχει μια παλιά βάση δεδομένων που πήρε πολλά περισσότερα δεδομένα για να καταπιεί. Είναι συνήθως μια βάση δεδομένων που εφαρμόζεται σε ένα νέο πρόβλημα. Και στην πραγματικότητα αυξάνονται όσον αφορά τον όγκο δεδομένων. Σχεδόν στο κύβο του Moore's νόμος. Έτσι ο νόμος του Moore είναι ένας παράγοντας δέκα φορές κάθε έξι χρόνια. Τα VLDB τείνουν να αυξάνονται με συντελεστή χίλια ανά εξαετία. Το 1991, το 1992, οι μεγάλες βάσεις δεδομένων μετριούνται σε μεγαβάτες. Το '97 και το '98, gigabytes. 2003, 4, terabytes. 2009, '10, ξεκινήσατε να βλέπετε τις βάσεις δεδομένων petabyte. Νομίζω ότι υπήρχαν ίσως μία ή δύο βάσεις δεδομένων exabyte εκείνη τη στιγμή, αλλά το μεγαλύτερο που έχω ακούσει είναι οι 200 ​​petabytes εγκαίρως και γνωρίζετε ότι δεν έχετε δεδομένα σε μια βάση δεδομένων petabyte. Αλλά, τα περισσότερα από αυτά θα είναι προφανώς οι νέες μεγάλες εταιρίες web 2.0, ενδεχομένως, έχετε το Facebook να κατευθύνεται προς αυτή την κατεύθυνση.

Αλλά ούτως ή άλλως, αν το κοιτάξετε πραγματικά, περιμένοντας μια βάση δεδομένων να περάσει από μια τέτοια κλιμάκωση του όγκου, ζητά πολλά. Και αξιοσημείωτα, σίγουρα μέχρι το επίπεδο petabyte, φαίνεται ότι έχουν κάνει αρκετά καλά. Θέλω να πω, μιλώ για τα παλαιότερα προϊόντα και όχι για κάτι νέο. Φαίνεται ότι έχουν κάνει εξαιρετικά καλά. Αν κοιτάξουμε τις επιδόσεις της βάσης δεδομένων, τα σημεία συμφόρησης, αυτό με οδηγεί στο χρόνο που πραγματικά φρόντισα γι 'αυτά και έπρεπε να ανησυχώ γι' αυτά. Γνωρίζετε ότι αυτό είναι βασικά η κατανομή του υλικού. Υπάρχουν σημεία συμφόρησης της CPU, ενδεχομένως, υπάρχουν σημεία συμφόρησης μνήμης, πιθανόν, πιθανώς υπάρχουν σημεία συμφόρησης δίσκου. Μπορεί να είναι το δίκτυο που σας προκαλεί θλίψη και μπορείτε επίσης να αντιμετωπίζετε προβλήματα με το κλείδωμα, ανάλογα με το τι κάνετε, αλλά κανονικά αυτό συμβαίνει επειδή το πρόγραμμα δεν γνωρίζει ποιον να κλείσει. Έτσι, αν θέλετε να συντονίσετε μια βάση δεδομένων, προσπαθείτε πραγματικά να το συντονίσετε έτσι ώστε να χορεύει μεταξύ αυτών των πέντε πιθανών σημείων συμφόρησης καθώς και μπορεί να κάνει. Και αυτό δεν είναι εύκολο θέμα, επειδή η ποσότητα μνήμης που μπορείτε να διαμορφώσετε σε οποιοδήποτε διακομιστή αυξάνεται δραματικά. Στη συνέχεια, οι επεξεργαστές έχουν γίνει πολύκλωνο, δίσκο, καλά μπορούμε τώρα να το κάνουμε, νομίζω ότι ακόμα και σε διακομιστές βασικών προϊόντων, νομίζω ότι μπορείτε να κάνετε εκατοντάδες και εκατοντάδες terabytes, τέταρτο petabyte, ίσως, ακόμη και σε ένα διακομιστή βασικών προϊόντων. Έτσι, από όλα αυτά τα πράγματα, μπορείτε να παίξετε με, το δίκτυο φυσικά μπορεί να πάει με διαφορετικές ταχύτητες, αλλά κυρίως όταν ασχολείστε με βάσεις δεδομένων, θέλετε πραγματικά να έχετε καλώδια οπτικών ινών ανάμεσα στους διακομιστές και τίποτα άλλο να τρέχει σε αυτό, ιδιαίτερα Με αυτόν τον τρόπο.

Παράγοντες απόδοσης της βάσης δεδομένων. Θέλω να πω, αφήνω έξω αυτό που όλα αυτά πρόκειται να είναι, γιατί ξέρω Dez πρόκειται να μιλήσει γι 'αυτό, αλλά κακός σχεδιασμός βάσης δεδομένων σημαίνει μια βάση δεδομένων με χαμηλή απόδοση. Ο κακός σχεδιασμός του προγραμματισμού μπορεί να σημαίνει ότι ρίχνετε πολύ ηλίθιο SQL σε μια βάση δεδομένων, η οποία θα πάρει απλά ένα πάρα πολύ περισσότερο. Η συνάφεια και η ανάμειξη του φόρτου εργασίας, η υπερβολική συνάφεια θα προκαλέσει προβλήματα συγκράτησης. Η φόρτωση του φόρτου εργασίας, όταν έχετε μεγάλα ερωτήματα με πολύ μικρά, σύντομα, αιχμηρά ερωτήματα, που προκαλούν προβλήματα. Υπάρχει ζήτημα εξισορρόπησης φορτίου. Οι περισσότερες βάσεις δεδομένων φροντίζουν αυτό, αλλά αν δεν έχετε ένα εξελιγμένο προϊόν, τότε ξέρετε, προσθέτοντας μόνο μερικούς διακομιστές, δεν είναι το μόνο που κάνετε εάν θέλετε πραγματικά να αυξήσετε το μέγεθος ενός συμπλέγματος. Πραγματικά πρέπει να εξισορροπήσετε το φορτίο πριν λάβετε τη βέλτιστη απόδοση. Πρέπει να κάνετε σχεδιασμό χωρητικότητας. Απολύτως. Ειδικά τώρα σε αυτές τις μέρες, όπως όταν ο όγκος δεδομένων αυξάνεται πιο δραματικά από ό, τι χρησιμοποιείται για τις βάσεις δεδομένων. Και υπάρχουν ολόκληρα ζητήματα σχετικά με το επίπεδο δεδομένων για τον τρόπο με τον οποίο καταναλώνετε τα δεδομένα, τον τρόπο με τον οποίο μεταφέρετε δεδομένα. Η μη έγκαιρη λήψη δεδομένων σε μια βάση δεδομένων μπορεί να είναι ένα ζήτημα απόδοσης αργότερα επειδή έχουμε πάει από βάσεις δεδομένων που λειτουργούν στα Windows, σε είκοσι τέσσερις με επτά έως τριακόσια εβδομήντα πέντε λειτουργίες και δεν υπάρχουν παράθυρα όπου μπορείτε να επιβραδύνετε ή είναι απίθανο να υπάρξει σήμερα.

Το πρόβλημα Oracle DBA. Για αυτό σκέφτηκα. Έχω βρεθεί στο DBA της Oracle με το Oracle 7 και θυμάμαι πώς να το συντονίσω. Και αν κοιτάξετε πραγματικά την Oracle τώρα, είναι ο τρόπος, ο τρόπος - έχει δρόμο, πιο δυνατό. Έχει χαρτογράφηση bitmap και τέτοια πράγματα, αλλά πήρα πραγματικά το χρόνο να κοιτάξω και να δούμε πόσες παραμέτρους συντονισμού υπάρχουν στην πραγματικότητα σε μια βάση δεδομένων Oracle αυτή τη στιγμή. Και υπάρχουν πάνω από τριακόσιες πενήντα παράμετροι ρύθμισης και υπάρχουν άλλες εκατό κρυφές παραμέτρους, τις οποίες ειδικευμένοι DBAs μπορεί να γνωρίζουν, αλλά οι κανονικοί Oracle DBAs δεν γνωρίζουν. Και αυτό σημαίνει ότι ο συντονισμός αυτού του είδους της βάσης δεδομένων είναι ένα δύσκολο πράγμα. Δεν είναι καθόλου απλό πράγμα. Πρέπει να έχετε μια αίσθηση για αυτό, πρέπει να το έχετε κάνει για πολύ καιρό, και πρέπει να γνωρίζετε ακριβώς ποιο είναι το πρόβλημα που νομίζετε ότι επιλύετε, επειδή ο συντονισμός ξεκινά όταν το η απόδοση είναι κακή, αλλά μπορεί να μην είναι η απόδοση όλων. Μπορεί να είναι η απόδοση συγκεκριμένων ερωτημάτων που έχουν σημασία και ίσως να μπορείτε να τα διορθώσετε συνδέοντας ορισμένα δεδομένα και μνήμη ή ίσως χρειαστεί να τα διορθώσετε με ευρετηρίαση ή ίσως χρειαστεί να αρχίσετε να κάνετε κατανομή με διαφορετικό τρόπο. Υπάρχουν πολλά πράγματα που μπορείτε να κάνετε, είναι το θέμα. Έτσι, κατά συνέπεια, δεν πρόκειται να το κάνουν στο κεφάλι τους - τα DBA χρειάζονται εργαλεία. Τώρα θα περάσω στον Dez που θα σας πει για την ευρετηρίαση, νομίζω.

Eric Kavanagh: Εντάξει Dez, πάρτε το μακριά.

Dez Blanchfield: Σας ευχαριστώ, Robin, και μου αρέσει το εξώφυλλο. Νομίζω ότι έχετε ρίξει το γάντι κάτω εκεί για μένα να έρθει ακόμη και να έρχονται από απόσταση κοντά σε κάτι που συναρπαστικό. Αλλά χρησιμοποίησα μια εικόνα του μικρού γαλαξία μας, καθώς η άποψή μου για το τι έχει μετατραπεί η σημερινή πρόκληση για τους διαχειριστές βάσεων δεδομένων, γιατί αυτή είναι η νοητική εικόνα που τείνω να φανταστώ όταν μπαίνω σε ένα περιβάλλον και δεν είμαι πλέον στον κόσμο της διαχείρισης βάσεων δεδομένων ή το σχεδιασμό βάσεων δεδομένων σε αυτό το επίπεδο πια. Αλλά, όπως και ο ίδιος, ο Robin και εγώ είχαμε πολλά χρόνια συμμετοχής στον κόσμο των βάσεων δεδομένων, είτε ως διαχειριστής είτε ως προγραμματιστής, ή τελικά ως αρχιτέκτονας, και τότε συνειδητοποίησα ότι θα μπορούσα να κάνω καλύτερα πράγματα για να κερδίσω μια κρούστα. Αλλά τείνει να αισθάνεσαι σαν να κοιτάζεις αυτόν τον γαλαξία των δεδομένων, και ακόμα περισσότερο σήμερα, όταν πηγαίνουμε από, όπως περιγράψατε, έχουμε πάει από τα megabytes σε petabytes και exo κλίμακα σε πολύ σύντομο χρονικό διάστημα, στο μεγάλο σχέδιο των πραγμάτων. Αλλά η φράση που έχω στο μυαλό μου είναι ότι οι δείκτες βάσης δεδομένων είναι τώρα μια μαύρη τέχνη και δεν είναι πραγματικά το είδος των πράξεων που οι απλοί θνητοί θα πρέπει να μοιραστούν, για επιχειρησιακές εφαρμογές επιχειρηματικού επιπέδου και το είδος της διατύπωσης απλά μιλούσαν. Αλλά ήθελα να περάσω από μια γρήγορη ανασκόπηση του είδους της ιστορίας που είχα με τους κόσμους των βάσεων δεδομένων και να φέρω στο πλαίσιο όπου θα καταλήξουμε σε ένα συμπέρασμα και μετά να περάσουμε από κάποιο υλικό σήμερα με τους φίλους μας IDERA, επειδή νομίζω ότι υπάρχουν πολλοί διαφορετικοί τρόποι σκέψης για τον τρόπο επίλυσης των επιδόσεων των βάσεων δεδομένων και ένας από αυτούς είναι να ρίχνει κασσίτερο σε αυτό το πράγμα. Για πολλά καταστήματα που συναντώ, πάντοτε δεν φτάνουν στο σημείο να κάνουν συντονισμό επιδόσεων στη στρώση της βάσης δεδομένων και ιδιαίτερα στο στρώμα ευρετηρίου μέχρι να φτάσουν στη δύσκολη διαδρομή να σκέφτονται ότι μπορούν να ρίξουν έναν δέκτη σε αυτό .

Πολλοί άνθρωποι παίρνουν απλώς μια μεγάλη σιδερένια προσέγγιση σε αυτό, στο μυαλό μου, και έχω μια φωτογραφία του The Flash εδώ γιατί αν έχετε παρακολουθήσει πάντα κάποια παλιά ταινία ή σίγουρα την πιο πρόσφατη τηλεοπτική εκπομπή με το The Flash, Flash Gordon τον παλιό χαρακτήρα, και τώρα που ονομάζεται "The Flash", τείνει να πάει πολύ, πολύ γρήγορα και πάντα η ενέργεια του εξαντλείται. Και αυτό συμβαίνει όταν ρίχνετε μεγάλο σίδερο στην απόδοση της βάσης δεδομένων. Πάντα, από την εμπειρία μου, μπορείτε να βάζετε υψηλή απόδοση, σκληρή δουλειά στο παιχνίδι, μπορείτε να βελτιστοποιήσετε τα λειτουργικά σας συστήματα και να τα συντονίσετε σε ένα συγκεκριμένο σημείο. Μπορείτε να βεβαιωθείτε ότι έχετε γρήγορες πολυεπίπεδες επεξεργαστές πολλαπλών λειτουργιών για να κάνετε την εφαρμογή πιο γρήγορη, μπορείτε να ρίξετε αρκετή μνήμη RAM σε αυτήν, να έχετε backplanes υψηλής απόδοσης, μπορείτε να μεταβείτε από σκληρούς δίσκους σε σκληρούς δίσκους κρυφής μνήμης σε στερεά κατάσταση, και συστοιχία αποθήκευσης υψηλής απόδοσης. Και ακόμα και τώρα, οι άνθρωποι ρίχνουν πράγματα όπως flash και NVMe στις μηχανές τους βάσης δεδομένων, σκέπτοντας ότι πρόκειται να πάρουν αυτό το login φορές δύο κέρδη απόδοσης. Και συνεχώς κερδίζουν. Αλλά, όλα έρχονται πίσω στα ίδια βασικά προβλήματα ρύθμισης επιδόσεων. Πολλές συνδέσεις δικτύωσης με χαμηλή καθυστέρηση, έτσι ώστε οι ομάδες να λειτουργούν γρήγορα. Και από την ομαδοποίηση της υποδομής των βάσεων δεδομένων, έτσι έχετε περισσότερες από μία μηχανές που κάνουν όλη τη δουλειά. Αλλά έχετε την τάση να επιστρέψετε στο ίδιο βασικό πρόβλημα απόδοσης, και αυτό είναι η ανάγνωση δεδομένων. Το γράψιμο των δεδομένων είναι ως επί το πλείστον μια αρκετά γραμμική πρόκληση και αν δεν γίνει σωστά.

Και τότε έχουμε την πρόκληση στον σημερινό κόσμο: Δεν δημιουργούνται ίσες όλες οι βάσεις δεδομένων. Υπάρχουν βάσεις δεδομένων και quote-on-quote "βάση δεδομένων." Και όταν σκεφτόμαστε μηχανές βάσεων δεδομένων, οι άνθρωποι συχνά σκέφτονται τους παραδοσιακούς, συνηθισμένους υπόπτους όπως ήταν στον κόσμο SQL. Ξέρετε, έχουμε την Oracle και τον Microsoft SQL Server και υπάρχει ένα ζευγάρι γύρω από αυτό στον κόσμο ανοιχτού κώδικα με την MySQL, η οποία ανήκει τώρα στην Oracle, αλλά είναι ακόμα ανοιχτή πηγή. Και έπειτα έχουμε τους συνηθισμένους ύποπτους, τους κινητήρες NoSQL, οι οποίοι εξακολουθούν να έχουν πρόβλημα γύρω από τη διαχείριση των δεικτών και των επιδόσεων, και δεν θα τους δώσω πολλές λεπτομέρειες, αλλά υπάρχει ένας αυξανόμενος αριθμός αυτών τα πράγματα αναδύονται κάθε μέρα και φαίνονται και αισθάνονται σαν μηχανές βάσεων δεδομένων από την άποψη των προγραμματιστών και από άποψη απόδοσης, αλλά είναι πολύ διαφορετικά θηρία και έχουν τη δική τους μικρή θέση στον κόσμο για να χαράξουν είτε απόδοση σε μνήμη ή γραμμική κλίμακα στο δίσκο. Αλλά αυτό μοιάζει με τον κόσμο στον κόσμο της βάσης δεδομένων. Αυτό είναι το 2016, αυτή είναι η τρίτη έκδοση του χάρτη, από μια σειρά ανθρώπων που παράγουν αυτό το συνεχή χάρτη του τοπίου για το πώς μοιάζουν με τις βάσεις δεδομένων και εδώ είναι - ούτε καν ένας υπερ-ανθρώπινος αρχιτέκτονας της βάσης δεδομένων ή ο διαχειριστής της βάσης δεδομένων θα μπορούσε να έχει νόημα από αυτό. Κυριολεκτικά εκατοντάδες, εκατοντάδες και εκατοντάδες διαφορετικές μάρκες, μοντέλα, κατασκευαστές βάσεων δεδομένων, πάντα συμβατά με τη SQL. Και το ενδιαφέρον είναι ότι όλοι επιστρέφουν στην ίδια πρόκληση. Ο συντονισμός απόδοσης και απόδοσης γύρω από τον κινητήρα βάσης δεδομένων και ιδιαίτερα από τον τρόπο με τον οποίο τα δεδομένα είναι ευρετηριασμένα.

Λοιπόν, ας καλύψουμε γρήγορα την ευρετηρίαση των βάσεων δεδομένων, επειδή είναι ένα ενδιαφέρον θέμα και πρέπει να το βάλετε πιο λεπτομερώς στο demo, πιστεύω. Πιστεύω, όμως, ότι είναι αρκετά αποδεκτό και πρότυπο πρακτική της βιομηχανίας ότι ο συντονισμός επιδόσεων του δείκτη βάσης δεδομένων είναι εκεί όπου ο κόσμος ξεκινάει και τελειώνει όσο εξασφαλίζει ότι τα δεδομένα σας είναι προσβάσιμα με γρήγορη και γρήγορη μορφή. Αλλά τι είναι η ευρετηρίαση της βάσης δεδομένων; Αν σκεφτούμε την ευρετηρίαση με τη μορφή που έχουμε συνηθίσει ως καθημερινοί άνθρωποι, σκεφτείτε μια σελίδα ευρετηρίου σε ένα βιβλίο. Αν θέλετε να βρείτε κάτι σε ένα βιβλίο - ιδιαίτερα σε μια εγκυκλοπαίδεια ή κάτι σαν υλικό αναφοράς κάποιας μορφής - αν ψάχνετε για κάτι σαν αυτή τη σελίδα, όπου ψάχνω για πράγματα όπως το θέμα των φραγμάτων σε μια εγκυκλοπαίδεια. Θέλω να βρω κάθε αναφορά στα φράγματα, τη λεκάνη απορροής του νερού και μια μεγάλη περιοχή συσσώρευσης, κατασκευασμένη από άνθρωπο γενικά. Θα πάω πίσω, θα το βρω σε μια αλφαβητισμένη, ταξινομημένη λίστα, από Α έως Ζ, από αριστερά προς δεξιά και θα βρω Δ. Θα βρω τη λέξη "φράγματα" και μπορώ να το δω αυτό στις σελίδες 16, 38, 41 υπάρχει μια αναφορά σε αυτές, και έπειτα μπορώ να πάω σε αυτές τις σελίδες, μπορώ να σαρώσω τα μάτια μου και θα βρω την αναφορά στη λέξη "φράγμα". Είναι ουσιαστικά η ίδια ιδέα σε μια βάση δεδομένων, αλλά τώρα είναι μια επιστήμη πυραύλων με πολλούς τρόπους. Τόσο αποτελεσματικά, κάθε διαχειριστής βάσης δεδομένων που έχω γνωρίσει καλά, θεωρεί ότι τα ευρετήρια αποτελούν το πιο κρίσιμο εργαλείο για τον συντονισμό της απόδοσης σε οποιοδήποτε κόσμο της βάσης δεδομένων, ανεξάρτητα από το πείρα που μπορεί να έχει η εμπειρία τους από την τοποθέτηση κασσίτερου σε αυτό, ή ανεξάρτητα από την περίπτωση.

Γενικά, όταν μιλάμε για ευρετηρίαση βάσεων δεδομένων, υπάρχουν ορισμένες κοινές προσεγγίσεις. Και όσο πιο σύνθετοι είναι οι δείκτες βάσης δεδομένων, τόσο πιο σύνθετη είναι η προσέγγιση για την ευρετηρίαση δεδομένων. Αλλά ουσιαστικά όταν σκέφτεστε για την ευρετηρίαση δεδομένων - φανταστείτε ότι έχουμε ένα αρχείο που έχει μια λίστα με ονόματα? μπορεί να μην ταξινομηθούν με αλφαβητική σειρά. Ας φανταστούμε ότι υπάρχουν είκοσι από αυτούς. Εάν πρόκειται να ταξινομήσουμε - αν πρόκειται να αναζητήσουμε δεδομένα στη λίστα αυτή, από πάνω προς τα κάτω και ας πούμε ότι είναι μια λίστα με ονόματα. Εάν επιλέξω ένα τυχαίο όνομα και αρχίσω να μετακινηθώ προς τα κάτω σε αυτόν τον κατάλογο, από πάνω προς τα κάτω, σε γραμμική μορφή και είναι μια λίστα με μη ταξινομημένα κριτήρια, υπάρχουν δύο κριτήρια που σκέφτομαι ως μέσος χρόνος αναζήτησης και μέγιστος χρόνος αναζήτησης μου - και Έχω ένα τυπογραφικό λάθος στη δεύτερη γραμμή, θα πρέπει να είναι "μέγιστος χρόνος αναζήτησης", λυπάμαι - αλλά ο μέσος χρόνος αναζήτησης μου είναι ουσιαστικά N plus ένα, διαιρούμενο με δύο, και αυτό είναι κατά μέσο όρο, μου παίρνει πενήντα τοις εκατό του χρόνου για να σαρώσετε από την κορυφή της λίστας, στο κάτω μέρος της λίστας για να βρείτε τυχόν τυχαίο πράγμα στη λίστα. Και η δεύτερη γραμμή εκεί, υπό γραμμική, θα πρέπει να είναι "μέγιστος χρόνος αναζήτησης". Αλλά ο μέγιστος χρόνος αναζήτησης είναι ουσιαστικά ο αριθμός των αντικειμένων, και αυτό είναι ότι αν έχω μια λίστα με είκοσι πράγματα, ότι ο περισσότερος χρόνος που μπορεί να με πάρει για να αναζητήσετε κάτι σε αυτή τη βάση δεδομένων είναι να πάτε από την κορυφή προς τα κάτω, δηλαδή ας πούμε 20 στοιχεία σε αυτό το απλοποιημένο παράδειγμα. Και είναι μια πολύ αργή διαδικασία και δεν υπάρχει κανένας τρόπος για να τραγουδήσει η απόδοση. Και στη συνέχεια, υπάρχουν άλλοι τύποι τρόπων λήψης αυτών των δεδομένων και δημιουργίας ενός ευρετηρίου, ο οποίος είναι στην πραγματικότητα μια σύντομη λίστα με δείκτες όπου είναι τα πραγματικά δεδομένα, όπως δυαδικό, B-tree, bitmap, hashing, συσσωματωμένα και μη συμπλεγμένα, και στη συνέχεια υπάρχουν διαφορετικοί τύποι δεδομένων, όπως χώρος, φιλτράρισμα, XML και πλήρες κείμενο.

Το δυαδικό είναι ένα πολύ κοινό-που χρησιμοποιείται για τα πράγματα, όπου τα δεδομένα προσφέρονται σε αυτό. Το B-δέντρο είναι ίσως το πιο συνηθισμένο γενικά, ιστορικά, επειδή είναι ένας κοινός τρόπος να δομήσετε ένα ευρετήριο σε οποιαδήποτε μορφή δεδομένων και επιτρέπει καταγραφείς, επιλογές και εισαγωγές και διαγραφές να είναι σχετικά εύκολες καθώς μετακινείτε τους δείκτες γύρω από αναφορά στους δείκτες, τα σημεία. Υπάρχουν και άλλοι τύποι, όπως το bitmap, όπου οι τύποι δεδομένων αφορούν, σαν να έχουμε μια συσχετισμένη περιοχή κάποιας μορφής. Το Hashing λειτουργεί πολύ καλά για μεγάλα αντικείμενα, ειδικά blogs και εικόνες. Και μπορείτε να δείτε ότι υπάρχουν διάφοροι τύποι επιστημονικών προσεγγίσεων, μαθηματικών προσεγγίσεων, σε δεδομένα ευρετηρίασης. Για τους απλούς θνητούς, είναι μια ενδιαφέρουσα πρόκληση να μιλήσουμε σε αυτό το επίπεδο. Όταν μιλάτε για αυτό σε επίπεδο επιδόσεων για έναν διαχειριστή βάσης δεδομένων, πραγματικά γίνονται ένας επιστήμονας πυραύλων και οι άνθρωποι κάνουν βαθμούς σε αυτά, και ξέρω ότι ο γιατρός Robin Bloor το έχει κάνει σίγουρα αυτό, και γραπτά βιβλία σε αυτό για όμοιους της IBM και άλλες μεγάλες μάρκες τις τελευταίες δεκαετίες. Επομένως, η άποψή μου είναι ότι περάσαμε πραγματικά μια εποχή όπου, ξέρετε μια φορά, θα μπορούσα προσωπικά να είμαι μπροστά σε ένα σύστημα και θα μπορούσα να το αποκόψω και να σας δείξω όπου ακριβώς τα ζητήματα απόδοσης ήταν σε μια γραμμή εντολών ή σε ένα γραφικό εργαλείο έναρξης της διεπαφής χρήστη και αρχίστε να ψάχνετε στα δεδομένα και να πείτε πού ήταν τα ζητήματα και να δημιουργήσετε ευρετήρια ή δευτερεύοντα ευρετήρια ή πρωτογενή και δευτερεύοντα ευρετήρια σε αυτό και αρχίστε να το χρησιμοποιείτε για να βρείτε τα πράγματα. Αλλά όταν σκεφτόσαστε αυτό το τοπίο, σας έδειξα, όπου έχουμε εκατοντάδες και εκατοντάδες μάρκες, μάρκες και μοντέλα, κατασκευαστές και τύπους βάσεων δεδομένων, είμαστε πολύ καλά και παρελθόν εκείνη την εποχή, εκεί που μπορεί να κάνει ένας άνθρωπος την αίσθηση των τύπων κινητήρων βάσης δεδομένων που έχουμε. Ιδιαίτερα, ακόμα κι αν μόλις επιστρέψουμε σε όμοιους με την Oracle, τα κυρίαρχα σήματα αυτές τις μέρες στις πλατφόρμες σχεσιακών βάσεων δεδομένων.

Ο αριθμός των βάσεων δεδομένων που πρέπει να αντιμετωπίσουν είτε από μια ιδιόκτητη πλατφόρμα, όπως ένα ERP ή HR ή ένα σύστημα χρηματοδότησης, ή αν είναι μια κατ 'οίκον ψημένη πλατφόρμα για διάφορους λόγους, ο αριθμός των βάσεων δεδομένων και των πινάκων βάσης δεδομένων και των αρχείων που καταλήγουμε που ασχολούνται με είναι μόνο αστρονομικά και φυσικά δεν μπορείτε να το κάνετε με το χέρι. Και είχαμε μια επιπρόσθετη επιπλοκή τώρα, όπου μια φορά την φορά, ένας διακομιστής βάσης δεδομένων θα μπορούσε απλά να κάθεται κάτω από το γραφείο σας. Ξέρετε, ως νεαρό παιδί μετά το σχολείο, πήγαινα και δούλευα σε λογισμικό βάσης δεδομένων στα αρχικά συστήματα Apple IIes και στη συνέχεια σε DOS PC, όπως το dBase II, dBase III, πέρασε μια εποχή με mainframes και mid- εύρος και ακόμη και VAX και PDP και αρχείο καταγραφής σε αυτό. Και τα παρόμοια του Saber, και τελικά όταν κάποια από τις βάσεις δεδομένων SQL ήρθαν μαζί. Αλλά αυτές τις μέρες, όταν σκεφτόμαστε μηχανές βάσεων δεδομένων, μοιάζουν με την κάτω αριστερή γωνία. Ένας διακομιστής βάσης δεδομένων δεν είναι μόνο ένα μηχάνημα που κάθεται στο πάτωμα κάτω από ένα γραφείο πια? είναι εκατοντάδες μηχανές που εκτελούν αντίγραφα κινητήρων βάσεων δεδομένων και συστοιχιών και μπορούν να κλιμακωθούν σε εκατοντάδες και εκατοντάδες terabytes δεδομένων, αν όχι πεντακύτταρα δεδομένων, τα οποία είναι χιλιάδες terabytes. Ακόμη και στο έπακρο, όπως ανέφερε ο γιατρός Robin Bloor, ορισμένες συγκεκριμένες περιπτώσεις χρήσης - αεροπορικές εταιρείες, κυβερνητικές υπηρεσίες ειδικότερα - μπορούν να φτάσουν σε exabytes. Εξακολουθούν να είναι αρκετά εξειδικευμένες, αλλά εκατοντάδες terabytes και ακόμη δεκάδες petabytes δεν είναι πλέον ασυνήθιστα, ιδιαίτερα από την έκρηξη dotcom μέχρι τώρα, κάτι που καλούμε εταιρείες του ιστού 2.0, όπως το Facebook, το Google, το Yahoo και ούτω καθεξής.

Έχουμε επίσης την επιπλοκή τώρα που τα πράγματα μετακινούνται προς εξωτερική υπηρεσία. Έχουμε την πλατφόρμα υποδομής και το λογισμικό ως προσέγγιση υπηρεσιών που παρέχει υποδομή. Και ιδιαίτερα την υπηρεσία πλατφόρμας όπου δεν μπορούμε να αγοράσουμε μόνο για όσους αγαπούν την Oracle και την πλατφόρμα του cloud, βάσεις δεδομένων και διακομιστές. Και έτσι αυτό μας επιτρέπει να κάνουμε πολύ γρήγορη ανάπτυξη της εφαρμογής και απλά συνδέστε μια βάση δεδομένων πίσω στους διακομιστές. Δεν χρειάζεται να σκεφτούμε τι βρίσκεται κάτω από την κουκούλα. Το μειονέκτημα είναι ότι συχνά δεν σκεφτόμαστε πώς σχεδιάζουμε και υλοποιούμε την βάση δεδομένων ξανά μέχρι να αρχίσει να βλάπτει και ότι η απόδοση γίνεται ένα ζήτημα και στη συνέχεια καταλήγουμε να ψάχνουμε το σωστό εργαλείο για να διαγνώσουμε γιατί η βάση δεδομένων μας πληγώνει και όπου τα ζητήματα απόδοσης είναι. Και συνεχώς επαναφέρει αυτό το κοινό πρόβλημα του τρόπου με τον οποίο έχουμε αναπροσαρμόσει αυτά τα δεδομένα και τους τύπους ευρετηρίων που χρησιμοποιήσαμε για αυτά τα δεδομένα και που μας φέρνει στη συνέχεια σε απαίτηση για υπεράνθρωπη απόδοση. Και κάποιος που έχει πρόσβαση στα σωστά συστήματα και τα σωστά εργαλεία για την απόδοση των μηχανών αυτών και να αρχίσει να βρίσκει ένα καυτό σημείο και να εξετάζει πού βρίσκονται τα ερωτήματα, όπου τα δεδομένα μετακινούνται, τους τύπους των ερωτημάτων, τον τρόπο δομής των ερωτημάτων, ποιος κάνει τα ερωτήματα και αν τα ερωτήματα βρίσκονται σε ουρά και πρέπει να αποθηκευτούν προσωρινά. Ποια αναπαραγωγή αναζητάτε;

Και έτσι είμαστε καλά και αληθινά - κατά την άποψή μου - σε ένα σημείο όπου ακόμα και οι καλύτεροι γκουρού των βάσεων δεδομένων στον κόσμο, ουσιαστικά οι αρχιτέκτονες των βάσεων δεδομένων μας και ο διαχειριστής της βάσης δεδομένων και οι βάσεις επιδόσεων, κατά την άποψή μου πρέπει πολύ να ξεκινήσουν να χρησιμοποιούν τα σωστά εργαλεία για τη βέλτιστη ρύθμιση του δείκτη απόδοσης για κάθε μηχανισμό βάσης δεδομένων. Επειδή η κλίμακα με την οποία ασχολούμαστε και η ταχύτητα με την οποία κινούνται τα πράγματα, απλά δεν μπορούμε να τα κάνουμε με το χέρι και προσπαθώντας να το κάνουμε αυτό μπορεί να εισαγάγει και άλλα θέματα επιδόσεων, διότι ίσως να μην έχουμε εμπειρία στον χώρο αυτό προσπαθούμε να λύσουμε ένα πρόβλημα. Και πιστεύω ότι εκεί είμαστε έτοιμοι να δώσουμε στον Μπερτ και πρόκειται να μιλήσουμε για το πώς έχουν λύσει αυτό το ποικίλο πρόβλημα και το είδος των πραγμάτων που το εργαλείο τους μπορεί κάνει, ειδικά για τον κόσμο Oracle. Και με αυτό, Bert, θα σας μεταφέρω.

Bert Scalzo: Σας ευχαριστώ. Καλωσορίζω όλους, το όνομά μου είναι ο Bert Scalzo, δουλεύω για το IDERA. Είμαι ο ανώτερος υπεύθυνος προϊόντων για ορισμένα από τα προϊόντα της βάσης δεδομένων μας. Θα παρουσιάσω μερικά από αυτά σήμερα. Αλλά θέλω να μιλήσω για ευρετήρια, γιατί συμφωνώ με όλα όσα είπε ο καθένας εδώ, ειδικά την τελευταία διαφάνεια, ότι οι δείκτες είναι τόσο περίπλοκοι τώρα που χρειάζεστε ένα εργαλείο και ελπίζω να σας πείσω. Έτσι, ο σχεδιασμός δείκτη Oracle, δεν είναι τόσο εύκολο όσο παλαιότερα. Πολλοί άνθρωποι δεν θα είναι σίγουροι για τον εαυτό τους όταν εξετάζουν τις επιλογές, και μου αρέσει αυτό το ρητό ότι έσυρα από την ιστορία "σε αυτά τα θέματα, η μόνη βεβαιότητα είναι ότι τίποτα δεν είναι βέβαιο". να αισθάνεστε για ευρετήρια αυτές τις μέρες, διότι ακόμα κι αν νομίζετε ότι γνωρίζετε ότι η απάντηση σας πρέπει να δείξει X, Y ή Z, δεν μπορείτε να είστε σίγουροι μέχρι να το δοκιμάσετε, επειδή αυτοί οι βελτιστοποιητές μερικές φορές συμπεριφέρονται διαφορετικά από τον τρόπο που περιμένετε. Και έτσι υπάρχουν πολλές δοκιμές και λάθη με το σχεδιασμό δείκτη. Τώρα, στις καλές παλιές μέρες, εάν χρειάζεστε έναν δείκτη, γενικά υπήρχαν μόνο δύο ερωτήσεις ή μία ερώτηση. Ήταν μοναδικό ή δεν ήταν μοναδικό; Και ίσως έχετε σκεφτεί άλλα πράγματα όπως "Πόσα ευρετήρια μπορώ να έχω στο μέγιστο σε ένα τραπέζι;" επειδή πάρα πολλά ευρετήρια επιβραδύνουν τα ένθετα, ενημερώνονται και διαγράφονται. Μπορεί επίσης να είχατε στο σύστημα βάσης δεδομένων σας, να έχετε περιορισμούς σχετικά με τον αριθμό των στηλών που θα μπορούσαν να είναι σε ένα δείκτη πολλών στηλών, επειδή μερικές φορές υπήρχαν όρια βάσει της σελίδας ή του μεγέθους μπλοκ της μηχανής βάσης δεδομένων σας, αλλά στην πραγματικότητα ήταν αρκετά απλή στις παλιές καλές μέρες. Μπορείτε είτε να το δείξατε είτε όχι. Και πραγματικά, όλα ήταν σε B-δέντρο. Θα μπορούσαμε να επιτρέψουμε τα διπλά ή όχι, και αυτό ήταν γι 'αυτό. Η ζωή ήταν καλή, η ζωή ήταν απλή.

Λοιπόν σήμερα, η ζωή δεν είναι τόσο καλή ή τόσο απλή. Έβαλα το κόκκινο σήμα Ghostbuster με τον τρόπο που το χρησιμοποιούσαμε, γιατί τώρα έχουμε το B-tree σε σχέση με το bitmap, σε σχέση με το bitmap join. Και θα εξηγήσω τι είναι μερικά από αυτά σε μια στιγμή. Συγκεντρωμένα και μη συμπλεγμένα, μοναδικά ή διπλότυπα, προς τα εμπρός ή προς τα πίσω, βασισμένα σε λειτουργίες, διαμοιρασμένα ή μη διαμοιρασμένα. Εάν υπάρχει διαχωρισμός, είναι παγκόσμιο ή τοπικό διαμέρισμα; Θα το εξηγήσω και αυτό. Και έπειτα υπάρχει και κάτι που ονομάζεται ευρετήριο οργανωμένο τραπέζι. Και υπάρχουν στην πραγματικότητα μισές δωδεκάδες που έχω απομακρυνθεί από εδώ, γιατί νομίζω ότι έχω αρκετά εδώ τώρα που θα πρέπει να σας πείσουν ότι οι δείκτες είναι πολύ πιο σκληροί από ό, τι ίσως σκεφτήκατε. Σε αυτή τη συγκεκριμένη διαφάνεια, θα ξεκινήσω στο πάνω αριστερό μέρος του διαγράμματος και έχω ένα τραπέζι. Και το πρώτο πράγμα που πρέπει να αποφασίσω είναι, ανάλογα με την έκδοση της βάσης δεδομένων σας και τον προμηθευτή της βάσης δεδομένων σας, επιτρέπουν πίνακες αντικειμένων ή είναι μόνο σχεσιακές; Πάω να πάω κάτω από τη δεξιά πλευρά και να πω ότι χτίζουμε ένα σχεσιακό τραπέζι. Τώρα, η επόμενη ερώτηση που πρέπει να αναρωτηθώ είναι, είναι σε μια ομάδα; Και πολλοί από εσάς που έχετε κάνει την Oracle για κάποιο χρονικό διάστημα θα θυμούνται ότι οι ομάδες ήταν πίσω για το Oracle 6 ημέρες. Πιθανότατα δεν χρησιμοποιούνται πολύ σκληρά σήμερα, αλλά επιτρέψτε μου να πάω πρώτα εκείνο το υποκατάστημα.

Εάν επρόκειτο να βάλω το τραπέζι μου σε ένα σύμπλεγμα, θα έπρεπε να έχω έναν συγκεντρωτικό δείκτη σε αυτό το τραπέζι. Τώρα, στην Oracle, όταν συγκεντρώσατε ένα τραπέζι, ουσιαστικά αποθηκεύσατε τις σειρές ή οι σειρές ήταν κοντά ο ένας στον άλλο, όπου οι τιμές ήταν παρόμοιες. Επομένως, πρέπει να έχετε ένα ομαδοποιημένο ευρετήριο και αυτό το ομαδοποιημένο ευρετήριο θα μπορούσε να μην είναι διαχωρισμένο. Με άλλα λόγια, δεν υπήρχαν πραγματικά καμία μέθοδοι διαμέρισης για το πώς θα κάνατε ένα συγκεντρωτικό τραπέζι. Ήταν αυστηρά μη διαχωρισμένο. Και επειδή ήταν μη διαμοιρασμένο, ήταν παγκόσμιο. Θα εξηγήσω τι είναι το παγκόσμιο μέσα σε ένα λεπτό. Και ήταν πάντα B-δέντρο. Με άλλα λόγια, όταν πήγα κάτω από αυτό το υποκατάστημα, ήταν αρκετά απλό, δεν είχα πολλές επιλογές. Τώρα, αν έκανα ένα μη συσσωρευμένο ευρετήριο σε ένα συμπλέγμα πίνακα, το οποίο ήταν επιτρεπτό σε ορισμένες εκδόσεις, και πάλι ήταν μη διαμοιρασμένο. όταν δεν είναι χωρισμένο, τότε η μόνη σας επιλογή είναι παγκόσμια. Και έτσι, εκεί έχετε την επιλογή του B-tree ή bitmap. Και πάλι, εξαρτάται από την έκδοση της βάσης δεδομένων σας. Αλλά τώρα, ας γυρίσουμε πίσω στο σχετικό τραπέζι και αρχίσουμε να πηγαίνουμε προς τα κάτω στη δεξιά πλευρά και τώρα πρόκειται απλώς να έχουμε ένα απλό, παλιό, κανονικό, γεμάτο τραπέζι: σχεσιακό. Θα είναι σε ένα τραπέζι χώρο. Είμαι κάπου από τη δεξιά πλευρά εδώ πρώτα. Έτσι είναι οργάνωση, σωρός. Η επόμενη ερώτηση που πρέπει να αναρωτηθώ είναι: "Θέλω να χωρίσω αυτό το τραπέζι ή όχι;" Τώρα, μερικές φορές θα χωρίζονταν επειδή σκεφτήκατε: "Γεια σου, ο βελτιστοποιητής θα είναι πιο έξυπνος για το πώς μπορεί να βελτιστοποιήσει τα ερωτήματα. "Αλλά πολλά DBAs θα σας πω ότι ο λόγος που κάνετε αυτό είναι για διοικητικούς σκοπούς. Εάν έχετε έναν πίνακα εκατό δισεκατομμυρίων γραμμών, αν το χωρίσετε σε κατατμήσεις ή κάδους, όταν θέλετε να προσθέσετε δεδομένα στον τελευταίο κάδο, μπορείτε να ρίξετε και να δείξετε ότι είναι μόνο μερικές εκατομμύρια σειρές. Μπορείτε να εισάγετε αυτά τα δεδομένα και στη συνέχεια μπορείτε να ξαναφτιάξετε αυτό το ευρετήριο μόνο σε αυτόν τον κάδο.

Ενώ ήταν μια καλή τεχνική για μερικές τεχνικές βελτιστοποίησης, όπως η εξάλειψη των διαμερισμάτων, η πραγματική αξία του ήταν σε θέση να διαχειριστεί ή να κάνει διοικητικά καθήκοντα σε μικρότερα κομμάτια. Όταν πηγαίνω στον οργανωτικό σωρό, το πρώτο ερώτημα ήταν: "Μήπως το χώρισα ή όχι;" Ας πάμε αριστερά, δεν θα χωρίσω το τραπέζι. Τώρα, μπορεί να φαίνεται περίεργο όταν σας το λέω αυτό, αλλά θα μπορούσατε να έχετε έναν μη διαχωρισμένο πίνακα και στη συνέχεια δεν μπορείτε να χωρίσετε τον ευρετήριο όπως συνηθίζετε ή μπορείτε να χωρίσετε το δείκτη. Σταμάτα και σκέψου. Το τραπέζι σας έχει βασικά ένα κουβά, όπως πάντα σκεφτήκατε, και όμως ο δείκτης σας θα έχει πολλαπλούς κουβάδες. Όταν συμβαίνει αυτό, όπου υπάρχει μια αναντιστοιχία μεταξύ του αριθμού των κουβάδων και του τραπεζιού, και του αριθμού των κουβάδων στο ευρετήριο, αυτό σημαίνει τι σημαίνει παγκόσμιο. Επομένως, εάν ο πίνακας δεν είναι διαχωρισμένος και εάν ο δείκτης είναι χωρισμένος, θεωρείται παγκόσμιος, επειδή υπάρχει μια αναντιστοιχία. Τώρα, επιτρέψτε μου να πάω πίσω στο σωρό της οργάνωσης μου, και να κατέβει αντί για την πλευρά του διαμερίσματος. Τώρα, εάν έχω ένα πίνακα κατατμήσεων και ας πούμε ότι ο πίνακας έχει τέσσερις κάδους, τέσσερις κατατμήσεις, ο δείκτης μου θα μπορούσε να έχει τέσσερις κάδους έτσι ώστε ο δείκτης μου να ταιριάζει με το σχέδιο του τραπεζιού μου. Και έτσι τελείωσε, πάνω από τη δεξιά πλευρά. Αυτό θα θεωρείται τοπικό. Ένας τοπικός δείκτης σημαίνει βασικά ότι η διαμέριση του πίνακα και του δείκτη γίνεται με τον ίδιο τρόπο και έχει τον ίδιο αριθμό κουβάδων. Και έπειτα μόλις έχω τον τοπικό ευρετήριο, θα μπορούσε να είναι ένα δέντρο B ή ένα bitmap, και αυτό το πράσινο βέλος αυτό το είδος ανεβαίνει, σας δείχνει ότι ακόμη και αν είναι B-δέντρο, υπάρχουν ακόμα επιλογές που θα μπορούσαν να γίνουν. Θα μπορούσε να βασίζεται στη λειτουργία. Και επίσης, αν είναι ένα bitmap, υπάρχουν διαφορετικοί τύποι bitmap. Υπάρχει κάτι που ονομάζεται index bitmap join. Εάν κάνετε αποταμίευση δεδομένων, αυτό είναι ένα πολύ δημοφιλές είδος ευρετηρίου για σχήμα ή σχεδιασμό αστέρα. Αυτό που συμβαίνει είναι ότι το ευρετήριο έχει τα αναγνωριστικά σειράς για αυτό που δείχνει στον πίνακα, αλλά θα έχει επίσης αναγνωριστικά σειράς για τους γονείς πίνακες έτσι ώστε όταν είστε - θα πρέπει να ορίσετε το σχέδιο σχήματος αστέρων και ψάχνετε σε έναν πίνακα γεγονότων, αυτός ο δείκτης στον πίνακα γεγονότων σας δείχνει τα δεδομένα που σας ενδιαφέρουν και σας οδηγεί σε κάθε γραμμή στις διαστάσεις σας, έτσι ώστε να πρέπει να έχετε μόνο ένα ευρετήριο.

Και στην πραγματικότητα, αυτό συνέβη λόγω του Red Brick, το οποίο ήταν μια βάση δεδομένων πριν από πολλά χρόνια - πολλοί άνθρωποι μπορεί να το θυμούνται αυτό. Έτσι, αν κοιτάξετε την εικόνα αυτή - και να θυμάστε ότι δεν έβαλα τα πάντα σε αυτήν την εικόνα επειδή η εικόνα θα ήταν πολύ μεγαλύτερη - υπάρχουν ακόμα και άλλα θέματα, τα οποία έχω στο κείμενο εδώ πάνω από το πάνω δεξιά μέρος . Είναι ένας δείκτης αντίστροφης σειράς; Και μπορείτε να πείτε: "Γιατί θα ήθελα ένα δείκτη αντίστροφης σειράς; Αυτό δεν έχει κανένα νόημα. "Λοιπόν αν βρίσκεστε σε ένα ομαδοποιημένο περιβάλλον στην Oracle, εάν κάνετε πραγματικές συμπλέξεις εφαρμογών, αν κρατάτε τους δείκτες σας στη σειρά, έτσι ώστε να μη αντιστραφεί, αν έχετε μεγάλη επεξεργασία που χτυπά τις ίδιες τιμές ή τις ίδιες τιμές δείκτη, αυτό που θα συμβεί είναι ότι θα έχετε ζεστές περιοχές του B-δέντρου σας. Αυτό σημαίνει ότι θα έχετε αμφισβήτηση και ενδεχομένως κλειδώματος για να προσπαθήσετε να αποκτήσετε πρόσβαση σε αυτά τα πράγματα και θα τα κάνατε σε διάφορους κόμβους σε ένα δίκτυο. Λοιπόν, αν βάλετε έναν δείκτη αντίστροφης σειράς, τώρα μπορείτε να το ακυρώσετε. Μπορείτε να πείτε: "Λοιπόν, οι ίδιες τιμές είναι σε διαφορετικά μέρη των δέντρων, οπότε δεν έχω τους ξεχωριστούς κόμβους μου που ανταγωνίζονται για τις ζεστές περιοχές στο δέντρο." Και τότε παρατηρήστε ότι αυτό το μοναδικό δεν λειτουργεί με μερικές από τις επιλογές . Αν κοιτάξετε, έχω αριθμήσει τρία, πέντε, οκτώ και έντεκα, έτσι υπάρχουν μερικές περιπτώσεις όπου δεν μπορώ να έχω ένα μοναδικό ευρετήριο. Ομοίως, υπάρχουν κάποιες περιπτώσεις στις οποίες μπορώ να μην έχουμε αντίστροφη ευρετήριο και, στη συνέχεια, υπάρχουν πρόσθετα θέματα όπως η καταγραφή ή μη καταγραφή και παράλληλα και μη παράλληλα. Μπορώ να αναθέσω τα πράγματα σε μια συγκεκριμένη περιοχή στη μνήμη.

Και αυτό αφήνει ακόμα αρκετά χαρακτηριστικά στο Oracle. Θα έλεγα ότι όταν κοιτάζετε το Oracle 12, πιθανότατα πάλι υπάρχουν περίπου άλλες μισές πράξεις που θα μπορούσα να προσθέσω σε αυτή την εικόνα. Η ευρετηρίαση είναι πραγματικά πολύπλοκη και πραγματικά συμφωνώ με τον προηγούμενο ομιλητή, για να περιηγηθείτε σε αυτό και να κάνετε μια καλή επιλογή, χρειάζεστε ένα εργαλείο. Χρειάζεστε ίσως μια εικόνα όπως αυτή και κάποια μέθοδο για το πώς θα επιλέξετε τα πράγματα και ελπίζουμε ότι το εργαλείο θα σας βοηθήσει να φτάσετε εκεί. Και τότε πρόκειται να είναι δίκη και λάθος. Πάντα λέω στους ανθρώπους για την ευρετηρίαση, "κοιτάξτε προτού να πηδήσετε". Και τότε μπορείτε να δείτε το μικρό σκυλί εδώ, άλμα χωρίς να κοιτάζει, θα καταλήξει σε νερό με τον καρχαρία, ή ο τύπος ετοιμάζεται να πηδήσει στο νερό, και ο ίδιος πρόκειται να παραγκωνίσει τον εαυτό του. Πρέπει να σκεφτείτε την ευρετηρίαση σας, επειδή η δημιουργία ενός ευρετηρίου δεν σημαίνει πάντα ότι τα πράγματα γίνονται καλύτερα. Στην πραγματικότητα, η δημιουργία ενός ευρετηρίου μπορεί να επιβραδύνει τα πράγματα. Και η απόδοση των ερωτημάτων μπορεί να είναι μια τάξη μεγέθους καλύτερη με μία επιλογή από την άλλη. Και θα σας δώσω ένα καλό παράδειγμα. Εάν κάνετε ένα σχήμα αστεριών σχεδίασης και στους πίνακες διαστάσεων χρησιμοποιείτε δείκτες bitmap σε μία περίπτωση και σε μια άλλη περίπτωση λέτε "Θα χρησιμοποιήσω ευρετήρια B-tree", έχετε bitmap έναντι B- δέντρο. Μπορώ να σας πω ότι μια λύση θα είναι μια τάξη μεγέθους ή πιθανόν μερικές τάξεις μεγέθους γρηγορότερη από την άλλη. Αλλά να έχετε κατά νου τι λειτουργεί σε ένα περιβάλλον, όπως σε ένα περιβάλλον αποθήκευσης δεδομένων, πιθανότατα δεν είναι μια καλή επιλογή σε περιβάλλον OLTP.

Για παράδειγμα, αν έπρεπε να πάρετε έναν πίνακα συναλλαγών και να βάλετε ευρετήρια bitmap σε έναν πίνακα συναλλαγών, είναι ακριβό να υπολογίσετε και να επαναφέρετε τα bitmaps, αυτές τις μακριές συμβολοσειρές, και έτσι σε έναν πίνακα OLTP, μπορείτε να χτυπήσετε τον πίνακα τόσο έντονα ώστε το bitmap ο δείκτης μπορεί να καταστραφεί και να επιβραδύνει το σύστημά σας, επειδή δεν προορίζονται μόνο για ενημερώσεις. Είναι τέλεια για γρήγορη πρόσβαση, αλλά δεν είναι καλό για ενημερώσεις. Νομίζω ότι ο δείκτης παίρνει δοκιμασία και λάθος. Δεν υπάρχει πια κανένας χρυσός κανόνας - υπάρχουν πάρα πολλές διαφορετικές μεταβλητές σε αυτήν την εξίσωση για να το ξέρετε - και τελικά θα πρέπει να εξετάσετε την εκτέλεση ή να εξηγήσετε σχέδια στη βάση δεδομένων σας για να δείτε αν κάνετε ή όχι καλές επιλογές. Και μερικές φορές, η ανάλυση του σχεδίου μπορεί να είναι σχεδόν μια επιστήμη στον εαυτό της. Δεν πρόκειται να το καλύψω σήμερα - αυτό είναι ένα άλλο θέμα - αλλά δεν παίρνουν το σχέδιο δείκτη ως δεδομένο. Υπάρχουν βάσιμοι λόγοι για τους οποίους υπάρχουν όλοι αυτοί οι τρελοί τύποι ευρετηρίων που σας έδειξα, στην προηγούμενη εικόνα και για τους οποίους μίλησε ο προηγούμενος ομιλητής. Αυτά δεν δημιουργήθηκαν απλά επειδή ήταν ένα χαρακτηριστικό γνώρισμα για να τοποθετήσετε μια λίστα ελέγχου κάπου για έναν προμηθευτή βάσης δεδομένων. υπάρχουν περιπτώσεις χρήσης ή σενάρια όπου αυτοί οι δείκτες είναι σημαντικοί και θα κάνουν σημαντική διαφορά. Τώρα με αυτό, θα σας δείξω μερικά παραδείγματα διαφορετικών τύπων δεικτών σε ένα από τα εργαλεία μας. Επιτρέψτε μου να κάνω την οθόνη μου για να την δείτε. Εντάξει, έτσι εδώ κάθεμαι μέσα - επιτρέψτε μου να ελαχιστοποιήσει αυτή την εφαρμογή. Καθίζω μέσα στο VMware και τρέχω ένα Windows Server 2012 VM.

Και μπορείτε να δείτε, έχω σχεδόν κάθε εργαλείο που είναι γνωστό στον άνθρωπο. Ως διαχειριστής προϊόντων, πρέπει να είμαι ενήμερος για τον ανταγωνισμό μου, οπότε δεν είναι μόνο τα εργαλεία που έχω, αλλά τι κάνουν οι ανταγωνιστές μου; Και έχουμε αυτό το εργαλείο που ονομάζεται DBArtisan, το οποίο έχω ήδη τρέξει, αλλά πηγαίνω - έτσι θα το φέρω. Και αυτό που μπορείτε να δείτε είναι ότι αυτό είναι ένα πολύ ωραίο εργαλείο, γιατί αντί να χρειάζεται να χρησιμοποιήσετε, πείτε έναν διευθυντή επιχείρησης για την Oracle και ένα SQL Management Studio για τον SQL Server και το MySQL Workbench για MySQL και δώδεκα άλλες βάσεις δεδομένων που υποστηρίζουμε, καλά έχω όλες τις βάσεις μου ενσωματωμένες σε αυτό το ένα εργαλείο. Υπάρχει DB2, υπάρχουν MySQL, Oracle, Postgres, SQL Server και Sybase και αυτό - έχω μόνο έξι βάσεις δεδομένων σε αυτό το συγκεκριμένο πράγμα γιατί δεν μπορώ - το εργαλείο υποστηρίζει δώδεκα βάσεις δεδομένων, αλλά το κακό VM μου, τρέχοντας έξι βάσεις δεδομένων ταυτόχρονα να κάνει ένα demo, είναι περίπου όσο το υλικό μου θα διευκολύνει. Άσε με, λοιπόν, να επιστρέψω τώρα στην Oracle και αν παρατηρήσετε όλα αυτά τα πράγματα είναι τα ίδια. Εάν θέλω να μετρήσω τις επιδόσεις μου στη DB2, είναι οι ίδιες επιλογές που θα έχω στην Oracle. Τώρα κάτω από τα καλύμματα κάνουμε πολλά διαφορετικά πράγματα, έτσι δεν χρειάζεται να ξέρετε τι συμβαίνει, αλλά σας δίνουμε μια συνεπή διασύνδεση, ώστε να μπορείτε να είστε ειδικός με πολλαπλές πλατφόρμες βάσης δεδομένων. Και αυτό θα περιλαμβάνει τη δουλειά με τους δείκτες, το θέμα αυτής της συζήτησης.

Επιτρέψτε μου να έρθω εδώ και επιτρέψτε μου πρώτα να ξεκινήσω βλέποντας μερικά τραπέζια και έχω μια βάση δεδομένων ταινιών που έχει μόνο λίγα τραπέζια. Και αν κοιτάω ένα συγκεκριμένο τραπέζι, όπως το τραπέζι των πελατών, όταν το ανεβάζω εδώ, βλέπω τον σχεδιασμό του τραπεζιού μου, εδώ είναι οι στήλες μου στο τραπέζι μου και εδώ υπάρχουν πληροφορίες για κάθε στήλη. Έχω ιδιότητες για τον πίνακα, αλλά σημειώστε ότι έχω μια καρτέλα εδώ για ευρετήρια και μπορώ να δω εδώ είναι οι δείκτες στο τραπέζι. Παρατηρήστε ότι ένας από αυτούς τους δείκτες είναι ο δείκτης μου PK, το κύριο κλειδί μου. Αυτά τα άλλα φαίνονται να είναι απλά ευρετήρια για τη βελτίωση της πρόσβασης ερωτήματος, ίσως ερωτηματολόγιο με το όνομα ή το επώνυμο ή εξετάζουμε τα τηλέφωνα και τους ταχυδρομικούς κώδικες. Και αν επιλέξω ένα συγκεκριμένο ευρετήριο, όπως αυτός ο ταχυδρομικός κώδικας εδώ και κάνω διπλό κλικ σε αυτό, τώρα μπορώ να δω ότι, hey, είναι ένα μη μοναδικό ευρετήριο και εδώ είναι μερικοί από τους άλλους τύπους, bitmap, μη μοναδικό, μοναδική, ανεξάρτητα από το αν είναι ταξινομημένη ή όχι, ανεξάρτητα από το αν η καταγραφή, ανεξάρτητα από το αν είναι ή όχι αντίστροφη, ανεξάρτητα από το αν πρόκειται για βάση λειτουργίας. Ω, εδώ είναι ένα διασκεδαστικό που δεν κάλυψα. Μπορείτε να έχετε πραγματικά αόρατους δείκτες. Και θα έλεγα, "Λοιπόν, γιατί καλό θα ήθελα να κάνω έναν αόρατο δείκτη;" Λοιπόν, θα σας δώσω ένα καλό παράδειγμα. Βρίσκεστε στο σύστημα παραγωγής σας και έχετε ένα πρόβλημα απόδοσης και δεν είστε βέβαιοι ότι η δημιουργία του ευρετηρίου θα διορθώσει το πρόβλημα, έτσι δεν θέλετε να δημιουργήσετε το ευρετήριο και να επιβραδύνετε την παραγωγή, αλλά κάπως ή το άλλο που θέλετε να είναι σε θέση να το δοκιμάσει. Μπορείτε να δημιουργήσετε το δείκτη στην παραγωγή ως αόρατο, που σημαίνει ότι δεν είναι πολλοί κώδικες εφαρμογής, που καλούν το βελτιστοποιητή, θα χρησιμοποιήσει αυτόν τον δείκτη. Δημιουργήθηκε, είναι έγκυρη, αλλά δεν θα χρησιμοποιηθεί. Στη συνέχεια, μπορείτε να πάρετε ένα ερώτημα που πιστεύετε ότι θα βοηθούσε αυτό το ευρετήριο ή μια σειρά από ερωτήματα και μπορείτε να κολλήσετε μια υπόδειξη και να πείτε: "Γεια σου, βελτιστοποιητής, υπάρχει ένας αόρατος δείκτης εκεί έξω που θέλω να χρησιμοποιήσεις και να αφήσεις με ξέρω αν έχω κάνει τα πράγματα καλύτερα. "Και τώρα έχω δοκιμάσει κάτι στην παραγωγή, αλλά δεν έχω σπάσει τις εφαρμογές στην παραγωγή που τρέχουν. Αυτή είναι η χρήση για έναν αόρατο δείκτη. Ακούγεται χαζός όταν το ακούσεις για πρώτη φορά, αλλά έχει κάποια χρήση.

Μπορούμε επίσης, σε ευρετήρια, να καθορίσουμε αν είναι παράλληλες και επίσης πόσες περιπτώσεις είναι παράλληλες μεταξύ τους. Τώρα, σε ένα μη συσσωρευμένο ή μη πραγματικό περιβάλλον συμπλέγματος εφαρμογών, τόσο μη-ράφι, παράλληλα θα σήμαινε πόσες υπο-διεργασίες μπορεί να φέρει το ερώτημά μου για να προσπαθήσει και τις διαδικασίες των εργαζομένων να προσπαθήσουν να βρουν κάτι μέσω ταχύτερων ή ταχύτερων . Και παράλληλες περιπτώσεις θα ήταν, αν είμαι σε μια πραγματική συστοιχία εφαρμογών, λέω ότι έχω δέκα κόμβους, πόσοι από τους κόμβους επιτρέπω να χωρίσω το έργο; Ίσως είναι τέσσερα από τα δέκα, και σε κάθε ένα από αυτά, τέσσερις υπο-διαδικασίες. Αυτό είναι ένα παράδειγμα. Και τότε έχουμε συμπίεση κλειδί. Μπορείτε να συμπιέσετε ευρετήρια; Ναι ή όχι. Και στη συνέχεια, φυσικά, έχετε τις παραμέτρους αποθήκευσης που μπορείτε να ορίσετε σε ευρετήρια. Τώρα, δεν κάλυψα αυτά γιατί είναι πολύ πιο παράμετρος αποθήκευσης από ό, τι ένα ζήτημα δείκτη. Και τελικά, έχουμε να κάνουμε ή όχι αυτά τα διαχωρισμένα ή μη διαχωρισμένα. Επιτρέψτε μου να το αφήσω εδώ για ένα δευτερόλεπτο. Θα πάω σε ένα διαφορετικό σχήμα. Πρόκειται για ένα σχήμα αστεριών και, για παράδειγμα, αυτός ο πίνακας περιόδου είναι πίνακας διαστάσεων. Αν έχετε κάνει ποτέ σχεδιασμό σχήματος αστέρα, έχετε συνήθως μια διάσταση για το χρόνο και έτσι σε αυτή τη βάση δεδομένων και σε αυτό το σχήμα αστεριών, η περίοδος είναι μια χρονική διάσταση. Τώρα, ξέρω ότι θα μοιάζει αστείο, θα πείτε, "Gee, κοιτάξτε όλες αυτές τις στήλες - έχει ο τύπος ποτέ ακούσει για την εξομάλυνση;" Λοιπόν, όταν είστε σε μια αποθήκη δεδομένων ή ένα σχέδιο σχήματος αστέρων, εσείς συνήθως δεν έχουν τραπέζια που ένας τυπικός άνθρωπος θα κοιτάξει και θα πει, "Gee, αυτά δεν είναι πολύ καλά σχεδιασμένα." Αλλά αυτό είναι ο τρόπος που το κάνετε σε ένα περιβάλλον αποθήκευσης δεδομένων.

Τώρα, προσέξτε τι θα συμβεί γιατί, εντάξει, υπάρχουν όλες αυτές οι στήλες, κοιτάξτε το, έχω ένα δείκτη σε κάθε στήλη. Τώρα, σε ένα περιβάλλον OLTP που θα ήταν ένα όχι-όχι. Θα επιβραδύνει όλες τις λειτουργίες μου. Σε ένα περιβάλλον αποθήκευσης δεδομένων, θα τα ρίξω κατά τη διάρκεια των κύκλων φόρτωσης παρτίδας μου. Φορτώστε χωρίς την επιβάρυνση ή τα ευρετήρια και θα αναδημιουργούσα τα ευρετήρια. Και αν χώρισα το τραπέζι μου, αντί να χρεώσω τον δείκτη για κάθε κάδο στον πίνακα, θα μπορούσα απλά να ρίξω τον δείκτη στον κάδο ή στους κάδους όπου θα πήγαιναν τα δεδομένα κατά τη διάρκεια αυτού του κύκλου φορτίσεως παρτίδας. Και στη συνέχεια αναδημιουργήστε μόνο το τμήμα δείκτη για αυτούς τους κάδους. Και έτσι το κάνει πολύ εύχρηστο. Και αν κοιτάω - έτσι υπάρχει μια στήλη που ονομάζεται "Holiday Flag" και βασικά αυτό είναι ένα ναι ή όχι. Παρατηρήστε ότι πρόκειται για δείκτη bitmap και για τους περισσότερους από εσάς θα πείτε: "Λοιπόν, αυτό έχει νόημα." Ναι ή όχι, Y ή N, υπάρχουν μόνο δύο αξίες που έχουν νόημα. Και επειδή όταν διαβάζετε την τεκμηρίωση για ευρετήρια bitmap, σας λένε πάντα να διαλέξετε κάτι με χαμηλή ακρίβεια.

Τώρα επιτρέψτε μου να πάω σε ένα από τα πινάκια μου, έτσι έχουμε εδώ τις εντολές μου. Και αυτό είναι οι εντολές μου ανά ημέρα. Και θα δείτε τώρα, ότι και πάλι έχω αρκετές στήλες, και πάλι, θα έχω περισσότερους από λίγους δείκτες. Και εδώ, έχουμε κάτι που ονομάζεται παγκόσμιος κώδικας τιμών. Αυτό ήταν για ένα κατάστημα λιανικής πώλησης, οπότε γνωρίζετε εκείνους τους μικρούς κώδικες ραβδώσεων όταν αγοράζετε κάτι στο κατάστημα, αυτός είναι ο γενικός κωδικός τιμής. Τώρα, υπάρχουν εκατομμύρια παγκόσμιων κωδίκων τιμών. Τώρα, για αυτή τη συγκεκριμένη εταιρεία που πωλούσε πράγματα, είχαν πιθανώς 1, 7 έως 2 εκατομμύρια καθολικούς κωδικούς τιμών, οπότε πρόκειται να αναμένετε ότι αυτό δεν πρόκειται να αποτελέσει δείκτη bitmap, διότι 1, 7 εκατομμύρια ξεχωριστές τιμές ακούγονται σαν υψηλή ακρίβεια. Αλλά στην πραγματικότητα, σε ένα περιβάλλον αποθήκευσης δεδομένων, θέλετε αυτό να είναι ένα bitmap. Τώρα, επιτρέψτε μου να εξηγήσω γιατί. Λοιπόν, μπορεί να υπάρχουν 1, 7 εκατομμύρια διαφορετικές τιμές για αυτόν τον γενικό κωδικό τιμής, ο αριθμός των σειρών σε αυτόν τον πίνακα τάξης είναι στα εκατοντάδες των εκατομμυρίων έως τα δισεκατομμύρια των σειρών. Ο δείκτης μου είναι χαμηλός καρδιανισμός σε σύγκριση με το μέγεθος ή την καρδιακότητα του πίνακα. Αυτό το καθιστά χαμηλό καρδιακό. Αυτό κάνει το δείκτη bitmap χρήσιμο, παρόλο που είναι αντίθετο με 1, 7 εκατομμύρια ξεχωριστές τιμές που θα επιλέξετε bitmap εδώ. Τώρα, αν ήξερα ότι ήθελα να χρησιμοποιήσω ένα δείκτη bitmap join, αυτή τη στιγμή το προϊόν δεν το υποστηρίζει αυτό, παίρνω αυτό που προστέθηκε στην επόμενη έκδοση, αλλά αυτό θα ήταν μια άλλη εναλλακτική λύση εδώ. Και σε ένα σχήμα αστεριών, θυμηθείτε ότι ο δείκτης bitmap θα ήταν στον πίνακα γεγονότων και ότι ένας δείκτης στο B-δέντρο θα οδηγούσε στη γραμμή στον πίνακα γεγονότων και έπειτα σε κάθε γραμμή που ήταν εμφανής στον πίνακα διαστάσεων για αυτό το γεγονός . Και έτσι, έχετε μια άλλη επιλογή εκεί. Και λοιπόν, ας δούμε, θέλω να βγω από τραπέζια τώρα και απλά θέλω να σας δείξω γρήγορα ότι έχω τις ίδιες πληροφορίες κάτω από ευρετήρια και θα κάνω το ίδιο βασικό πράγμα.

Τώρα, ο λόγος που έφερα αυτό είναι ότι μπορεί να παρατηρήσετε, hey δεν υπάρχουν πρωτεύοντα κλειδιά εδώ. Τα πρωτεύοντα κλειδιά γίνονται με βασικό περιορισμό, έτσι καλύπτονται πραγματικά από τους ορισμούς των περιορισμών. Αυτά θα είναι ευρετήρια που δεν αποτελούν μέρος του περιορισμού. Τώρα μπορείτε να πείτε: "Λοιπόν, περιμένετε ένα λεπτό, που μπορεί να μοιάζει με ξένο κλειδί και ένα ξένο κλειδί είναι ένας περιορισμός", αλλά τα ξένα κλειδιά και οι περισσότερες βάσεις δεδομένων δεν δημιουργούν αυτόματα ένα ευρετήριο στη στήλη ξένο κλειδί, καλό, και εκεί πηγαίνετε - έχω και πάλι όλες τις ίδιες επιλογές. Και αν θέλω να αλλάξω μόνο για να συμπιεστούμε, μπορώ να το κάνω αυτό.

Τώρα η συμπίεση λειτουργεί μόνο σε ένα δείκτη B-δέντρου. Αυτό που επιτρέπει είναι, όταν εξετάζετε τους διάφορους κόμβους του B-δέντρου, επιτρέπει τη συμπίεση κάποιων από τις τιμές. Δεν είναι πραγματικά συμπίεση όπως η συμπίεση των τραπεζιών, είναι μια συμπίεση όσων αποθηκεύονται στο B-tree στους κόμβους που δεν είναι φύλλα. Δεν σώζει τόνο χώρου, αλλά μπορεί να κάνει τη διαφορά. Και με αυτό παρατήρησα ότι, παίρνω πολύ κοντά στο χρόνο, έτσι τι θέλω να κάνω είναι, θέλω να επιστρέψω και να σταματήσω να μοιράζομαι. Και, έχουμε το προϊόν μας έξω εκεί για μια δοκιμή δεκατεσσάρων ημερών στο idera.com. Είναι ένα πολύ καλό προϊόν, ειδικά αν εργάζεστε με πολλές πλατφόρμες βάσεων δεδομένων. Εάν εργάζεστε με δύο ή τρεις διαφορετικές βάσεις δεδομένων, αυτό το εργαλείο θα κάνει τη ζωή σας πολύ πιο εύκολη. Έχουμε εργαλεία για να σας βοηθήσουμε στο σχεδιασμό και την επιλογή δείκτη, έχουμε ένα εργαλείο που ονομάζεται Optimizer DB. Δεν θα μπορούσα να το καλύψω σήμερα, αυτό θα ήταν πάρα πολύ. Και αν θέλετε να επικοινωνήσετε μαζί μου, υπάρχει η διεύθυνση ηλεκτρονικού ταχυδρομείου μου, είναι, ή μπορείτε να με πιάσετε στο ιδιωτικό ηλεκτρονικό ταχυδρομείο μου, και έχω blogs, έχω μια ιστοσελίδα και blogs, και ένα προφίλ LinkedIn εκεί. Έτσι διστάσετε να επικοινωνήσετε μαζί μου για οτιδήποτε, ακόμα και αν δεν σχετίζεται με το προϊόν, αν θέλετε απλώς να μιλάτε σε βάσεις δεδομένων, είμαι ένας geek στην καρδιά και μου αρέσει να κοροϊδεύω για τεχνοβλαστές.

Eric Kavanagh: Εντάξει, καλά Dez, Robin, είμαι βέβαιος ότι έχετε καθένα έστειλε ερωτήσεις, τουλάχιστον έχουμε λίγα λεπτά εδώ. Dez, τι νομίζεις;

Dez Blanchfield: Έχω μια μεγάλη ερώτηση που πρέπει να σας ρωτήσω, καθόταν στο πίσω μέρος του μυαλού μου. Ποιο είναι το πιο τρελό σενάριο που έχετε δει; Έχω διαβάσει το ιστολόγιό σας, σας παρακολουθώ στενά, - είστε, ίσως είστε ένας από τους λίγους ανθρώπους που έζησε σχεδόν κάθε απίθανο και νομίζω ότι ο Δρ Robin Bloor είναι ο δεύτερος που έχω γνωρίσει τη ζωή μου. Αλλά, ξέρεις, πιθανότατα είδατε κάθε τρελό σενάριο, ποια είναι μερικά από τα πιο τρελά σενάρια που έχετε δει, ότι συναντήσατε και όπως και τα ανθρώπινα όντα που δεν μπορούσαν να αντεπεξέλθουν, έχετε καταφέρει να περπατήσετε και να εκτελέσετε τζίκες Jedi με αυτό το σύνολο DBArtisan;

Bert Scalzo: Είχαμε έναν πελάτη μια φορά που, στο σχεδιασμό της βάσης δεδομένων τους σκέφτηκαν πολύ τον τρόπο που θα σκέφτονταν σε ένα σχέδιο διάταξης αρχείων, και έτσι - όταν κανονικοποιείτε μια βάση δεδομένων, το πρώτο πράγμα που προσπαθείτε να κάνετε είναι να ξεφορτωθείτε επαναλαμβανόμενων ομάδων. Λοιπόν, είχαν μια στήλη και το έκαναν μακρύ, ή BLOB ή CLOB, και σε αυτό θα έβαζαν αξία, τον αριθμό ένα, το ερωτηματικό, την τιμή δύο, το ερωτηματικό, τον αριθμό τιμής, το ερωτηματικό και θα είχαν χιλιάδες τιμές αλλά εκείνοι έπρεπε να ψάξουν σε αυτή τη στήλη και είναι σαν "Γιατί αυτό το πράγμα τρέχει τόσο αργά;" Και είμαι σαν, "Λοιπόν, δεν μπορείτε να δημιουργήσετε ένα ευρετήριο για το τι κάνατε, είναι ακριβώς δεν επιτρέπεται ". Έτσι τους δείξαμε πραγματικά, χρησιμοποιώντας τα σχέδια, ότι αυτό που έπρεπε να κάνουν ήταν να ομαλοποιήσουν αυτό το τραπέζι. Όχι επειδή η εξομάλυνση είναι κάποια ακαδημαϊκή άσκηση που κάνει τα πράγματα καλύτερα, αλλά επειδή ήθελαν ένα ερώτημα σε αυτό το πεδίο, που σημαίνει ότι ήθελαν να είναι σε θέση να το δείξουν, και δεν θα μπορούσατε να το δείξετε σε μια επαναλαμβανόμενη ομάδα, ή τουλάχιστον όχι εύκολα . Και έτσι είναι ίσως το χειρότερο πράγμα που έχω δει ποτέ.

Dez Blanchfield: Ναι, είναι ενδιαφέρον το πόσο συχνά συναντάς, νομίζω ότι η πρόκληση με τις βάσεις δεδομένων, οι άνθρωποι ξεχνούν ότι είναι μια επιστήμη. Και υπάρχουν άνθρωποι που κάνουν πτυχία και διδακτορικά σε ολόκληρο τον χώρο, γράφουν έγγραφα σχετικά με αυτό και έχετε γράψει ένα ολόκληρο βιβλίο με τα εγχειρίδια TOAD και άλλα πράγματα από τη μνήμη. Η τάση προς το είδος, quote-on-quote "μεγάλα δεδομένα" τώρα - βλέπω πολλούς ανθρώπους που ξεχνούν τα βασικά στοιχεία της αρχιτεκτονικής βάσεων δεδομένων και της τεχνολογίας βάσεων δεδομένων, της επιστήμης των βάσεων δεδομένων, αν θέλετε. Τι βλέπετε στον τομέα όσον αφορά την απομάκρυνση από τις παραδοσιακές πλατφόρμες βάσης δεδομένων και την παραδοσιακή σκέψη της βάσης δεδομένων που εφαρμόσαμε αποτελεσματικά στο έδαφος και ήταν απλώς μια περίπτωση ρύθμισης επιδόσεων και κλιμάκωσης. Βλέπετε πολλούς ανθρώπους να ξυπνούν και να έχουν μια εμπειρία όπου απλά κάθονται εκεί και έχουν μια «α-χα» στιγμή, σαν μια στιγμή eureka, όπου συνειδητοποιούν ότι αυτά τα μεγάλα δεδομένα είναι στην πραγματικότητα απλά σαν πραγματικά μεγάλες βάσεις δεδομένων; Είναι κάτι εκεί έξω και οι άνθρωποι σας απαντούν πίσω και το είδος, "Ξέχασα, αυτό που ήξερα και μπορείτε να μας φέρει πίσω από τη σκοτεινή πλευρά;"

Bert Scalzo: Λοιπόν, όχι, και αυτό είναι φρικτό να πρέπει να παραδεχτούμε, αλλά οι πωλητές σχεσιακής βάσης δεδομένων έπιναν και το Kool-Aid. Εάν θυμάστε, δεν ξέρω, πριν από περίπου μια δεκαετία, ξεκινήσαμε να βάζουμε μη δομημένα δεδομένα σε σχεσιακές βάσεις δεδομένων, κάτι που ήταν κάτι το περίεργο και στη συνέχεια τα δεδομένα, οι σχεσιακές βάσεις δεδομένων, προσθέτουν τώρα τον τύπο NoSQL υλικό. Στην πραγματικότητα, στο Oracle 12, CR2 - ξέρω ότι δεν είναι ακόμα έξω - αλλά αν κοιτάξετε το βήτα, αν είστε στο πρόγραμμα beta, υποστηρίζει το sharing. Έτσι, τώρα έχετε μια σχεσιακή βάση δεδομένων που δεν έχει προσθέσει την ιδέα από το Shreding του NoSQL. Και έτσι, η στιγμή "a-ha" φαίνεται να είναι περισσότερο για τους ανθρώπους της σχετικής πλευράς που πηγαίνουν "a-ha." Κανείς δεν θα το κάνει ποτέ ξανά, ούτε καν οι διαχειριστές των βάσεων δεδομένων, έτσι έχουμε πήρε να πάει πάνω και να ενταχθούν στη σκοτεινή πλευρά.

Dez Blanchfield: Δεξιά, έτσι λέτε μια μετατόπιση σε πολλά από τα ακατάστατα δεδομένα, αν καταλαβαίνω σωστά, να μπει σε αυτό, που καλούμε τώρα μεγάλες πλατφόρμες δεδομένων, κάτι που είναι αστείο, επειδή είναι όχι αυτό το παλιό, αλλά δεν σημαίνει αυτό τότε ότι επανεστράττουν σε αυτό που κάνουν με τη σχεσιακή βάση δεδομένων τους για να πάρουν περισσότερη έκρηξη για το buck τους;

Bert Scalzo: Όχι, συνήθως, εάν έχουν ανάγκη από - που θα είχαν παραθέσει μια "μεγάλη ανάγκη δεδομένων τύπου", βρίσκουν ότι αντί να χρειάζεται να πάνε στην άλλη πλατφόρμα βάσης δεδομένων και να κάνουν κάτι σε ένα μη -αναφορικά, οι πωλητές βάσης δεδομένων τους δίνουν τώρα τις ίδιες μη σχεσιακές τεχνικές μέσα στη σχεσιακή βάση δεδομένων τους, για να κάνουν αυτά τα πράγματα. Εννοώ, καλό παράδειγμα θα είναι, εάν έχετε μη δομημένα δεδομένα, όπως έναν τύπο δεδομένων JSON ή κάποιον άλλο πολύπλοκο τύπο δεδομένων που έχει νόημα ενσωματωμένο στα ίδια τα δεδομένα, οι προμηθευτές βάσεων δεδομένων δεν το υποστηρίζουν μόνο, αλλά θα σας δώσουν ACID συμμόρφωσης σε μη δομημένα δεδομένα. Οι σχεσιακές βάσεις δεδομένων έχουν αγκαλιάσει τις νεότερες τεχνικές και τεχνολογίες και έτσι, και πάλι το "a-ha" φαίνεται να μην είναι το εξής: "Hey εμείς, οι προγραμματιστές εφαρμογών, έχουμε ξεχάσει κάτι και πρέπει να το μάθουμε και πάλι", το κάνουμε αυτό τώρα, πώς μπορώ να το κάνω με αυτόν τον τρόπο στην παραδοσιακά σχεσιακή βάση δεδομένων σας και να το κάνω σαν να το κάνω σε αυτή τη βάση δεδομένων εδώ; "και αυτό γίνεται όλο και πιο διαδεδομένο και, όπως είπα, οι ίδιοι οι πωλητές βάσεων δεδομένων επιτρέπουν ότι.

Dez Blanchfield: Ναι, ποιοι είναι οι παραδοσιακοί ύποπτοι σε αυτό το χώρο για το εργαλείο DBArtisan και αυτό; Έκανα κάποια εργασία για αυτό που είχατε γράψει πρόσφατα και από τη μνήμη είχατε γράψει κάτι, νομίζω ότι ήταν ένα από τα blog σας, σχετικά με την εξαιρετική απόδοση των βάσεων δεδομένων στον κόσμο των Oracle. Δεν θυμάμαι πότε ήταν, νομίζω ότι ήταν φέτος από τη μνήμη, ή από τα τέλη του περασμένου έτους, γράψατε αυτό το πράγμα. Και μου φαινόταν ότι ήταν ο παραδοσιακός, συνηθισμένος ύποπτος για τον τύπο του θέματος που μιλάμε σήμερα, όπου οι άνθρωποι θα πάνε σε ένα περιβάλλον μεγάλης κλίμακας βάσεων δεδομένων και ψάχνουν για αυτό που καλείτε ακραία κέρδη σε αυτό. Ποιοι είναι οι συνηθισμένοι ύποπτοι που βλέπετε εκεί έξω που παίρνουν το DBArtisan και το χρησιμοποιούν καλά;

Bert Scalzo: Λοιπόν, έχουμε πολλούς πελάτες, στην πραγματικότητα, σήμερα ήμουν με μια πολύ μεγάλη κυβερνητική υπηρεσία που - και κυριολεκτικά έχουν σχεδόν 1.000 αντίγραφα του λογισμικού μας, επειδή επιτρέπει στους ανθρώπους να επικεντρωθούν σε αυτό που ' να κάνεις, και όχι πώς να το κάνεις. Και είναι εντάξει, εννοώ, όλοι πρέπει να ξέρουν πώς να κάνουν κάτι, αλλά η παραγωγικότητα παίρνει το "τι" έκανε. Εάν η επιχείρηση με ζητήσει να κάνω μια δουλειά, αυτό είναι όλο που ενδιαφέρει. Πότε έκανα ένα σημάδι για να πω πότε έγινε η εργασία; Όχι ποια τεχνική ή τι τεχνική χρήση χρησιμοποίησα για να φτάσω εκεί. Και έτσι, το εργαλείο μας επιτρέπει να επικεντρωθεί σε αυτό που τους επιτρέπει να είναι πολύ πιο παραγωγικοί και αυτό είναι πραγματικά το τεράστιο πλεονέκτημα και, όπως είπα, μερικές βάσεις δεδομένων προσφέρουν ένα εργαλείο μόνο για την πλατφόρμα βάσης δεδομένων τους. Το προσφέρουμε για δώδεκα πλατφόρμες βάσεων δεδομένων. Έχω την ίδια ροή εργασίας, την ίδια γραφική διεπαφή χρήστη, τις ίδιες πλοήγησης. Εάν γνωρίζετε πώς να χορηγήσετε ένα προνόμιο σε έναν χρήστη ή πώς να δημιουργήσετε έναν πίνακα ή να δημιουργήσετε ένα ευρετήριο σε μια βάση δεδομένων, μπορείτε να το κάνετε σε όλες τις δώδεκα επειδή είναι το ίδιο βλέμμα και αίσθηση και ίδια ροή εργασίας. Αυτό έχει τεράστια αξία για τους πελάτες μας.

Dez Blanchfield: Ναι, υποθέτω ότι οι άνθρωποι θέλουν να πάρουν πολύ πιο κτύπημα για το buck τους από τους ανθρώπινους πόρους τους. Και οι ημέρες από την κατοχή ενός μεμονωμένου ειδικού σε Oracle, Ingres και DB2 έχουν πάει όλα. Οι άνθρωποι αναμένεται να είναι ο Jack όλων των επαγγελμάτων, οπότε νομίζω ότι αυτό το πράγμα έχει σώσει τις ζωές τους.

Μόνο ένα τελευταίο γρήγορο πράγμα πριν το παραδώσω στον γιατρό Robin Bloor. Αναφέρατε ότι υπάρχει δωρεάν λήψη για δεκατέσσερις ημέρες, τι κάνει - αν πρόκειται να προχωρήσω και θα το κάνω αυτό, παρεμπιπτόντως, θα το βάλω στο εργαστήριο τεχνολογίας Bloor και θα γυρίσω αυτό το πράγμα να σηκωθώ και να αποκτήσω τα χέρια μου - δεν είχα την ευκαιρία να το κάνω πριν από σήμερα. Αναφέρατε μια δοκιμή δεκατεσσάρων ημερών, είπατε ότι την εκτελείτε σε ένα VM στον υπολογιστή σας, υποθέτω ότι πρόκειται για φορητό υπολογιστή. Ποιο είναι το τι είναι το αρχικό σενάριο για κάποιον που θα πάρει τα χέρια και θα χρησιμοποιήσει τη δοκιμαστική περίοδο των δεκατεσσάρων ημερών, λίγο πριν να επιστρέψω στον Robin στις ερωτήσεις του;

Bert Scalzo: Οποιοδήποτε περιβάλλον των Windows, έτσι τα Windows 7, εικονική μηχανή με ένα CPU και τέσσερις συναυλίες μνήμης. Δεν είμαστε ένα πολύ λιτό ή ακριβό εργαλείο. Τώρα, αν θέλατε να τρέξετε τον διακομιστή βάσης δεδομένων σας με το ίδιο VM κάτω από τα ίδια Windows, ναι, θα πρέπει να προσθέσετε περισσότερα, αλλά αν τρέχετε τη βάση δεδομένων σας σε ένα διακομιστή βάσης δεδομένων ή σε ξεχωριστό VM, τρέξτε το προϊόν μας είναι πολύ ελαφρύ: μία CPU, τέσσερις συναυλίες μνήμης, σχεδόν οποιαδήποτε έκδοση των Windows - και υποστηρίζουμε και τις δύο εγκαταστάσεις τριάντα δύο και εξήντα τεσσάρων δυαδικών ψηφίων. Αλλά θα πρέπει να εγκαταστήσετε τον πελάτη του προμηθευτή της βάσης δεδομένων σας. Επομένως, αν θέλετε να συνδεθείτε με την Oracle, πρέπει να εγκαταστήσετε τον πελάτη SQL net, επειδή αυτό είναι που χρειάζεται η Oracle για να μιλήσετε σε μια βάση δεδομένων.

Dez Blanchfield: Ακούγεται πολύ απλό. Νομίζω ότι ένα πράγμα από αυτό περισσότερο από οτιδήποτε ελπίζω ότι οι άνθρωποι πρόκειται να πάρει μακριά, εκτός από την συνειδητοποίηση ότι αυτό το εργαλείο πρόκειται να σώσει τις ζωές τους, είναι ότι πρέπει να πάνε και να το κατεβάσετε και να παίξουν μαζί του, δεδομένου ότι προσφέρετε δωρεάν δοκιμή δεκατεσσάρων ημερών. Και μπορεί να τρέξει με τον τρέχοντα φορητό υπολογιστή χωρίς να εγκαταστήσει τίποτα επιπλέον, διότι αν κάνουν ήδη τη διαχείριση βάσεων δεδομένων, συνεργάζονται ήδη με βάσεις δεδομένων που έχουν όλα αυτά τα εργαλεία στη θέση τους και εάν τρέχει σε τοπικό VM ή στο τοπική επιφάνεια εργασίας, ακούγεται σαν να είναι ανώφελο να εγκαταστήσετε και να παίξετε με. Γι 'αυτό συστήνω ιδιαίτερα ότι οι άνθρωποι το κάνουν.

Ρομπίν, είμαι βέβαιος ότι έχετε ερωτήσεις και τον Eric, πιθανότατα έχετε πάρει μερικούς από το ακροατήριο, έτσι Robin, πώς θα περάσω σε σας, και στη συνέχεια πίσω στο Eric;

Robin Bloor: Ναι, εντάξει, καλά έχω να πω, εννοώ, βρήκα πάντα αυτή τη περιοχή συναρπαστικό γιατί ήταν - έκοψα τα δόντια μου σε αυτό. Αλλά η αλήθεια είναι ότι, πιθανότατα από το 1998, το 1999, έχω ξεπεράσει αυτό που πραγματικά μπορεί να κάνει η Oracle. Και, ήξερα Sybase και Microsoft SQL Server, και τα δύο είναι αρκετά απλά σε σύγκριση με ό, τι θα μπορούσε να κάνει η Oracle. Μου έκανε να γελάσω όταν είσαι - εννοώ, κάλυψα το στόμα μου, όταν άρχισες να μιλάς για σκασίματα. Η Oracle το έκανε πριν. Oracle εισήγαγε σε κάποια χρονική στιγμή, νιώθουν νευρικοί της αντικειμενικής σχεσιακής ιδέας και έτσι εισήγαγαν τη δυνατότητα να δημιουργήσουν ένα είδος καταγραφής αντικειμένων και αποθήκευσης αντικειμένων στην Oracle και μίλησα με έναν από τους μηχανικούς τους, κάτι σαν ένα ζευγάρι χρόνια μετά την εισαγωγή του και ρώτησα πόσοι άνθρωποι το χρησιμοποίησαν και είπε ότι νομίζω ότι δύο πελάτες το είχαν δοκιμάσει και αυτό ήταν. Και νομίζω ότι το ίδιο πράγμα θα συμβεί αν αρχίσουν να προσπαθούν να κάνουν trending πράγματα NoSQL. Ξέρετε, νομίζω ότι είναι ένα λάθος, εννοώ, ενδιαφέρομαι για τις σκέψεις σας. Σίγουρα, τα πίνουν το Kool-Aid. Νιώθουν σαν να έχουν τη δυνατότητα να κάνουν αξιώσεις παρόμοιες με τις μεγάλες βάσεις δεδομένων NoSQL όπως η Κασσάνδρα, αλλά ξέρετε, έχει νόημα για εσάς;

Bert Scalzo: Όχι, έχετε χτυπήσει το νυχιών πάνω στο κεφάλι. Για μένα, θα ήθελα, αν πρόκειται να κάνω σχεσιακό, θα επιλέξω έναν σχεσιακό πωλητή όπως ένα Oracle ή έναν SQL Server ή ένα DB2 ή Postgres, αλλά αν πρόκειται να κάνω κάτι που δεν είναι σχεσιακό, στο μεγάλο χώρο δεδομένων ή στον χώρο NoSQL, θα επιλέξω το σωστό εργαλείο για τη σωστή δουλειά. Και δεν νομίζω ότι αυτό θα ήταν φυσικό να πάω πρώτα στον πωλητή της σχεσιακής βάσης δεδομένων μου. Και στη συνέχεια, προσθέτετε την άλλη ρυτίδα σε αυτήν, δηλαδή, τι υπάρχει στο σύννεφο; Τόσοι πολλοί άνθρωποι θέλουν να αποφύγουν τις βάσεις δεδομένων τους. Έπειτα πρέπει να κοιτάξετε τον παροχέα σύννεφων σας και να πείτε: "Εντάξει, τι παρέχετε, ποιες βάσεις δεδομένων διαθέτετε για μένα που ταιριάζουν στις ανάγκες μου και πώς είναι εμπορεύσιμοι και ειλικρινά ποιο είναι το ποσοστό ή η χρέωση για τη χρήση αυτής της βάσης δεδομένων στο σύννεφο ανά ώρα, ή ανά ημέρα. Και ανά gigabyte ή terabyte; "Και αυτό που θα βρείτε είναι ίσως μερικές από τις σχετικά νεότερες βάσεις δεδομένων, όπως το Mongo ή Cassandra, ίσως τα ποσοστά τους να είναι φθηνότερα, οπότε αν πρόκειται να κάνετε μεγάλα δεδομένα πολλών petabytes, ίσως πρέπει - από την άποψη του κόστους - να εξετάσουν τις βάσεις δεδομένων NoSQL στο σύννεφο, επειδή μπορεί να είναι ο πιο οικονομικός τρόπος για να το κάνουν.

Robin Bloor: Ναι, σωστά. Θέλω να πω, το είδος μου - το θέμα των σχεσιακών βάσεων δεδομένων από την εμπειρία μου - το οποίο είναι αρκετά μεγάλο για να έχεις σημάδια, αυτό είναι σίγουρο - υπάρχει πολλή κοινή λογική ότι εάν αρχίσεις να την εφαρμόζεις και καταλαβαίνεις τι είναι πραγματικά η σχέση, Θυμάμαι ότι θα κάναμε κάποια συμβουλευτική με έναν πελάτη μια φορά και με οδήγησαν σε ένα δωμάτιο και είχαν κάνει ένα είδος οντολογικού διαγράμματος και δημιούργησαν μια τρίτη κανονική μορφή, ένα πρότυπο για τα βασικά συστήματα της εταιρείας. Είχε περίπου διακόσια σαράντα τραπέζια και τους είπαν: "Λοιπόν, τι πιστεύεις γι 'αυτό; Πρόκειται να δημιουργήσουμε μια βάση δεδομένων για αυτό », και είπε:« Τι νομίζετε για αυτό; »Είπα, « δεν νομίζω ότι θα λειτουργήσει ». Και είναι σωστό, ξέρετε, γιατί τελείωσαν προκειμένου να δημιουργηθεί μια συγκεκριμένη δομή μέσα σε ένδεκα συνδέσεις. Και αυτό είναι το πράγμα που πρέπει να κατανοήσουμε για το σχεσιακό. Έτσι, είμαι ενδιαφέρουσα από την άποψη του πόσο κακό σχέδιο συναντάς. Θέλω να πω, δεν έχω κανένα πρόβλημα με την DBArtisan - κάνει πολύ λογικά πράγματα και το γεγονός ότι μπορείτε πραγματικά να εμφανίσετε σε πολλαπλές πλατφόρμες, νομίζω, είναι υπέροχο - αλλά πόσο συναντάτε εκεί όπου υπάρχει το σχέδιο όπου οι άνθρωποι θα μπορούσαν να έχουν λύσει τους εαυτούς τους κάθε είδους θλίψη αν έρθουν κάτω σε ένα σχήμα αστέρα αντί να πάρουν νιφάδα χιονιού γι 'αυτό, ξέρετε;

Bert Scalzo: Λοιπόν, δεν θέλω να ακούγεται σαν, αλαζονική ή αλαζονική, αλλά θα έλεγα πιο συχνά. Είναι σαφές ότι η πλειονότητα των βάσεων δεδομένων που εμπλέκονται έξω εκεί, έχουν προβλήματα ή προβλήματα. Αυτό είναι καλό, επειδή τα εργαλεία μας, όπως το εργαλείο βελτιστοποίησης της βάσης δεδομένων μας, μπορούν να τα βοηθήσουν να λύσουν αυτά τα προβλήματα και, όμως, αυτό που είναι πραγματικά αστείο για εμένα είναι ότι πολλά από τα προβλήματα είναι τα ίδια απλά προβλήματα ξανά και ξανά. Απλά δούλευα με έναν πελάτη την άλλη μέρα που είχε ένα ερώτημα ένταξης με ένδεκα τρόπους και είμαι σαν "Εντάξει, γιατί δεν χρησιμοποιήσατε μια ρήτρα;" και είναι όπως: "Λοιπόν, δεν έκανα Δεν ξέρω τι είναι αυτό. "Και τότε είπα:" Και κοιτάξτε τα υποεπιλέγη σας εδώ στο συσχετισμένο σας και το μη συσχετισμένο σας ", είπα, " Σε μερικές περιπτώσεις έχετε στην ρήτριά σας όπου στο βαθύτερο επίπεδο, μια αναφορά πίνακα από την εξωτερική. "Είπα, " Αυτό είναι, να το μετακινήσετε στο σωστό επίπεδο, δεν το ενσωματώνουν βαθύτερα από ό, τι πρέπει να είναι, θα συγχέουμε το βελτιστοποιητή. "Και με μερικές ζευγάρια tweaks πήρε κάτι που τρέχει περίπου δύο ώρες και πήρε κάτω σε δέκα λεπτά και ήταν απλά - σε αυτή την περίπτωση δεν κάναμε τίποτε άλλο από τη βελτίωση της SQL που είχαν γράψει. Νομίζω ότι το πρόβλημα είναι ότι πολλά πανεπιστήμια και πολλοί άνθρωποι που μαθαίνουν προγραμματισμό σε μη ακαδημαϊκό περιβάλλον, το μαθαίνουν ως διαδικασίες καταγεγραμμένου χρόνου ή διαδικασίες γραμμών και σχεσιακών γραμμών είναι μια σειρά που προσανατολίζεται από τη φύση και έτσι πρέπει να σκεφτείτε σε σύνολα για να γράψετε καλή SQL.

Robin Bloor: Ναι, νομίζω ότι είναι σωστό. Και πρέπει να καταλάβετε, είναι πράγματα όπως, οι άνθρωποι πρέπει να γνωρίζουν τα ABCs των πράξεων όπως αυτό. Δεν έχει σημασία. Δεν πρόκειται να είστε σε θέση να κάνετε λογικά πράγματα αν δεν συνειδητοποιήσετε ότι ακόμη και μια καλά σχεδιασμένη, καλά διαμορφωμένη βάση δεδομένων, ενώνει θα πάρει χρόνο, τα είδη θα πάρουν χρόνο. Το κάνουν γιατί ο κόσμος δεν βρήκε ποτέ έναν τρόπο να φτάσει γρήγορα σε αυτούς. Έχουν βρει τρόπους οργάνωσης των δεδομένων ώστε να πάνε πιο γρήγορα από ό, τι αλλιώς και πολύς ενθουσιασμός που έχω να πω για τις βάσεις δεδομένων NoSQL είναι απλά ότι αποφεύγουν να κάνουν συνδέσεις. Αρχίζουν να χτίζουν τις βάσεις δεδομένων με την ίδια εξάπλωση των δεδομένων σε αυτά, επειδή αν συμμετέχετε σε οποιαδήποτε από τις βάσεις δεδομένων NoSQL αναρροφούν δυνατά. Δεν νομίζεις;

Bert Scalzo: Απολύτως. Και πρέπει να γελάσω γιατί άρχισα να επιστρέφω πίσω στις σχεσιακές βάσεις δεδομένων και πίσω όταν η Ingres ήταν RTI, Relational Technology Institute και δεν είχαμε SQL, είχαμε προ-SQL σχεσιακές γλώσσες. Νομίζω ότι στην Ingres, τότε, ονομάστηκε Quel. ¶Έτσι πήρατε από αυτά τα παλιά παραδείγματα βάσεων δεδομένων όπως το δίκτυο και ένα υψηλότερο γραφικό ή ιεραρχικό και περνάτε από τα σχεσιακά παραδείγματα μετά από μερικές δεκαετίες και τώρα για μένα αισθάνεται σαν να επιστρέφουμε ξανά σε μια σχεδόν ιεραρχική. Είναι σχεδόν σαν να έχουμε ξαναγυρίσει.

Robin Bloor: Ναι, σωστά. Καλύτερα να παραδώσεις τον Eric, καταναλώνω πάρα πολύ χρόνο, αλλά έχουμε κάποιες ερωτήσεις από το κοινό, Eric;

Eric Kavanagh: Το κάνουμε, έχουμε λίγα. Πάμε λίγο εδώ, αλλά θα σας ρίξω ένα ζευγάρι. Είχαμε μερικές ερωτήσεις γύρω από τους αόρατους δείκτες. Μια ερώτηση ήταν: "Πρέπει κάποιος να χρησιμοποιήσει το εργαλείο σας για να δει αυτά;" Μια άλλη ερώτηση ήταν, "Λοιπόν, τι γίνεται αν είστε τυφλοί;"

Bert Scalzo: Αυτό είναι καλό.

Eric Kavanagh: Περίεργη ερώτηση επίσης, έτσι απλά FYI.

Bert Scalzo: Όχι, δεν χρειάζεται να έχουμε τα εργαλεία μας. Αυτή είναι μια λειτουργία Oracle, ο δείκτης invisibles. Βασικά στο λεξικό δεδομένων, η Oracle διατηρεί μόνο ένα κομμάτι μεταδεδομένων που λέει, "Optimizer, αγνοήστε αυτό το ευρετήριο. Είναι εδώ, αλλά αν δεν είστε εκπαιδευμένοι φυσικά μέσα από μια υπαινιγμό στην υποδείξη βελτιστοποίησης στην εντολή SQL, μην το χρησιμοποιήσετε. "Και έτσι, όχι, δεν χρειάζεται να διαθέτετε τα εργαλεία μας και από κάθε άποψη είναι ένα απλό παλιό ευρετήριο, μπορείτε να το δείτε σε οποιοδήποτε εργαλείο, είναι μόνο ο βελτιστοποιητής θα πει, "Θα το αγνοήσουμε στην κανονική επεξεργασία ερωτήματος." Θα πρέπει να το κατευθύνετε εάν θέλετε να το χρησιμοποιήσετε. Είναι πολύ βολικό για το σενάριο που περιέγραψα το οποίο είναι, εάν θέλατε να φτιάξετε ένα δείκτη παραγωγής αλλά να μην διακινδυνεύσετε να σπάσετε τις αναφορές ή τα πράγματα που τρέχουν ήδη αλλά θέλετε να τα δοκιμάσετε, θα μπορούσατε να το κάνετε. Αυτό είναι το πιο χρήσιμο για αυτό.

Eric Kavanagh: Αυτό είναι καλό και στη συνέχεια υπήρξε μια άλλη καλή ερώτηση εδώ. "Τι γίνεται με μερικές από αυτές τις νέες βάσεις δεδομένων μέσα στη μνήμη; Πώς η τεχνολογία της βάσης δεδομένων στη μνήμη αλλάζει το παιχνίδι σε σχέση με την ευρετηρίαση; "

Bert Scalzo: Αγόρι, καλά εμείς - τώρα που είναι καλό, χαίρομαι που κάποιος ρώτησε αυτή την ερώτηση, θα πρέπει να πάμε άλλη μισή ώρα. Όχι, η μνήμη, εξαρτάται από τον προμηθευτή της βάσης δεδομένων. Τώρα, κανονικά, είμαι, δεν μιλάω τίποτα παρά να επαινέσω τίποτα που κάνει η Oracle, γιατί είναι καταπληκτική η τεχνολογία που έχει κατασκευάσει, αλλά όταν σκίσετε πίσω κάτω από τα καλύμματα και κοιτάζετε τι μνήμη υπάρχει στην Oracle, στο Oracle βάση δεδομένων, τι είναι στην πραγματικότητα εξακολουθεί να διατηρείται η αποθήκευση των γραμμών στο δίσκο και θα φορτωθεί στη στήλη αποθήκευση στη μνήμη και αν υπάρχει ανεπαρκής μνήμη για να κρατηθεί ολόκληρο το τραπέζι, θα επανέλθει ξανά για τις μερίδες. δεν θα ταιριάζει στη μνήμη, να το κάνει να αποθηκεύει τα στοιχεία και έτσι θα μπορούσατε να κάνετε μια επιλογή εναντίον του τραπεζιού και για το μισό τραπέζι, χρησιμοποιείτε μια ευρετηρίαση που χτυπά τις παραδοσιακές σειρές στο τραπέζι και για το άλλο μισό η επιλογή είναι στην πραγματικότητα βγαίνει και απλά να αρπάξει τα πάντα από μια αναζήτηση μέσα στην μνήμη, και έτσι, είναι διαφορετικό με τον τρόπο που SQL Server, για παράδειγμα, την υλοποίησε με την τεχνολογία Hekaton τους, γνωρίζετε, και SQL 2014, και έχει βελτιωθεί στο SQL 2016, αλλά σε κάποιες απόψεις, η δική τους είναι μια πιο αληθινή εκδοχή της μνήμης, αλλά κάθε εφαρμογή έχει πλεονεκτήματα και μειονεκτήματα, αλλά πρέπει να κοιτάξετε κάτω από τα καλύμματα και να συνειδητοποιήσετε. Επειδή είχα έναν πελάτη ο οποίος είπε: "Ω, αυτή η μνήμη του τραπεζιού - σύντομα θα καταρτίσω όλους τους δείκτες", και είμαι σαν "Το τραπέζι είναι μεγαλύτερο από τη μνήμη που έχετε στο διακομιστή, έτσι σε κάποιο σημείο κάποιο από τα ερωτήματα πήρε να χτυπήσει δίσκο. "

Eric Kavanagh: Αυτή είναι μια καλή περιγραφή. αυτό είναι καλό πράγμα. Λοιπόν, οι λαοί, θα έχουμε μερικούς περισσότερους ιστότοπους με αυτούς τους τύπους καθ 'όλη τη διάρκεια του χρόνου, να επανέλθουμε οποτεδήποτε ακούτε ότι ο Bert είναι σε μια παρουσίαση επειδή γνωρίζουμε ότι γνωρίζει τα πράγματα του. Είναι πάντα διασκεδαστικό να μιλήσετε με τους ειδικούς. Κάνουμε αρχειοθέτηση όλων αυτών των webcast για μελλοντική προβολή. Ακολουθούν τα στοιχεία επικοινωνίας του Bert για μια ακόμη φορά και θα προσπαθήσουμε να ανακαλύψουμε το σύνδεσμο για τη λήψη και να το στείλουμε και μέσω ηλεκτρονικού ταχυδρομείου, αλλά πάντα μπορείτε να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου αληθινά: έχουμε μια δέσμη περισσότερων ιστότοπων που έχουν παραταχθεί για αυτό και κάνουμε τον εαυτό μας τώρα, έτσι, παιδιά, αν υπάρχουν θέματα που πραγματικά θέλετε να ακούσετε για το επόμενο έτος, μην είστε ντροπαλοί: Προσέξτε, παιδιά, θα σας μιλήσουμε την επόμενη φορά. Αντίο.

Συνεργάτης περιεχομένου της τεχνολογίας

Το προσωπικό της Techopedia είναι συνδεδεμένο με τον όμιλο Bloor και μπορεί να επικοινωνήσει μαζί σας χρησιμοποιώντας τις επιλογές στα δεξιά. Για πληροφορίες σχετικά με τον τρόπο συνεργασίας με τους συνεργάτες της βιομηχανίας, κάντε κλικ εδώ.
  • Προφίλ
  • Δικτυακός τόπος
Ευφυΐα ευρετηρίου: πώς να αποφύγετε το χάος της βάσης δεδομένων