Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 24125|Odpoveď: 2

[Redis] Rozdiel v perzistencii Redis medzi RDB a AOF

[Kopírovať odkaz]
Zverejnené 4. 2. 2021 13:47:27 | | | |
Redis Windows 64-bit na stiahnutie, oficiálna adresa stiahnutia
https://www.itsvse.com/thread-2576-1-1.html

Redis má tri spôsoby, ako začať
https://www.itsvse.com/thread-4008-1-1.html

Rozdiel medzi save a bgsave v redis
https://www.itsvse.com/thread-4010-1-1.html

Návod na inštaláciu Redis 5.0.3 na CentOS 7
https://www.itsvse.com/thread-7201-1-1.html


1. Predslov

Nedávno bol Redis použitý ako cache v projekte na uľahčenie zdieľania dát medzi viacerými obchodnými procesmi. Keďže Redis dáta sú uložené v pamäti, ak perzistencia nie je nastavená, všetky dáta sa po reštarte Redis stratia, takže musíte povoliť perzistenciu v Redis na uloženie dát na disk, a keď sa Redis reštartuje, môžete dáta z disku obnoviť. Redis poskytuje dva spôsoby perzistencie: perzistenciu RDB (princíp spočíva v ukladaní záznamov databázy Reids do pamäte do perzistencie RDB na disku) a druhým je perzistencia AOF (princíp spočíva v zápise operačných logov Reids do súboru vo forme prílohy). Aký je teda rozdiel medzi týmito dvoma metódami perzistencie a ako sa rozhodnúť ho zmeniť? Väčšina vecí, ktoré som čítal na internete, uvádza, ako tieto dve metódy konfigurovať a používať, ale nie je tam žiadny úvod do rozdielu medzi nimi ani do toho, v akých aplikačných scenároch použiť.


2. Rozdiel medzi týmito dvoma

Pretrvávanie RDB znamená zápis snímky dátovej sady do pamäte na disk v stanovenom časovom intervale a skutočný operačný proces spočíva v rozdelení podprocesu, najprv zápise dátovej sady do dočasného súboru a následnom nahradení predchádzajúceho súboru po úspešnom zápise a uložení s binárnou kompresiou.



AOF perzistencia zaznamenáva každú operáciu zápisu a vymazania spracovanú serverom vo forme logu, pričom operácia dotazu nebude zaznamenaná, ale zaznamenaná v texte, a súbor môžete otvoriť, aby ste videli podrobný záznam operácie.



3. Výhody a nevýhody týchto dvoch

Aké sú výhody RDB?

1). Keď sa toto použije, celá vaša databáza Redis bude obsahovať len jeden súbor, čo je ideálne na zálohovanie súborov. Napríklad môžete chcieť archivovať posledných 24 hodín každú hodinu a tiež posledných 30 dní každý deň. S takouto záložnou stratégiou sa môžeme ľahko zotaviť v prípade katastrofálneho zlyhania systému.

2). RDB je veľmi dobrá voľba na obnovu po havárii. Pretože môžeme jednoducho komprimovať jeden súbor a preniesť ho na iné úložné médium.

3). Maximalizovať výkon. Pri procese služby Redis stačí pri spustení perzistencie len oddeliť podprocesy, a potom tieto podprocesy dokončia tieto úlohy perzistencie, čo môže výrazne zabrániť tomu, aby servisný proces vykonával IO operácie.

4). V porovnaní s mechanizmom AOF, ak je dataset veľký, počiatočná efektivita RDB bude vyššia.

Aké sú nevýhody RDB?

1). Ak chcete zabezpečiť vysokú dostupnosť dát, teda čo najviac sa vyhnúť strate dát, potom RDB nebude dobrou voľbou. Pretože ak systém vypadne pred plánovanou perzistenciou, dáta, ktoré boli predtým zapísané na disk, sa stratia.

2). Keďže RDB pomáha pri perzistencii dát prostredníctvom fork subprocesov, ak je dátová sada veľká, môže spôsobiť, že celý server zastaví službu na stovky milisekúnd, alebo dokonca na 1 sekundu.

