Cette page introduit les bases de données orientées colonnes, comme ClickHouse, conçues pour analyser des flux d'événements horodatés (timeseries) à grande échelle, que ce soit pour des analyses historiques ou en temps réel. Leur principal avantage réside dans une compression et un traitement optimisés grâce à la structure en colonnes, contrairement aux bases relationnelles classiques (OLTP) qui privilégient les transactions et la cohérence. Les colonnes permettent des lectures séquentielles efficaces, une meilleure parallélisation et une compression adaptée aux gros volumes de données.
L'auteur compare ce modèle aux bases OLTP, soulignant que les bases orientées colonnes (comme celles utilisées pour la télémétrie ou l'observabilité) excelling en débit d'écriture et en scalabilité, mais au prix de transactions moins atomiques et de modifications plus lourdes. Contrairement aux systèmes comme Prometheus, qui gèrent mal la diversité des labels, les solutions modernes s'appuient sur des technologies éprouvées pour se concentrer sur la couche applicative. Le texte annonce ClickHouse comme solution dans un prochain article.
DuckDB est un système de gestion de base de données relationnelle (SGBD) en code ouvert, conçu pour être léger, rapide et analytique, optimisé pour les requêtes complexes sur des jeux de données de taille moyenne à grande directement depuis un seul fichier. Contrairement aux bases de données traditionnelles comme PostgreSQL ou MySQL, DuckDB fonctionne en mode embarqué (sans serveur), ce qui le rend idéal pour les analyses locales, les applications intégrées ou les environnements où la simplicité et la performance sont cruciales. Il prend en charge le langage SQL standard, offre des fonctionnalités avancées comme les jointures, les agrégations, les fenêtres analytiques, et intègre des extensions pour le traitement de données par lots ou en mémoire. Particulièrement apprécié dans les domaines de la science des données et de l’analyse interactive, DuckDB se distingue par sa capacité à traiter efficacement des fichiers Parquet ou CSV, tout en restant portable et facile à déployer. Son architecture sans dépendance externe et sa compatibilité avec de nombreux langages (Python, R, Java, etc.) en font un outil polyvalent pour les développeurs et les analystes cherchant à manipuler des données sans infrastructure lourde.