LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> MySQL (52) - A co zálohování?

... není to tak jednoduché, jak jste čekali. Nebo snad ano?

30.12.2005 06:00 | Petr Zajíc | Články autora | přečteno 15652×

Již jsme se podívali na zoubek všem podstatným změnám, které přináší pětková verze databáze MySQL. Takže se teď s klidným svědomím můžeme věnovat zase trochu obecněji platným tématům. Jinými slovy, u následujících dílů seriálu si přijdou na své i uživatelé starších verzí MySQL. Řeč dnes bude o zálohování; a protože toto téma si to zaslouží, bude to spíše teoretický rozbor toho proč, co, kdy, kdo a jak má (může) zálohovat. Jak uvidíme, celé téma je dost rozsáhlé.

Zálohování dat

Je naprosto samozřejmé, že dříve či později narazíte při práci s libovolnou databází na problém zálohování dat. Typická databázová aplikace ukládá drtivou většinu svých dat (ne-li  všechna) právě do databáze a přijít o ně může znamenat naprostou katastrofu. Problém se nevyhýbá ani MySQL - i zde se bude muset zálohování nějak řešit. Dnešní zamyšlení nám ale má pomoci uvědomit si, že různé aspekty zálohování vyžadují různý přístup a že ne vždy rozumíme pod výrazem zálohování totéž.

Proč zálohovat

Tato zdánlivě jednoduchá otázka má více odpovědí. Zálohovat můžete:

  1. Abyste nepřišli o data, nebo abyste přišli o co nejméně dat. V případě poruchy hardware pak můžete obnovit data z nějaké zálohy.
  2. Abyste mohli čelit útokům - jestliže se někdo pokusí databázi změnit nebo odstranit, vždy máte "bod návratu", data, která můžete nahradit.
  3. Proto, že databázi chcete chcete zkopírovat nebo přesunout na jiný stroj nebo systém. To může být potřeba z nejrůznějších důvodů - vývojem počínaje a výměnou hardware konče.
  4. Jako součást dokumentace - technická zpráva k projektu může například obsahovat popis databáze nebo vzorek nějakých dat. Taková (třeba i malá) sada dat může sloužit k testování či proto, aby se v projektu vyznali i jiní.

Jistě by se našly i další důvody. Uvádím to celé proto, abyste si uvědomili, že potřeba zálohování může pramenit z kdečeho a postupy se pak mohou lišit.

Co zálohovat

"Zálohování databáze" je široký pojem, možná až moc. V zásadě můžete zálohovat:

  1. Strukturu databáze (tedy definici jednotlivých sloupců tabulek)
  2. Samotná data
  3. Strukturu a data
  4. Část dat (jen související tabulky apod.)
  5. Celou databázi (včetně existujících indexů a podobně)
  6. Celý server (více databází)

Mezi jednotlivými body jsou jemné kvalitativní rozdíly. Není například pravda, že zálohovat "strukturu a data" znamená zálohovat "celou databázi". Kromě dat totiž databáze může obsahovat i například indexy - a ty můžete a nemusíte chtít uchovat. Připomeňme si, že indexy se dají podle potřeby rušit a vytvářet relativně nezávisle na datech. Rovněž můžete a nemusíte chtít zachovat definici uživatelsky definovaných funkcí, uložených procedur, spouští a pohledů.

Kdy zálohovat

Třebaže se Vám to možná bude zdát zvláštní, tak vězte, že tohle je jedna z nejtěžších otázek při správě databází. Na jednu stranu budou existovat (relativně) bezcenná data, která možná nebudete chtít zálohovat nikdy. Mám na mysli třeba staré přístupové protokoly. Na druhou stranu existují data tak cenná, že byste je chtěli zálohovat téměř po každé operaci. Protože zálohování může nepříznivě ovlivnit výkon systému, souběžnost práce s databází a může zabrat docela dost místa na disku, je v praxi běžně k vidění kompromis mezi oběma extrémy. Ten kompromis může být následující:

  • výkon a souběžnost - aby zálohování mělo co nejmenší dopad na výkon systému, provádí se v době, kdy je databáze nejméně zatěžována (například v noci). Někdy je jednoduché určit, kdy je zatížení nejmenší, jindy je to rébus; takže uvedenou zásadu nelze chápat striktně.
  • místo na disku - toto se řeší dvěma způsoby. Jednak tím, že se zálohy umisťují na různá místa či zařízení (CD/DVD disky, jiný oddíl HDD a podobně) a jednak tím, že existují plné a inkrementální zálohy