Aké sú výhody AOF?

1). Tento mechanizmus môže priniesť väčšiu bezpečnosť dát, teda trvalosť dát. V Redis sú poskytované 3 synchronizačné stratégie: synchronizácia za sekundu, synchronizácia na modifikáciu a desynchronizácia. V skutočnosti sa synchronizácia za sekundu vykonáva asynchrónne a jej účinnosť je tiež veľmi vysoká, rozdiel je v tom, že keď systém vypadne, upravené dáta sa v tejto sekunde stratia. A zakaždým, keď sa modifikácia synchronizuje, môžeme si to predstaviť ako synchronizačnú perzistenciu, teda každá zmena dát sa okamžite zaznamenáva na disk. Je predvídateľné, že táto metóda je najmenej efektívna. Čo sa týka absencie synchronizácie, nie je potrebné hovoriť viac, myslím, že každý to správne chápe.

2). Keďže mechanizmus využíva režim pripojenia na zápis logových súborov, aj keď počas zápisu nastane výpadok, obsah už existujúci v logu nebude zničený. Ak však zapíšeme len polovicu dát a systém tentoraz spadne, nebojte sa, môžeme použiť nástroj redis-check-aof, ktorý nám pomôže vyriešiť problém konzistencie dát pred ďalším spustením Redis.

3). Ak je log príliš veľký, Redis môže automaticky povoliť mechanizmus prepisovania. To znamená, že Redis neustále zapisuje modifikačné dáta do starého diskového súboru v režime append a Redis tiež vytvorí nový súbor na zaznamenávanie, ktoré modifikačné príkazy sa počas tohto obdobia vykonávajú. Preto je lepšie zaručená bezpečnosť dát pri prepínaní medzi prepismi.

4). AOF obsahuje jasný, ľahko pochopiteľný log súbor, ktorý zaznamenáva všetky úpravy. V skutočnosti môžeme tiež dokončiť rekonštrukciu dát prostredníctvom tohto súboru.

Aké sú nevýhody OV?

1). Pri rovnakom počte dátových súborov sú OF súbory zvyčajne väčšie ako RDB súbory. RDB obnovuje veľké dátové súbory rýchlejšie ako AOF.

2). V závislosti od synchronizačnej stratégie má AOF tendenciu byť pomalší ako RDB, pokiaľ ide o efektivitu prevádzky. Stručne povedané, efektivita synchronizačnej politiky za sekundu je relatívne vysoká a efektivita synchronnej deaktivačnej politiky je rovnako efektívna ako u RDB.

Kritériá pre výber týchto dvoch sú, či je systém ochotný obetovať časť výkonu výmenou za vyššiu konzistenciu cache (AOF), alebo či je ochotný neumožniť zálohovanie výmenou za vyšší výkon pri častých zápisných operáciách a potom vykonať zálohy (RDB) pri manuálnom spustení ukladania. RDB má konečnejší konzistentný význam. Produkčné prostredie je však v skutočnosti skôr kombináciou oboch.


4. Bežné konfigurácie

Konfigurácia perzistencie RDB

Redis uloží snímku datasetu do súboru dump.rdb. Okrem toho môžeme tiež upraviť frekvenciu snapshotov Redis servera cez konfiguračný súbor, po otvorení súboru 6379.conf vyhľadáme save a vidíme nasledujúce konfiguračné informácie:



Trvalá konfigurácia AOF

V profile Redis existujú tri spôsoby synchronizácie, a to sú:



Kompletná konfigurácia:



Nový súbor "appendonly.aof" bude vytvorený v testovacom adresári, nasledovne:





Predchádzajúci:DataTables implementuje export tabuliek Excel, CSV a tlač
Budúci:SQL Server nastavuje úroveň izolácie transakcií
 Prenajímateľ| Zverejnené 8. 2. 2021 11:45:25 |
Redis upravuje predvolené číslo portu a nastavuje prístupové heslo
https://www.itsvse.com/thread-2577-1-1.html
Zverejnené 22. 9. 2021 20:26:16 |
Nauč sa učiť...
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com