Astro Realtime Web Analytics : notes de conception pour la collecte et l’agrégation
Exactitude et politique de conservation d’un pipeline analytique qui collecte les événements du navigateur par files limitées et par lots, puis les agrège dans ClickHouse.
1. Périmètre de collecte et minimisation des données
Ce document présente les notes de conception d’un pipeline analytique. Il ne fournit ni un débit de production ni une certification de conformité juridique. Définissez d’abord les données collectées, les finalités, la durée de conservation et les droits d’accès. Orientez la conception vers l’exclusion des paramètres sensibles des URL et des informations personnelles d’identification inutiles.
L’absence de cookies ou le hachage des adresses IP ne garantissent pas automatiquement un anonymat complet ni le respect de toutes les réglementations sur les données personnelles. Les valeurs fondées sur l’IP ne correspondent pas à un nombre exact de visiteurs individuels, en raison des réseaux partagés et des changements d’adresse. Une application réelle nécessite une analyse distincte.
2. Lots et régulation de la pression
- Limiter la taille des événements et la longueur des files, puis préciser les règles de rejet, d’échantillonnage et de nouvelle tentative en cas de dépassement.
- Détecter les doublons à l’aide des identifiants d’événement et éviter que les nouvelles tentatives gonflent les agrégats.
- Ajuster conjointement la taille des lots et la latence des insertions ClickHouse. Préciser aussi le moment de confirmation et la gestion des erreurs des insertions asynchrones.
- Vérifier la vidange des tampons et les paramètres de confirmation de fin à l’aide de la documentation des insertions asynchrones ClickHouse.
3. Tableau de bord et validation opérationnelle
Lors de l’envoi des résultats agrégés par WebSocket, prévoir la reconnexion, la dernière position reçue et le traitement des clients lents. Distinguer les mesures côté utilisateur de celles du serveur lui-même, et ne pas remplacer les données manquantes ou non prises en charge par zéro.
Les essais de charge consignent conjointement le taux de collecte réussie, les taux de doublons et de pertes, les latences p95 et p99, ainsi que le coût de stockage. Ne présenter le débit ou la vitesse des requêtes comme des résultats que si des mesures reproductibles précisent le volume de données, le schéma et le matériel.