En supposant une solution de suivi d'utilisation faite maison (par opposition à Google Analytics comme suggéré dans une autre réponse), un système à deux bases de données pourrait être ce que vous recherchez :
- une base de données "temps réel" qui capture les événements de visite au fur et à mesure qu'ils arrivent.
- une base de données "hors ligne" où les données de la base de données "temps réel" sont collectées régulièrement, pour être [éventuellement] agrégées et indexées.
L'objectif de cette configuration est principalement lié à des préoccupations opérationnelles. La base de données "temps réel" n'est pas indexée (ou minimallement indexée), pour une insertion rapide, et elle est régulièrement vidée, généralement chaque nuit, lorsque le trafic est plus léger, tandis que la base de données "hors ligne" récupère les événements collectés au cours de la journée.
Les deux bases de données peuvent avoir exactement le même schéma, ou la base de données "hors ligne" peut introduire différentes formes d'agrégation. Les détails d'agrégation spécifiques appliqués à la base de données hors ligne peuvent varier considérablement en fonction du désir de maîtriser la taille de la base de données et en fonction des données jugées importantes (la plupart des fonctions de statistiques/agrégation introduisent une certaine perte d'informations, et il faut décider quelles pertes sont acceptables et lesquelles ne le sont pas).
En raison de la nature à "demi-vie" de la valeur des journaux d'utilisation, selon laquelle la valeur relative des détails diminue avec le temps, une stratégie courante est d'agréger des informations sur plusieurs niveaux, de sorte que les données collectées au cours des derniers, disons, X jours restent principalement inchangées, les données collectées entre X et Y jours sont partiellement agrégées, et enfin, les données plus anciennes que Y jours ne conservent que les informations les plus saillantes (par exemple, le nombre de hits).