NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
EL

Σύγκριση βάσεων δεδομένων

MySQL: Η προεπιλογή της βάσης δεδομένων, εξακολουθεί να κερδίζει

Η MySQL είναι η βάση δεδομένων στην οποία εκτελείται το μεγαλύτερο μέρος του ιστού, όχι επειδή είναι συναρπαστική, αλλά επειδή είναι προβλέψιμη: ο πυρήνας ACID του InnoDB, ένα μοντέλο αναπαραγωγής που έχει αγγίξει κάθε διαχειριστής και ένα οικοσύστημα από πάνελ, πρόσθετα και υποθέσεις εφαρμογών χτισμένα πάνω. Η σοβαρή δουλειά αφορά τις προεπιλογές διαμόρφωσης, την πειθαρχία αναπαραγωγής και το να γνωρίζουμε πού η έκδοση 8 κερδίζει πραγματικά την πολυπλοκότητά της.

Βασικά σημεία

  1. Το InnoDB είναι ο μηχανισμός αποθήκευσης που έχει σημασία: συμπλεγμένα πρωτεύοντα κλειδιά, κλείδωμα σειρών και ανάκτηση επανάληψης με ασφάλεια. τα άρθρα παλαιού τύπου MyISAM που προτείνουν εναλλαγές κινητήρων συνήθως προηγούνται της πραγματικότητας ότι μια σύγχρονη στοίβα MySQL είναι 99% InnoDB και είναι πιο χαρούμενη γι 'αυτό.
  2. Η MySQL 8 κέρδισε τον πόνο της αναβάθμισής της με πραγματικές δυνατότητες: λειτουργίες παραθύρου, CTE, βελτιωμένη EXPLAIN FORMAT=TREE, χειρισμός JSON κατηγορίας Hermes μέσω JSON_TABLE. Οι ροές που προέβλεπαν το πρώτο χαρακτηριστικό μάρκετινγκ της MariaDB forks έχουν περιοριστεί σημαντικά.
  3. Η αναπαραγωγή είναι εκεί όπου δημιουργούνται ή διακόπτονται οι καριέρες: Οι ρυθμίσεις που βασίζονται σε GTID καθιστούν την τοπολογία (αλυσίδα, πολλαπλές πηγές) διαχειρίσιμη, ημι-συγχρονίζονται ως συμβιβασμός μεταξύ απόδοσης και ανθεκτικότητας και η καθυστέρηση ανάγνωσης-αντίγραφου πρέπει να μετράται και όχι να θεωρείται δεδομένο (έλεγχοι τύπου pt-heartbeat ή λανθάνουσα κατάσταση βάσει performance_schema).
  4. Η εργασία απόδοσης ξεκινά με το αργό αρχείο καταγραφής ερωτημάτων συν performance_schema: οι συνοπτικές δηλώσεις, η χρήση ευρετηρίου και η ευρετηρίαση πρώτου σχήματος ξεπερνούν κάθε μαγική λίστα παραμέτρων my.cnf. Το μέγεθος του buffer-pool έναντι του σετ εργασίας είναι το πραγματικό κουμπί που έχει σημασία.
  5. Αντίγραφα ασφαλείας που επαναφέρουν: ροές εργασιών που βασίζονται σε dump (mysqldump --single-transaction) για μικρές περιουσίες, φυσικά στιγμιότυπα (Percona xtrabackup-class) για ταχύτητα και ανάκτηση σε χρόνο που ελέγχονται πάντα σε σχέση με ένα πραγματικό πρόγραμμα διακοπών, όχι με ένα πλέγμα τεκμηρίωσης.
  6. Όπου η προεπιλεγμένη κατάσταση της MySQL συνεχίζει να κερδίζει: τα οικοσυστήματα εφαρμογών την υποθέτουν, τα πάνελ την αποστέλλουν (συχνά ανταλλάσσονται με MariaDB), οι φορείς εκμετάλλευσης cloud την παρέχουν φθηνή και τα οικοσυστήματα προσθηκών CMS (ειδικά το WordPress) δοκιμάζουν πρώτα εναντίον της. παραμονή ως προεπιλογή σημαίνει παραμονή δοκιμασμένη.

