Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16305|Απάντηση: 0

[Πηγή] Η καθυστέρηση master-slave της βάσης δεδομένων οδηγεί σε ανακριβή ανάλυση ερωτημάτων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2020-4-2 20:41:03 | | | |
【Πρόλογος】

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

【Ιδέες για την επίλυση καθυστερήσεων δεδομένων】

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




Προηγούμενος:.net/c# ado.net εκτελεί αποθηκευμένες διαδικασίες με τιμές επιστροφής
Επόμενος:MSSQL ΜΕ (NOLOCK) βρώμικη ανάγνωση
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com