Les bases de données à colonnes larges sont des bases de données NoSQL qui stockent des données dans des tables, des lignes et des colonnes. Le nom et les formats de colonnes peuvent varier d'une ligne à l'autre. Les bases de données à colonnes larges sont généralement interprétées comme des magasins de valeurs-clés 2D ou de clés valeurs-clés. Les bases de données à colonnes larges sont également connues sous le nom de bases de données de familles de colonnes. Ces bases de données sont utilisées pour les flux de travail transactionnels. Les bases de données à colonnes larges peuvent être utilisées dans des cas avec de grands ensembles de données répartis sur plusieurs nœuds de base de données. Étant donné les volumes de big data dans l'IoT, les data scientists utilisent généralement des bases de données à colonnes larges pour stocker les données de l'IoT et des profils d'utilisateurs. Elles sont également utilisées pour gérer de grands entrepôts de données en raison de leur capacité à évoluer.
Les bases de données à colonnes larges aident à la scalabilité horizontale des données et assurent la cohérence des données. Les données sont stockées dans des cellules de colonnes qui sont regroupées en familles de colonnes. Les bases de données à colonnes larges peuvent filtrer les données par valeur. Les bases de données à colonnes larges diffèrent des bases de données en colonnes en ce qui concerne le stockage des données. Les bases de données en colonnes stockent chaque colonne séparément sur un disque, tandis que les bases de données à colonnes larges prennent en charge les familles de colonnes stockées ensemble. Les bases de données à colonnes larges diffèrent également des bases de données relationnelles. Les bases de données relationnelles ont plusieurs tables tandis que les bases de données à colonnes larges ont plusieurs familles de colonnes.
Pour être inclus dans la catégorie des bases de données à colonnes larges, un produit doit :
Contenir des valeurs-clés 2D ou des clés valeurs-clés
Avoir un clustering pour la base de données distribuée
Fournir une gestion du temps de vie (TTL)
Prendre en charge une variété de types de données comme String, Boolean, Integer et Double
Fournir une structure tridimensionnelle (ligne, colonne et temps)