Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 24125|Odpověď: 2

[Redis] Rozdíl v perzistenci mezi RDB a AOF v Redisu

[Kopírovat odkaz]
Zveřejněno 04.02.2021 13:47:27 | | | |
Redis Windows 64-bit download, oficiální adresa ke stažení
https://www.itsvse.com/thread-2576-1-1.html

Redis má tři způsoby, jak začít
https://www.itsvse.com/thread-4008-1-1.html

Rozdíl mezi uloženou hrou a bgsave v redis
https://www.itsvse.com/thread-4010-1-1.html

Instalace CentOS 7 Redis 5.0.3 tutoriál
https://www.itsvse.com/thread-7201-1-1.html


1. Předmluva

V poslední době byl Redis využíván jako cache v projektu pro usnadnění sdílení dat mezi více obchodními procesy. Protože jsou data Redis uložena v paměti, pokud není nastavena perzistence, všechna data budou po restartu Redis ztracena, takže musíte povolit funkci perzistence v Redisu, aby se data uložila na disk, a po restartu Redis můžete data z disku obnovit. Redis nabízí dva způsoby perpersistence: RDB persistence (princip spočívá v ukládání záznamů Reids do paměti do RDB persistence na disku) a druhý je AOF persistence (princip spočívá v zápisu Reidsových operačních logů do souboru ve formě přílohy). Jaký je tedy rozdíl mezi těmito dvěma metodami perzistence a jak se rozhodnout ho změnit? Většina věcí, které jsem četl na internetu, vysvětluje, jak tyto dvě metody konfigurovat a používat, ale není zde žádný úvod do rozdílu mezi nimi ani do toho, v jakých aplikačních scénářích použít.


2. Rozdíl mezi těmito dvěma

Persistence RDB znamená zápis snímku datové sady do paměti na disk v rámci stanoveného časového intervalu, přičemž skutečný provozní proces spočívá v odštěvení podprocesu, nejprve zápisu datové sady do dočasného souboru a následném nahrazení předchozího souboru po úspěšném zápisu a uložení s binární kompresí.



AOF perzistence zaznamenává každou operaci zápisu a mazání zpracovanou serverem ve formě logu, a operace dotazu nebude zaznamenána, ale zaznamenána v textu, a můžete soubor otevřít a zobrazit podrobný záznam operace.



3. Výhody a nevýhody obou

Jaké jsou výhody RDB?

1). Jakmile je toto využito, celá vaše databáze Redis bude obsahovat pouze jeden soubor, což je ideální pro zálohování souborů. Například můžete chtít archivovat posledních 24 hodin každou hodinu a také archivovat posledních 30 dní každý den. S takovou záložní strategií se můžeme snadno zotavit v případě katastrofálního selhání systému.

2). RDB je velmi dobrá volba pro obnovu po havárii. Protože můžeme snadno komprimovat jeden soubor a přenést ho na jiné úložné médium.

3). Maximalizovat výkon. U servisního procesu Redis je při spuštění persistence potřeba jen oddělit podprocesy, a pak tyto podprocesy dokončí tyto perzistenční úkoly, což může výrazně zabránit tomu, aby servisní proces prováděl IO operace.

4). Ve srovnání s mechanismem AOF, pokud je datová sada velká, bude startovací efektivita RDB vyšší.

Jaké jsou nevýhody RDB?

1). Pokud chcete zajistit vysokou dostupnost dat, tedy co nejvíce se vyhnout ztrátě dat, pak RDB nebude dobrou volbou. Protože jakmile systém vypadne před plánovanou perzistencí, data, která byla dříve zapsána na disk, se ztratí.

2). Protože RDB pomáhá s udržením dat prostřednictvím fork subprocesů, pokud je datová sada velká, může způsobit, že celý server přestane službu na stovky milisekund, nebo dokonce na 1 sekundu.

Jaké jsou výhody AOF?

1). Tento mechanismus může přinést větší bezpečnost dat, tedy jejich trvalost. V Redis jsou zde 3 synchronizační strategie: synchronizace za sekundu, synchronizace na modifikaci a desynchronizace. Synchronizace za sekundu je ve skutečnosti také asynchronní a její účinnost je velmi vysoká, rozdíl je v tom, že jakmile systém vypadne, upravená data se během této sekundy ztratí. A pokaždé, když je modifikace synchronizována, můžeme si ji představit jako synchronizační perzistenci, tedy každá změna dat je okamžitě zaznamenána na disk. Je předvídatelné, že tato metoda je nejméně efektivní. Co se týče absence synchronizace, není třeba říkat víc, myslím, že to každý správně chápe.

2). Protože mechanismus používá append režim pro zápis logů, i když během zápisu dojde k výpadku, obsah již existující v logu nebude zničen. Pokud ale zapíšeme jen polovinu dat a systém tentokrát spadne, nebojte se, můžeme použít nástroj redis-check-aof, který nám pomůže vyřešit problém konzistence dat před dalším spuštěním Redis.

3). Pokud je log příliš velký, Redis může automaticky povolit mechanismus přepisu. To znamená, že Redis průběžně zapisuje modifikační data do starého disku v režimu append a Redis také vytváří nový soubor, který zaznamenává, které modifikační příkazy jsou během této doby vykonány. Díky tomu lze bezpečnost dat lépe zaručit při přepínání mezi přepínáními.

4). AOF obsahuje jasný, snadno srozumitelný logovací soubor, který zaznamenává všechny úpravy. Ve skutečnosti můžeme také dokončit rekonstrukci dat prostřednictvím tohoto souboru.

Jaké jsou nevýhody OV?

1). Pro stejný počet datových sad jsou OF soubory obvykle větší než soubory RDB. RDB obnovuje velké datové sady rychleji než AOF.

2). V závislosti na synchronizační strategii bývá AOF pomalejší než RDB, pokud jde o efektivitu provozu. Stručně řečeno, efektivita politiky synchronizace za sekundu je relativně vysoká a efektivita synchronní politiky deaktivace je stejně efektivní jako u RDB.

Kritéria pro výběr těchto dvou jsou, zda je systém ochoten obětovat část výkonu výměnou za vyšší konzistenci cache (AOF), nebo zda je ochoten nepovolit zálohování výměnou za vyšší výkon při častých zápisných operacích, a pak provádět zálohování (RDB) při manuálním spouštění Uložení. RDB má konečnější a konzistentnější význam. Produkční prostředí je však ve skutečnosti spíše kombinací obojího.


4. Běžné konfigurace

Konfigurace perzistence RDB

Redis ukládá snímek datové sady do souboru dump.rdb. Kromě toho můžeme také upravit frekvenci snapshotů Redis serveru v konfiguračním souboru, po otevření souboru 6379.conf vyhledáme save a vidíme následující konfigurační informace:



AOF perzistentní konfigurace

V profilu Redis existují tři způsoby synchronizace, a to jsou:



Kompletní konfigurace:



Nový soubor "appendonly.aof" bude vytvořen v testovacím adresáři, a to následovně:





Předchozí:DataTables implementuje export tabulek v Excelu, CSV a tisk
Další:SQL Server nastavuje úroveň izolace transakce
 Pronajímatel| Zveřejněno 08.02.2021 11:45:25 |
Redis upravuje výchozí číslo portu a nastavuje přístupové heslo
https://www.itsvse.com/thread-2577-1-1.html
Zveřejněno 22.09.2021 20:26:16 |
Uč se učit...
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com