Κοινή χρήση τεχνολογίας

Συνέντευξη - Βάση δεδομένων και πίνακας συμπλέγματος Mysql-3

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Πρόλογος

Γνωρίζετε τα συμπλέγματα MySQL Καταλαβαίνετε τη διαδικασία αναπαραγωγής master-slave Πώς αντιμετωπίζετε τεράστιες ποσότητες δεδομένων; Αυτό το άρθρο επικεντρώνεται στην εισαγωγή των ερωτήσεων της συνέντευξης και εύχομαι κάθε προγραμματιστής να μπορέσει να το κάνει! ! !


1. Σύμπλεγμα Mysql

Στο διαδικτυακό περιβάλλον, γενικά αναπτύσσουμε μια παρουσία Mysql με 1 master και 1 slave, ή 1 master με πολλαπλούς slave, για να επιτύχουμε υψηλή διαθεσιμότητα Mysql και ο συγχρονισμός ανάγνωσης-εγγραφής Mysql πραγματοποιείται μέσω αρχείων καταγραφής binlog.

1.1 Κατασκευή του συμπλέγματος Mysql:

Σχετικά με την κατασκευή του Mysql master-slave cluster, μπορείτε να ανατρέξετε στο παρακάτω άρθρο από τον blogger

1.2 Διαδικασία συγχρονισμού Master-slave:

Εισαγάγετε την περιγραφή της εικόνας εδώ

2. Πώς αντιμετωπίζει η Mysql την τεράστια αποθήκευση δεδομένων;

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

2.1 Κατακόρυφος διαχωρισμός

2.1.1 Κάθετη υποβιβλιοθήκη:

Για παράδειγμα, οι σημερινές microservices έχουν διαχωριστεί κάθετα. και να επεκτείνετε τα δεδομένα σε διαφορετικά επίπεδα, να αυξήσετε τις συνδέσεις δίσκου I0 και όγκου δεδομένων υπό υψηλή ταυτόχρονη
Εισαγάγετε την περιγραφή της εικόνας εδώ

2.1.2 Κατακόρυφος πίνακας:

Με βάση τα πεδία, τα διαφορετικά πεδία χωρίζονται σε διαφορετικούς πίνακες σύμφωνα με τα χαρακτηριστικά του πεδίου.Μπορεί να γίνει: ξεχωριστά ζεστά και κρύα δεδομένα μειώνουν τον ανταγωνισμό μετάβασης IO και οι δύο πίνακες δεν επηρεάζουν ο ένας τον άλλον.

Εισαγάγετε την περιγραφή της εικόνας εδώ

2.2 Οριζόντια διαίρεση:

2.2.1 Οριζόντια υποβιβλιοθήκη:

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

2.2.2 Οριζόντιος πίνακας:

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

2.3 Χρησιμοποιείτε υποβιβλιοθήκη και υποπίνακες στο έργο σας;

Έχουμε δημιουργήσει στιγμιότυπα βάσης δεδομένων σύμφωνα με διαφορετικές επιχειρήσεις στο Spring-boot που διαχειρίζεται το spring-cloud και πραγματοποιήσαμε κάθετη κατάτμηση. Προκειμένου να αντιμετωπίσει την αποθήκευση τεράστιων δεδομένων, το έργο μας χρησιμοποιεί επίσης ενδιάμεσο λογισμικό Mycat για τη διαίρεση βάσεων δεδομένων και πινάκων.

Εγκατάσταση Mycat και ενσωμάτωση Spring-boot:

2.4 Αντιμετώπισες τεχνικές προκλήσεις κατά τη διαίρεση βάσεων δεδομένων και πινάκων;

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


Συνοψίζω

Αυτό το άρθρο ταξινομεί ορισμένες ερωτήσεις συνεντεύξεων σχετικά με τα συμπλέγματα Mysql και τις δευτερεύουσες βάσεις δεδομένων και τους πίνακες.