【Πρόλογος】
Όταν τα δεδομένα φτάσουν σε ένα ορισμένο ποσό, η βάση δεδομένων θα γίνει το σημείο συμφόρησης ολόκληρου του συστήματος και η στρατηγική βελτιστοποίησης υιοθετείται γενικά ως διαχωρισμός ανάγνωσης και εγγραφής και η βάση δεδομένων πραγματοποιεί διαχωρισμό ανάγνωσης και εγγραφής διαιρώντας την κύρια βάση δεδομένων από τη βάση δεδομένων (λειτουργία αιτήματος εγγραφής από την κύρια βάση δεδομένων, λειτουργία αιτήματος ανάγνωσης από τη βάση δεδομένων).
【Ιδέες για την επίλυση καθυστερήσεων δεδομένων】
1. Η αρχή του συγχρονισμού master-slave (εδώ παίρνουμε ως παράδειγμα την πιο δημοφιλή MySQL)
Ακολουθεί ένα σχηματικό διάγραμμα ενός κλασικού συγχρονισμού δεδομένων master-slave MySQL μέσω binlog:
2. Πώς προκύπτουν προβλήματα;
1. Από το παραπάνω σχηματικό, δεν είναι δύσκολο να διαπιστωθεί ότι ο συγχρονισμός master-slave έχει μια ορισμένη καθυστέρηση, η οποία επηρεάζει το μέγεθος της καθυστέρησης:
(1) Το μέγεθος της καθυστέρησης εξαρτάται από την ποσότητα των δεδομένων που παράγονται από τον τελευταίο συγχρονισμό έως τον παρόντα
(2) Η τρέχουσα κατάσταση δικτύου μεταξύ διακομιστών
(3) Η πίεση του ίδιου του διακομιστή master-slave (CPU, μνήμη, IO, κ.λπ.)
2. Δεδομένου ότι η υπηρεσία βάσης δεδομένων βρίσκεται γενικά στο intranet και ο διακομιστής θα είναι υψηλότερος στη διαμόρφωση (περισσότερο από την πραγματική ανάγκη) όταν αγοράζεται, ο συγχρονισμός είναι βασικά πολύ γρήγορος, γενικά σε χιλιοστά του δευτερολέπτου.
3. Σε γενικά επιχειρηματικά σενάρια, η καθυστέρηση χιλιοστού του δευτερολέπτου μπορεί να αγνοηθεί.
4. Υπάρχουν γενικές και ειδικές περιπτώσεις και ορισμένες ειδικές καταστάσεις απαιτούν διαφορά ώρας χιλιοστών του δευτερολέπτου σε πραγματικό χρόνο. Ακολουθούν κοινές λύσεις για αυτές τις ειδικές καταστάσεις.
3. Λύσεις καθυστέρησης δεδομένων:
1. Σχέδιο 1: Γράψτε το πρόγραμμα διπλά (γράψτε την κύρια βάση δεδομένων και διαβάστε τη βάση δεδομένων ταυτόχρονα)
2. Σχήμα 2: Διαβάστε το πρόγραμμα για να ελέγξετε την κύρια βάση δεδομένων
3. Σχήμα 3: Γράψτε την κύρια βάση δεδομένων και γράψτε την προσωρινή μνήμη (ορίστε έναν ορισμένο χρόνο λήξης, γενικά ελαφρώς μεγαλύτερο από τη μέγιστη καθυστέρηση συγχρονισμού της βάσης δεδομένων), διαβάστε το πρόγραμμα, διαβάστε την προσωρινή μνήμη και διαβάστε τη βάση δεδομένων slave
4. Πλεονεκτήματα και μειονεκτήματα των τριών σχημάτων:
1. Σχέδιο 1: Η διπλή γραφή θα καταναλώσει ένα ορισμένο ποσό απόδοσης, το οποίο είναι σχετικά απλό στην εφαρμογή και δεν είναι κατάλληλο για σενάρια υψηλής ταυτόχρονης γραφής.
2. Σχήμα 2: Το πρόγραμμα ανάγνωσης θα επηρεάσει την απόδοση της κύριας βιβλιοθήκης, η οποία είναι σχετικά απλή στην εφαρμογή και δεν είναι κατάλληλη για σενάρια υψηλής ταυτόχρονης ανάγνωσης.
3. Σχήμα 3: Στις περισσότερες περιπτώσεις, η ανάγνωση και η εγγραφή καταναλώνουν περισσότερη απόδοση εγγραφής, η οποία είναι πιο περίπλοκη στην εφαρμογή και είναι κατάλληλη τόσο για υψηλές ταυτόχρονες αναγνώσεις όσο και για εγγραφές (οι αναγνώσεις και οι εγγραφές της προσωρινής μνήμης είναι πολύ γρήγορες).
【Περίληψη】
1. Η εφαρμογή είναι σημαντική, αλλά πιο σημαντική είναι η ιδέα.
2. Πολλές βασικές αρχές και ιδέες είναι καθολικές Αρχικός:https://blog.csdn.net/zhanghan18 ... le/details/91638443
|