Introduction à la famille de colonnes avec Cassandra

Ce blog met en évidence l'importance de la famille de colonnes avec Cassandra

Famille de colonnes

Une famille de colonnes est similaire à une table dans le SGBDR ou le système de gestion de base de données relationnelle et est une division logique qui associe des données similaires. Fondamentalement, dans des données similaires, vous avez tendance à stocker des types de données portant sur des sujets similaires.



Par exemple, les données d'une commande sont stockées dans une seule famille de colonnes afin que vous puissiez avoir un ID de commande comme clé de ligne ainsi que diverses colonnes comme le type de produit a été apporté dans le cadre de cette commande pour être stockées dans la famille de commandes particulière . Pour donner certains exemples, une famille de colonnes utilisateur se compose d'un identifiant utilisateur comme clé. Par conséquent, on est libre de choisir un identifiant et les colonnes peuvent être «nom = Kunal». Et les valeurs de colonne sont Kunal et Bangalore. Il existe une deuxième famille de colonnes appelée famille de colonnes Cricketer qui permet le stockage des statistiques de cricketer dans une famille de colonnes. Par exemple, vous pouvez avoir Sachin Tendulkar dans une colonne et un nombre de siècles dans une autre. Par conséquent, il peut y avoir n'importe quel nombre de colonnes.



Types de colonnes

La famille de colonnes n'est rien d'autre qu'une table qui est analogue à une table dans un monde SGBDR. Il en existe certains types, à savoir

Famille de poteaux statiques - La famille de colonnes statiques est l'endroit où les noms et les types de données sont définis. Ainsi, lorsque la famille de colonnes est créée, l'option permettant de nommer le nom de la colonne et les types de données est disponible. Cela s'appelle statique, car les colonnes restent statiques et le nombre de colonnes disponibles sera connu.



Famille de colonnes dynamiques - Une famille de colonnes dynamiques, en revanche, ne définit pas les noms de colonne à l’avance et la capacité de Cassandra à utiliser des noms d’application et de colonne arbitraires pour stocker des données est disponible. Donc, dynamique aide d'une certaine manière parce que dans des données non structurées, la plupart du temps, la famille de colonnes dynamiques aide à prendre en charge les nouveaux champs qui auraient pu être ajoutés plus tard.

Si vous avez une famille de colonnes statiques et que vous souhaitez ajouter une famille de colonnes dynamiques dans votre code lors du chargement des données, elle peut être ajoutée à une famille de colonnes statiques à tout moment. Cassandra donne la liberté de choisir les noms de colonnes.

Différence avec le SGBDR

La famille de colonnes Cassandra est sans schéma et est très évolutive. La famille de colonnes Cassandra a deux attributs: le nom et le comparateur. Ainsi, lorsque vous avez une famille de colonnes Cassandra, lui donner un nom devient obligatoire et Comparator est essentiellement un type de données pour les noms de colonnes. Si vous ne spécifiez pas le comparateur, il supposera qu’il s’agit d’un comparateur par défaut.



comment fonctionne le casting en java

Cassandra a également une colonne de familles de super colonnes. Il utilisera une super colonne en interne. C'est un regroupement logique et un autre niveau de regroupement de colonnes. Ainsi, dans une famille de colonnes utilisateur, vous pouvez avoir deux super colonnes dans lesquelles nous pouvons avoir les informations personnelles des utilisateurs et les informations produit.

Colonnes

Une colonne est le plus petit incrément de données dans Cassandra. Il comporte 3 composants:

  • Nom
  • Valeur
  • Horodatage - Utilisé dans la résolution des conflits et l'horodatage ne peut pas être modifié. Il s'agit d'un mécanisme interne permettant de voir quand ces données ou cette colonne ont été mises à jour.
  • Colonnes expirantes - Une date d'expiration peut être donnée à une colonne afin de savoir que la colonne expirera.
  • Colonnes de compteur - Les colonnes de compteur ne servent qu'à maintenir les colonnes afin que vous puissiez incrémenter et décrémenter ces colonnes de compteur.

Super colonnes

Super Columns regroupe toutes les colonnes en fonction d'un besoin métier et d'un regroupement logique. Il ajoute un autre niveau d'imbrication à la structure de famille de poteaux standard. Ils comprennent une structure de famille de super colonnes.

Le cas principal pour les super colonnes est de dénormaliser plusieurs lignes d'autres familles de colonnes en une seule ligne permettant l'extraction de données de vue matérialisée.

Cas d'utilisation

Limitations des super colonnes

Une limitation est que toutes les sous-colonnes d'une famille de super-colonnes doivent être dé-sérialisées pour lire une seule famille de sous-colonnes. Une autre limitation est que nous ne pouvons pas créer d'index secondaires sur les sous-colonnes d'une super colonne.

Types de données de colonne

Types de données de colonne

convertir une chaîne en date en java

Dans l'image ci-dessus, il existe différents types de données. Le type de données pour une valeur de colonne est appelé un validateur. Et le comparateur est le type de données d'une colonne. Le nom et l'adresse deviennent un nom de colonne. Ainsi, vous pouvez avoir une date en cas de noms de colonnes. Vous pouvez également avoir des données de série chronologique en utilisant la date comme nom de colonne.

Lignes

Il peut y avoir de larges rangées et plusieurs rangées. Des millions de colonnes et de lignes peuvent être disponibles.

Les lignes maigres ont un petit nombre de colonnes avec la possibilité de n'avoir que des lignes limitées.

Clé composite

Il se compose d'un ou de plusieurs champs de clé primaire. Supposons que le nom d'une ville soit défini comme une clé de ligne, il peut y avoir une ville nommée dans deux états différents, vous devrez donc mentionner quelle ville et quel état. Cela signifie simplement que la clé doit être indiquée. Au lieu d'avoir une simple clé de colonne d'un type, vous pouvez agréger plusieurs valeurs également appelées composants de plusieurs types pour former une clé de colonne unique.

Vous avez une question pour nous? Mentionnez-les dans la section commentaires et nous vous recontacterons.

comment définir le chemin java

Articles Similaires:

Introduction aux vifs à Cassandra