Σημείωση από το πεδίο

Η καλύτερη δουλειά απόδοσης MySQL που είδα ποτέ δεν ήταν ένας μαραθώνιος συντονισμού παραμέτρων: ήταν ένας προγραμματιστής που διέγραφε τρία ευρετήρια που πάλευαν έναν πίνακα OLTP για απόδοση εγγραφής. Η κατάργηση συγκριτικής αξιολόγησης ξεκινά με αργές αναλύσεις ερωτημάτων, όχι με αναρτήσεις ιστολογίου.

Συχνές ερωτήσεις

MySQL 8 ή MariaDB για νέο έργο;

Νέα έργα χωρίς περιορισμούς οικοσυστήματος: Το MariaDB είναι μια καλή προεπιλογή, αλλά το MySQL 8 έχει το οικοσύστημα προμηθευτή, ενημερώσεις κώδικα ασφαλείας και αντιγραφή. Συγκρίνετε τις δυνατότητες που χρειάζεστε πραγματικά, διαβάστε το άρθρο μας mysql-vs-postgresql για τη σχεσιακή ερώτηση.

Απαιτεί αλλαγές η αλλαγή της υπάρχουσας MySQL σε MariaDB;

Οι υποβαθμίσεις σε εκδόσεις δυαδικής μορφής είναι το δύσκολο πλεονέκτημα: το λεξικό δεδομένων της MySQL 8 δεν διαβάζεται από τη MariaDB. Η λογική μετεγκατάσταση (dump/load) λειτουργεί, η αντικατάσταση της προσθήκης χρειάζεται απόθεμα πριν από τη δέσμευση.

Αντιγραφή ημι-συγχρονισμού: αξίζει τον λανθάνοντα χρόνο;

Μειώνει την απώλεια δεδομένων αθόρυβης ανακατεύθυνσης. ο κλασικός κανόνας είναι μία από τις δύο επιλογές συνέπειας/απόδοσης με βάση το async. Για τους περισσότερους φόρτους εργασίας, η σωστή απάντηση είναι ημι-συγχρονισμός συν δοκιμασμένη ανακατεύθυνση, όχι πλήρης συγχρονισμός.

Πώς μπορώ να σταματήσω έναν αργό ιστότοπο από το να σκοτώσει το κουτί;

Πόροι ανά χρήστη (CloudLinux db_governor σε κοινόχρηστες στοίβες, περιορισμός ερωτήματος διακομιστή μεσολάβησης μπροστά) συν πειθαρχία αργού ερωτήματος. η ίδια η βάση δεδομένων δεν έχει ζώνη ασφαλείας εκτός και αν το περιβάλλον της δώσει.

Πώς βοηθάει η Kinetikatech στα σύγκριση βάσεων δεδομένων

Για να είμαστε ειλικρινείς, οι περισσότερες ομάδες έρχονται σε εμάς αφού δοκιμάσουν μόνες τους: Επιλογές μηχανών βάσης δεδομένων για τη φιλοξενία φόρτου εργασίας, σε σύγκριση με τις εγγυήσεις ορθότητας, το λειτουργικό βάρος και το πραγματικό κόστος: ενσωματωμένες μηχανές έναντι διακομιστών, MySQL έναντι PostgreSQL, SQL έναντι καταστημάτων εγγράφων, καθώς και η παλαιού τύπου μελέτη περίπτωσης που επανέρχεται συνεχώς. Η υπηρεσία μας Διαχείριση διακομιστών and Βελτιστοποίηση ταχύτητας ιστότοπου υπάρχει για να μην ανακαλύψετε σύγκριση βάσεων δεδομένων με τον σκληρό τρόπο· την εγκατάσταση, την παρακολούθηση και τις εκπλήξεις τις αναλαμβάνουμε εμείς.

Μιλήστε με έναν μηχανικό

Πρόβλημα διακομιστή; Εισβολή στον ιστότοπο; Αργός ιστότοπος;

Απάντηση σε κρίσιμα ζητήματα εντός 30 λεπτών — 24 ώρες την ημέρα, 7 ημέρες την εβδομάδα.

Ζήτηστε επείγουσα υποστήριξη support@kinetikatech.com