【Predslov】
Keď dáta dosiahnu určitú hodnotu, databáza sa stane úzkym miestom celého systému a optimalizačná stratégia sa zvyčajne používa ako oddelenie čítania a zápisu, pričom databáza realizuje oddelenie čítania a zápisu oddelením hlavnej databázy od databázy (operácia zápisu z hlavnej databázy, operácia požiadavky na čítanie z databázy);
【Nápady na riešenie dátových oneskorení】
1. Princíp synchronizácie master-slave (tu vezmime najpopulárnejší MySQL ako príklad)
Tu je schéma klasickej synchronizácie MySQL master-slave dát cez binlog:
2. Ako vznikajú problémy?
1. Z vyššie uvedeného schématu nie je ťažké zistiť, že synchronizácia master-slave má určité oneskorenie, ktoré ovplyvňuje veľkosť oneskorenia:
(1) Veľkosť oneskorenia závisí od množstva dát generovaných od poslednej synchronizácie po súčasnosť
(2) Súčasná situácia v sieti medzi servermi
(3) Tlak samotného master-slave servera (CPU, pamäť, IO a pod.)
2. Keďže databázová služba je zvyčajne v intranete a server je pri zakúpení vyššie v konfigurácii (viac, než je skutočná potreba), synchronizácia je v podstate veľmi rýchla, zvyčajne v milisekundách;
3. Vo všeobecných obchodných scenároch možno milisekundovú latenciu ignorovať;
4. Existujú všeobecné a špeciálne prípady a niektoré špeciálne situácie vyžadujú časový rozdiel milisekúnd v reálnom čase. Tu sú bežné riešenia pre tieto špeciálne situácie.
3. Riešenia latencie dát:
1. Schéma 1: Napíš program dvojnásobne (napíš hlavnú databázu a zároveň čítaj databázu)
2. Schéma 2: Prečítajte si program na kontrolu hlavnej databázy
3. Schéma 3: Zapíšte hlavnú databázu a zapíšte cache (nastavte určitý čas vypršania, zvyčajne mierne dlhší ako maximálne oneskorenie synchronizácie databázy), prečítajte program, čítajte cache a čítajte slave databázu
4. Výhody a nevýhody troch schém:
1. Schéma 1: Dvojité písanie spotrebuje určitý výkon, čo je relatívne jednoduché na implementáciu a nie je vhodné pre scenáre s vysokým súbežným zápisom;
2. Schéma 2: Program na čítanie ovplyvní výkon hlavnej knižnice, ktorá je relatívne jednoduchá na implementáciu a nie je vhodná pre scenáre s vysokým súbežným čítaním.
3. Schéma 3: Vo väčšine prípadov čítanie a zápis spotrebujú viac výkonu zápisu, čo je zložitejšie na implementáciu a je vhodné pre vysoké súbežné čítania a zápisy (čítanie a zápis do vyrovnávacej pamäte sú veľmi rýchle);
【Zhrnutie】
1. Implementácia je dôležitá, ale dôležitejšia je myšlienka;
2. Mnohé základné princípy a myšlienky sú univerzálne Originál:https://blog.csdn.net/zhanghan18 ... le/details/91638443
|