Autor Zpráva
JanMatoušek
Profil
Ahoj, denně do největších tabulek v db zapisujeme až 50 000 záznamů. Jedná se zejména o logovací tabulky. Zatím máme logy v milionech a vše běží v pohodě. Ale začali jsme uvažovat, zda by nebylo lepší si logy nějakým způsobem archivovat. Jedna varianta je do jiné db, ale tam člověk narazí, že stejně časem se to zase zaplní obrovsky. A nebo si pravidelně dumpovat logy do souboru.

Řešil někdo podobný problém? Jaká je podle Vás nejlepší varianta? Jediné co bychom asi nechtěli je využít externí služby a ukládat to do cloudu, protože se jedná i o citlivá data.
Keeehi
Profil
JanMatoušek:
A nebo si pravidelně dumpovat logy do souboru.
To zní jako rozumné řešení.

Jediné co bychom asi nechtěli je využít externí služby a ukládat to do cloudu, protože se jedná i o citlivá data.
Ty dumpy můžete zašifrovat a pak je můžete uložit kamkoli. Stanou se z nich jen náhodné řetězce, které dávají smysl jen v kombinaci se správným klíčem.
juriad
Profil
Ono dost záleží na povaze těch záznamů:
1) je potřeba je udržovat navždy?
2) mají se zobrazovat v té samé aplikaci, nebo v jiné "servisní" aplikaci, či v ad-hoc nástroji pro analýzu logů?
3) musí být dostupné stejně rychle jako běžná data?
4) je očekávaný přistup náhodný nebo sekvenční (zajímá mě co vše uživatel X udělal vs. zajímá mě co se děo v čase X)?
4) počítají se nad nimi nějaké statistiky, analyzují se trendy?

Podle odpovědí na tyto (a další) otázky lze navrhnout řešení. A může jít o více než jedno.
Často se něco drží v databázi (historie editů), něco v souborech (access log), něco v ElasticSearchi (hledej ELK), něco v Sentry.
Kajman
Profil
Jestli je nárůst zabraných dat na disku akceptovatelný a data jsou potřeba, tak bych to nechal v db. Buď v jedné tabulce či dvou (aktuální data, prastará data). U velkých tabulek zvažte Partitioning.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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