ClickHouse — le moteur d'analyse en temps réel de la plateforme
Le stack 4buildsite comprend ClickHouse — une base de données en colonnes conçue spécialement pour l'analyse de gros volumes. C'est sur elle que nous construisons le module de statistiques de trafic et de ventes de la plateforme (en développement) : vos données restent les vôtres, les rapports sont calculés hors de votre site — l'architecture est faite pour cela.
Ce qu'est ClickHouse et pourquoi nous l'utilisons
ClickHouse est une base de données en colonnes de type OLAP (analyse en ligne), créée chez Yandex pour Yandex.Metrica — l'un des plus grands systèmes d'analyse web au monde — et publiée en open source en 2016 sous licence Apache 2.0. Elle est construite pour une seule chose, qu'elle fait remarquablement bien : des agrégations rapides sur d'énormes volumes de données. Dans l'architecture de 4buildsite, ClickHouse est le moteur retenu pour la couche statistique : chaque visite, chaque clic et chaque commande devient un événement analysable.
Le secret tient au stockage en colonnes : au lieu de lire chaque « ligne » en entier, ClickHouse ne lit que les colonnes dont le rapport a besoin et les traite de façon vectorisée, par gros blocs. C'est pourquoi une question comme « combien de visiteurs ai-je eus hier, par page et par source ? » trouve sa réponse, même sur des millions d'événements — ce qu'une base classique orientée lignes résout bien plus difficilement.
Ce n'est pas une technologie de niche : Cloudflare l'utilise pour analyser le trafic HTTP à l'échelle mondiale, et Uber, eBay et Spotify s'en servent pour l'analytique et le traitement de journaux à très gros volumes. Sur 4buildsite, ce même moteur fait partie du stack de la plateforme — sans que vous ayez à recruter une équipe d'ingénierie des données.
Des statistiques en temps réel, séparées de vos pages — la conception du module
Le module de statistiques de la plateforme est en développement et son architecture est simple : les événements de trafic sont collectés de façon asynchrone et écrits dans ClickHouse, totalement à l'écart des serveurs qui délivrent les pages. Aucun script de suivi tiers lourd n'est chargé dans la page — la collecte est minimale et first-party.
Les rapports de panel.4buildsite.net seront calculés directement dans ClickHouse : trafic par page, sources de visiteurs, conversions, ventes par produit. Les agrégations fréquentes sont pré-calculées par des vues matérialisées à chaque écriture, si bien que le tableau de bord n'a pas à relancer un calcul lourd à chaque consultation.
- Trafic en direct : visites, pages, sources et appareils — interrogeables dès la collecte
- Ventes par produit, commandes et conversions de votre boutique, agrégées dans ClickHouse
- Historique sur des mois et des années à faible coût — la compression en colonnes réduit le stockage de plusieurs fois par rapport aux données brutes
- Collecte asynchrone : les rapports tournent sur un autre système que celui qui sert les pages
PostgreSQL et ClickHouse : pourquoi les deux
Le stack de la plateforme combine deux bases de données parce qu'elles font des choses fondamentalement différentes. PostgreSQL est le registre transactionnel (OLTP) : commandes, paiements, stock, comptes utilisateurs — des opérations qui doivent être parfaitement justes une par une, avec des garanties transactionnelles. ClickHouse est la salle d'analyse (OLAP) : des millions d'événements lus d'un coup pour répondre à vos questions sur le trafic et les ventes.
Si les rapports lourds tournaient sur la base qui traite les commandes, chaque rapport entrerait en concurrence avec les clients en train de payer. La séparation OLTP/OLAP supprime ce conflit : la commande du client n'attend pas après votre rapport, et votre rapport n'attend pas après les commandes des autres. Chaque moteur fait exactement ce pour quoi il a été conçu.
- PostgreSQL : commandes, paiements Stripe, stock, clients — exactitude transactionnelle
- ClickHouse : événements de trafic, rapports, statistiques — agrégation sur de gros volumes
- La conception prévoit que les données transactionnelles utiles arrivent dans ClickHouse sous forme d'événements : les rapports de ventes ne touchent donc jamais la base qui sert la boutique
Une analytique maison, respectueuse de la vie privée — à la place de Google Analytics
Le principe du module de statistiques : les données de votre site restent sur l'infrastructure de la plateforme. Elles ne sont pas transmises à Google ni à d'autres régies publicitaires, ne sont pas revendues et ne sont pas croisées avec des profils utilisateurs externes. C'est de l'analytique first-party au sens propre : les données sur vos visiteurs sont les vôtres.
Comme l'approche se passe de cookies de suivi tiers, la conformité au RGPD devient nettement plus simple. Le contexte compte : en 2022, les autorités de protection des données d'Autriche, de France et d'Italie ont déclaré l'usage de Google Analytics non conforme au RGPD en raison des transferts de données vers les États-Unis. Avec une analytique maison, hébergée en Europe, cette catégorie de risque disparaît d'emblée.
Il y a aussi un bénéfice pratique : les rapports calculés dans ClickHouse ne sont pas échantillonnés, contrairement aux rapports standard des outils d'analytique gratuits. Des chiffres complets.
Rapports de boutique et de place de marché — ce que livrera le module
Pour une boutique en ligne, ClickHouse signifiera des réponses directes aux questions qui comptent : quels produits se vendent, de quelles sources viennent les clients qui achètent, où les paniers sont abandonnés. Pour une place de marché multi-vendeurs, les mêmes agrégations tourneront sur l'ensemble des commandes : volume par vendeur, commissions, meilleurs produits par catégorie — sans exports manuels ni tableurs.
Et à grande échelle, les choses restent peu coûteuses. La compression en colonnes réduit les données de plusieurs fois par rapport au format brut : vous conservez donc des années d'historique pour un coût de stockage modeste. Et quand le trafic passe de milliers à des millions d'événements, l'architecture reste la même — le moteur a été conçu dès l'origine pour des milliards de lignes, et non adapté après coup.
Avantages et limites
Avantages
- Des agrégations sur des millions d'événements, calculées par un moteur conçu pour cela.
- L'analytique tourne sur un système distinct de celui qui sert les pages.
- Les données de trafic restent les vôtres, sur l'infrastructure de la plateforme — sans transfert vers Google ni vers des régies publicitaires.
- Sans cookies de suivi tiers — une conformité RGPD plus simple.
- Une compression en colonnes puissante — des années d'historique pour un coût de stockage modeste.
- Open source (Apache 2.0), sans licence au volume — le coût n'explose pas quand le trafic augmente.
Limites
- Ce n'est pas une base transactionnelle — modifier ou supprimer des lignes individuelles est une opération lourde ; c'est pourquoi les commandes et les paiements restent dans PostgreSQL.
- Optimisée pour des écritures par gros lots ; de nombreuses insertions petites et fréquentes exigent un regroupement — la plateforme s'en charge, mais c'est une vraie limite du moteur.
- Les JOIN complexes sont moins souples que dans PostgreSQL — le schéma d'événements doit être pensé pour l'analyse dès le départ.
- La recherche d'une seule ligne (point lookup) est plus lente que dans une base OLTP indexée — cela ne remplace pas la base principale de la boutique.
Verdict en bref
ClickHouse est le bon choix pour l'analytique à gros volume : des statistiques de trafic et de ventes, avec vos données, calculées sur un système distinct du site. Pour les commandes, les paiements et le stock, PostgreSQL reste en place — c'est pourquoi le stack 4buildsite combine les deux, chacun là où il excelle. Le module de statistiques bâti sur ClickHouse est en développement.
Tableau des spécifications
| Capacité | Limite / seuil | Usage courant | |
|---|---|---|---|
| Agrégations analytiques | Agrégations rapides sur des millions d'événements (colonnes et vectorisation) | Lent pour la recherche d'une seule ligne — pas conçu pour les lookups OLTP | Rapports de trafic et de ventes (module de statistiques, en développement) |
| Ingestion d'événements | Gros volumes, écrits par lots | Les insertions petites et fréquentes exigent un regroupement ou une insertion asynchrone | Collecte des pages vues, des clics, des commandes |
| Stockage & compression | Compression en colonnes (LZ4/ZSTD), plusieurs fois sous le volume brut | Les données très aléatoires se compressent moins bien | Historique d'événements sur des mois et des années, à faible coût |
| Mises à jour & suppressions | Mutations asynchrones pour les corrections ponctuelles | Inadapté aux UPDATE fréquents sur des lignes individuelles | Suppressions RGPD (les données d'un utilisateur, sur demande) |
| Vues matérialisées | Agrégats pré-calculés à chaque écriture | Les agrégats doivent être définis à l'avance, rapport par rapport | Tableaux de bord sur vues pré-calculées : ventes par jour, par produit, par source |
| Temps réel | Les événements deviennent interrogeables après leur collecte | Ce n'est pas un système de streaming à la milliseconde | Statistiques en direct du trafic et des conversions |
ClickHouse, PostgreSQL et Google Analytics / BigQuery — pour l'analytique
| Critère | ClickHouse (4buildsite) | PostgreSQL (pour l'analytique) | Google Analytics / BigQuery |
|---|---|---|---|
| Vitesse d'agrégation sur gros volumes | Agrégations rapides sur des millions de lignes | Baisse nettement au-delà de dizaines de millions de lignes (stockage en lignes) | BigQuery est rapide ; GA4 propose des rapports standard pré-agrégés, sans requêtes libres |
| Propriété des données / RGPD | Vos données, sur l'infrastructure de la plateforme, en Europe | Vos données, sur vos serveurs | Les données sont chez Google ; les transferts de GA vers les États-Unis ont été jugés non conformes au RGPD par des autorités de l'UE en 2022 |
| Cookies & consentement | Sans cookies de suivi tiers | Dépend de votre propre implémentation | Nécessite une bannière de consentement pour le suivi |
| Temps réel | Données interrogeables après leur collecte | Possible, mais les rapports lourds chargent la base transactionnelle | Les rapports standard de GA4 peuvent arriver avec des heures de retard ; le streaming BigQuery est facturé en plus |
| Coût à gros volume | Open source — le coût se limite à l'infrastructure, comprise dans l'abonnement | Augmente avec les index, le vacuum et le matériel sur de gros volumes | BigQuery facture au volume interrogé ; la version entreprise de GA est coûteuse |
| Impact sur la vitesse du site | Collecte asynchrone, rapports sur un système distinct | Les rapports peuvent concurrencer les commandes sur la même base | Script tiers (gtag.js) dans la page — du JavaScript et des requêtes externes en plus |
Questions fréquentes
ClickHouse ralentit-il mon site ou ma boutique ?
Non. ClickHouse tourne sur un système distinct de celui qui sert les pages — l'architecture est faite ainsi. Les événements de trafic sont envoyés de façon asynchrone et les rapports ne touchent jamais la base de données de la boutique.
Pourquoi ne pas utiliser simplement Google Analytics ?
Pour trois raisons. Les données restent les vôtres, sur l'infrastructure de la plateforme, et non chez Google. Vous n'avez pas besoin de cookies de suivi tiers, ce qui simplifie la conformité RGPD — en 2022, des autorités d'Autriche, de France et d'Italie ont jugé GA non conforme au RGPD. Et les rapports sont complets, sans échantillonnage.
Quelle différence entre ClickHouse et PostgreSQL — pourquoi les deux ?
PostgreSQL est la base transactionnelle (OLTP) : elle traite les commandes, les paiements et le stock une par une, avec des garanties d'exactitude. ClickHouse est la base analytique (OLAP) : elle lit des millions d'événements d'un coup pour les rapports. Cette séparation fait qu'un rapport lourd n'entre pas en concurrence avec les commandes de vos clients.
Mes données de trafic sont-elles sûres et conformes au RGPD ?
Oui — par conception. Les statistiques sont first-party : elles résident sur l'infrastructure de la plateforme, en Europe, ne sont pas revendues et ne sont pas partagées avec des régies publicitaires. L'approche se passe de cookies de suivi tiers, et les données d'un utilisateur peuvent être supprimées sur demande, conformément au RGPD.
À quel point les statistiques sont-elles « en temps réel » ?
Un événement — une visite, un clic, une commande — devient visible dans les rapports peu après sa collecte. Les agrégations sur de longues périodes (mois, années) sont elles aussi calculées par ClickHouse, bâti précisément pour ce type de requêtes.
Dois-je configurer quelque chose pour avoir des statistiques sur mon site ?
Ce ne sera pas nécessaire. Le module de statistiques est en développement et se construit comme une brique de la plateforme : lorsqu'il sera actif dans l'espace d'administration, la collecte démarrera automatiquement pour les sites publiés — sans script à installer ni compte externe.