Hoi,
Wij zijn bezig ons monitoring script uit te breiden, we willen namelijk nu onze statistieken gaan loggen. Omdat we met dit script daarna ook het monitoren als service willen aanbieden, moet de database layout redelijk efficient zijn (weinig ruimte innemen, om te zorgen dat het doorzoeken van de database lekker snel gaat).
Op dit moment gebruik ik een simpel script om na downtime de tijd (in seconden) en de datum+tijd naar de een andere table te loggen. Dit is te doen als je niet zo veel statistieken hebt (van één server, bijv), maar is niet meer grappig (denk ik) als je straks elke dag 500 servers eruit hebt liggen (dat betekend dagelijks 500 rows erbij).
Is mijn manier (alle stats loggen naar één table) slim, of kan ik beter statistieken na, bijvoorbeeld, een maand overzetten naar een andere table (en dus dan de stats van exact een maand terug 'catchen', door ze per server op te gaan tellen). Nadeel daarvan is wel dat je minder exacte statistieken hebt (je kan na een maand enkel de stats bekijken van, bijv, een maand).
Of is het misschien slim om bij elke 100 (ik roep maar wat) servers een aparte table/database aan te maken? Het doorzoeken van de rows is dan natuurlijk een stuk minder intensief (minder te doorzoeken), het aantal rows te doorzoeken blijft dan overigens wel gelijk (enkel versprijd over verschillende tables of databases).
Kan iemand die ervaring heeft in het verwerken van veel gegevens hier misschien wat over zeggen? Of ben ik nu gewoon 'overdreven' bezorgt, en is 100k rows helemaal niets om je zorgen over te maken.
Jochem

Likes:


Zijn trouwens ook de best betaalde mensen in de IT-wereld, omdat een goed ontworpen database gewoon de backbone is van een (web)applicatie.
.