Autor Zpráva
Sitole
Profil
Ahoj,
chci se zeptat, jak se mají v nejlepším případě řešit zálohy databáze.
Aktuálně si ukládám čas následující zálohy a při každém přístupu ověřuji zda už není čas na aktualizaci a případně ji systém provede.
Zatím o nic moc nejde, protože jde o databázi v řádu několik kB, ale bojím se toho až půjde o desítky či dokonce stovky MB.
Přeci jen takové stažení není jen tak a z klasického připojení prachobyčejného uživatele bude trvat například v rámci 15 sekund.
Přemýšlel jsem o manuálním stažení dat v administraci, ale co když například administrátor dlouho nebude mít čas a najednou se něco rozbije a bude nutné obnovit nejnovější zálohu?
Uvažoval jsem o CRONu, ale nejsem si jistý zda se jedná o korektní způsob. Přeci jen někde nemusí být podporované.
mckay
Profil
Sitole:
jak se mají v nejlepším případě řešit zálohy databáze.
V nejlepším případě je řeší poskytovatel hostingu za Vás. Obvykle s nějakým rozumným intervalem, jak často jsou dělány a jak dlouho jsou k dispozici.

Pro zbytek této odpovědi předpokládám na základě derivace Vámi poskytnutých informací, že to řešíte pro nějaký svůj systém, u něhož nemůžete příliš kontrolovat kdo je cílový uživatel a v jakém prostředí systém nakonec poběží.

Aktuálně si ukládám čas následující zálohy a při každém přístupu ověřuji zda už není čas na aktualizaci a případně ji systém provede.
Souhlasím s Vámi, že toto není vhodné řešení pro většinu případů. Jakmile databáze naroste způsobí to, že alespoň jednomu uživateli (v závislosti na implementaci toho zálohování) potrvá načtení déle / popřípadě se mu úplně přeruší (timeout serveru, protože zálohování trvá déle jak xx sekund).

V podstatě Vám nejspíš zbývá jedna z Vámi navrhovaných možností. Je zde však nutno podotknout, že v obou případech se můžete (a budete) potýkat s tím, že databáze může narůst do takových objemů, že nepůjde zálohovat prostým php skriptem v rámci nastaveného execution timeoutu na serveru. Tento problém bude nastávat i v případě CRONu.
Keeehi
Profil
Sitole:
Pokud by to měl odnést uživatel, tak ať ho to trápí co nejméně. Neprovádět zálohu tedy přímo ve scriptu, který generuje html stránky, ale v případě že se má provést záloha přidat do html skrytý obrázek <img src="zaloha.php">. Nejsem si jistý, jestli prohlížeče stahují obrázky co nejsou vidět. Myslím že ano. Pokud ne, je potřeba to udělat nějak chytře. Je mnoho způsobů jak zneviditelnit obrázek a spousta z nich určitě stahování nezablokuje.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: