Bon, je me plante certainement en grande partie, mais je vois un truc du genre :
-> Un serveur ayant une base extrêment rapide (genre fichier plat ou MySQL) ne servant qu'à logger de façon brute.
Pendant la journée, on log sur ce serveur.
-> Le soir, un autre serveur, utilisant une base moins rapide (en vitesse brute) mais très puissante (et rapide) au niveau des calculs (genre Oracle) va venir lire tous les enregistrements créés sur le serveur de log, et faire une première vague de calculs/regroupements, afin d'économiser du temps pour les requêtes par la suite.
Ensuite, ce serveur se base sur ces données déjà plus ou moins regroupées/traîtées afin de fournir les infos sur le site.
Cette architecture a l'avantage que quelques-soient les merdes qu'on peut avoir sur le serveur de consultation (le plus solicité au niveau puissance de calcul et volume de données traîtées, donc le plus enclin à planter) on n'arrête pas le service de log. Xiti l'a d'ailleurs démontré à plusieur reprises quand leurs évolutions ont posé des problèmes, jamais le service de log ne s'est arrêté.
En revanche, pour que cette solution soit vraiment performante, les stats ne doivent être mises à jour que pas lot. Le volume d'infos et la quantité de calculs effectués par Xiti étant énorme, ceci n'est fait qu'une fois pas jour, aux heures creuses afin de ne pas impacter les utilisateurs du site.