tchapgouv / tchap-stats

Scripts et organisation des statistiques fournies à Metabase provenant des données matrix
2 stars 1 forks source link

user daily visits - plus assez d'espace disque #77

Open odelcroi opened 4 weeks ago

odelcroi commented 4 weeks ago

user daily visits : lignes : 126M données : 39Go index : 60Go total : 99Go

optimiser la table :

optimiser les index

image
odelcroi commented 4 weeks ago

Ajout de 2 colonnes pour stocker 'platform' et 'device_type' -> a pris 20 Go

Idée pour alléger la base :

Drawback :

odelcroi commented 4 weeks ago

Idées pour accélerer les requetes

Comme nous accédons souvent aux lignes des derniers mois, créer un index de user_daily_visits inversé peut accélerer le traitement CREATE INDEX idx_visit_ts_desc ON user_daily_visits (visit_ts DESC);

odelcroi commented 3 weeks ago

L'index triple unique_user_visit UNIQUE (user_id, device_id, visit_ts) est très lourd, pour garantir l'unicité (device_id, visit_ts) est suffisant

odelcroi commented 2 weeks ago

/\ un device_id peut avoir plusieurs user_agent, en effet, un device_id est une session utilisateur (associée à un session token)

SELECT 
    device_id, 
    COUNT(DISTINCT user_agent) AS user_agent_count,      -- Compte les user_agents distincts pour chaque device_id
    STRING_AGG(DISTINCT user_agent, ', ') AS concatenated_user_agents  -- Concatène les user_agent distincts
FROM user_daily_visits
GROUP BY device_id
HAVING COUNT(DISTINCT user_agent) > 1;  -- Affiche uniquement les device_id avec plusieurs user_agents distincts