Kdo zálohuje?

I to je na pováženou. Zálohovat samozřejmě může:

  1. Uživatel systému nebo aplikace
  2. Správce systému (např. správce serveru)
  3. Počítač pomocí nějakých naplánovaných úloh (cron) či při splnění nějaké podmínky (čas od poslední zálohy, velikost dat a podobně)

Protože sám vyvíjím databázové aplikace, dovolte, abych tu nastínil jednu zásadu: Ponechat zálohování na uživateli je cesta k maléru. Průměrný uživatel zkrátka data zálohovat nebude, a pokud ano tak jen proto, že v minulosti již o nějaká ta data přišel. To samozřejmě neznamená, že bychom uživatelům neměli umožnit zálohování provést; spíše to znamená, že bychom se na to neměli v žádném případě spolehnout.

Správce serveru naproti tomu většinou data zálohovat bude, zejména pokud je provoz databázového serveru součástí placených služeb. V případě hostingu s databází bude například jistě v zájmu providera, aby vaše data ochránil jak před zneužitím, tak i před ztrátou. Pokud si databázový server spravujete sami, asi taky budete chtít data nějakým způsobem ochránit.

Konečně, existuje celá řada více či méně povedených nástrojů a utilit pro zálohování dat, které mohou fungovat bez zásahu uživatele, a které navíc mohou mít jednu či více z následujících schopností:

  • komprimace záloh
  • odesílání záloh "někam" (FTP, SSH apod.)
  • vytváření protokolů o zálohování
  • notifikace pro případ selhání systému zálohování
  • spolupráce více zálohovacích systémů nebo zařízení
  • uživatelské rozhraní pro konfiguraci

Jak zálohovat

Tomu se budeme podrobně věnovat příště. Teď je potřeba říci, že dostupné prostředky se pochopitelně budou lišit případ od případu. Jestliže jste správcem serveru s právy superuživatele, máte samozřejmě k dispozici mnohem více možností než pokud máte na témže serveru hosting s jednou databází. Rovněž je třeba rozlišovat podle množství zálohovaných dat: pokud databáze denně přijme deset řádků do dvou tabulek, bude zálohování zcela jistě jednodušší než pro databázi s desítkami tisíc změn denně.

Doufám, že jsem Vás přesvědčil, že zálohování se nedá odbýt jedním řádkem kódu a že je potřeba tyto věci znát. Pokud ano, můžete se těšit na další díl seriálu, který bude zaměřen již více na praxi.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

16.7.2018 1:05 /František Kučera

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.


Přidat komentář

18.6.2018 0:43 /František Kučera
Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.
Přidat komentář

23.5.2018 20:55 /Ondřej Čečák
Od pátku 25.5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spostu zajímavých přednášek, workshopů a také na Release Party nového openSUSE leap 15.0. V na stejném místě proběhne v sobotu 26.5. i seminář o bezpečnosti CryptoFest.
Přidat komentář

20.5.2018 17:45 /Redakce Linuxsoft.cz
Ve čtvrtek 31. května 2018 připravuje webový magazín BusinessIT ve spolupráci s Best Online Média s.r.o. pátý ročník odborné konference Firemní informační systémy 2018. Akce proběhne v kongresovém centru Vavruška (palác Charitas), Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 15 hod. odpoledne. Konference je zaměřena na efektivní využití firemních informačních systémů a na to, jak plně využít jejich potenciál. Podrobnější informace na webových stránkách konfrence.
Přidat komentář

14.5.2018 7:28 /František Kučera
Květnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 17. 5. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: Audio – zvuk v GNU/Linuxu.
Přidat komentář

7.5.2018 16:20 /František Kučera
Na stránkách spolku OpenAlt vyšla fotoreportáž Pražské srazy 2017 dokumentující srazy za uplynulý rok. Květnový pražský sraz na téma audio se bude konat 17. 5. 2018 (místo a čas ještě upřesníme).
Přidat komentář

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze