See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 16305|Vastuse: 0

[Allikas] Andmebaasi master-slave latentsus põhjustab ebatäpset päringute lahendamist

[Kopeeri link]
Postitatud 2020-4-2 20:41:03 | | | |
【Eessõna】

Kui andmed jõuavad teatud piirini, muutub andmebaas kogu süsteemi kitsaskohaks ning optimeerimisstrateegiat kasutatakse üldiselt lugemise ja kirjutamise eraldamisena, ning andmebaas teostab lugemis- ja kirjutamiseraldus, jagades põhiandmebaasi andmebaasist (kirjutamistaotluse operatsioon põhiandmebaasist, lugemistaotluse operatsioon andmebaasist);

【Ideid andmeviivituste lahendamiseks】

1. Master-slave sünkroniseerimise põhimõte (siin võtame näiteks kõige populaarsema MySQL-i)

Siin on klassikalise MySQL master-slave andmete sünkroniseerimise skeem binlogi kaudu:



2. Kuidas probleemid tekivad?

1. Ülaltoodud skeemi põhjal pole raske leida, et master-slave sünkroniseerimisel on teatud viivitus, mis mõjutab viivituse suurust:

(1) Viivituse suurus sõltub andmete hulgast, mis on genereeritud viimasest sünkroniseerimisest praeguseni

(2) Praegune võrguolukord serverite vahel

(3) Master-slave serveri enda surve (CPU, mälu, IO jne)

2. Kuna andmebaasiteenus asub tavaliselt intranetis ja server on ostetud konfiguratsioonis kõrgemal (rohkem kui tegelik vajadus), on sünkroniseerimine põhimõtteliselt väga kiire, tavaliselt millisekundites;

3. Üldistes äriolukordades võib millisekundilist latentsust eirata;



4. On üldisi ja erijuhtumeid ning mõned eriolukorrad nõuavad reaalajas millisekundilist ajavahet. Siin on levinumad lahendused nendele eriolukordadele.

3. Andmete latentsuse lahendused:

1. Skeem 1: Kirjuta programm kahekordselt (kirjuta põhiandmebaas ja loe andmebaasi samaaegselt)



2. Skeem 2: Loe programmi, et kontrollida peamist andmebaasi



3. Skeem 3: Kirjuta põhiandmebaas ja kirjuta vahemälu (sea kindel aegumisaeg, mis tavaliselt veidi suurem kui andmebaasi sünkroniseerimise maksimaalne viivitus), loe programmi, loe vahemälu ja loe orja-andmebaasi



4. Kolme skeemi eelised ja puudused:

1. Skeem 1: Topeltkirjutamine nõuab teatud jõudlust, mis on suhteliselt lihtne teostada ja ei sobi kõrge samaaegse kirjutamise stsenaariumiteks;

2. Skeem 2: Lugemisprogramm mõjutab peamise raamatukogu jõudlust, mis on suhteliselt lihtne rakendada ja ei sobi kõrge samaaegse lugemise stsenaariumiteks.

3. Skeem 3: Enamasti nõuab lugemine ja kirjutamine rohkem kirjutamisjõudlust, mis on keerulisem teostada ning sobib nii kõrgeteks samaaegseteks lugemisteks kui ka kirjutamiseks (vahemälu lugemised ja kirjutamised on väga kiired);

【Kokkuvõte】

1. Rakendamine on oluline, kuid olulisem on idee;

2. Paljud aluspõhimõtted ja ideed on universaalsed
Originaal:https://blog.csdn.net/zhanghan18 ... le/details/91638443




Eelmine:.net/c# ado.net täidab salvestatud protseduure tagastusväärtustega
Järgmine:MSSQL KOOS (NOLOCK) räpane lugemine
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com