Telechargé par fatibouriahi

cassandra

publicité
Introduction à Apache Cassandra
Apache Cassandra est un système de base de données distribuées open source
extrêmement puissant qui fonctionne très bien pour gérer d’énormes volumes de
données répartis sur plusieurs serveurs. Il peut être facilement adapté pour répondre
à une augmentation soudaine de la demande en déployant des grappes Cassandra
à plusieurs nœuds et satisfaire aux exigences de haute disponibilité, sans unique
point default. C’est l’une des bases de données NoSQL les plus efficaces disponibles
aujourd’hui.
Une base de données NoSQL est un type de moteur de traitement de données qui est
déployé exclusivement pour travailler avec des données qui peuvent être stockées
dans un format tabulaire et ne répondent donc pas aux exigences des bases de
données relationnelles. Certaines des caractéristiques principales des bases de
données NoSQL sont qu’elles peuvent traiter de très grandes quantités de données,
qu’elles peuvent avoir une API simple, qu’elles peuvent être répliquées facilement,
qu’elles sont pratiquement sans schéma et qu’elles sont plus ou moins cohérentes.
Les technologies NoSQL sont conçues pour être extrêmement simples,
horizontalement extensibles et pour fournir un contrôle extrêmement fin de la
disponibilité. Les structures de données utilisées dans une base de données NoSQL
sont très différentes de celles utilisées dans les bases de données relationnelles. De
ce fait, les opérations dans les bases de données NoSQL sont plus rapides.
Caractéristiques de Cassandra :

Il s’agit d’une base de données à colonnes.

Elle est très cohérente, tolérante aux pannes et évolutive.

Elle a été créée pour Facebook et a ensuite a été open source.

Le modèle de données est basé sur Google Bigtable.

La conception distribuée est basée sur Amazon Dynamo.
Pourquoi devrions-nous utiliser Apache Cassandra ?
Cassandra est une base de données NoSQL très robuste et complète qui est
déployée par certaines des plus grandes entreprises du monde telles que Facebook,
Netflix, Twitter, Cisco et eBay. Voici quelques-unes des caractéristiques évidentes de
Cassandra qui le font clairement sortir du lot :

Support d’un large éventail de structures de données

Cassandra vous permet de prendre en charge des structures de données de toutes
sortes, telles que des données structurées, non structurées et semi-structurées, et il
prend également en charge les modifications dynamiques des structures de données
pour refléter l’évolution des besoins.
Architecture linéairement évolutive


Il peut être facilement mis à l’échelle d’un certain ensemble de nœuds à un
ensemble supérieur de nœuds par une simple addition de nœuds supplémentaires
de manière linéaire sans avoir à entrer dans les complexités, et il donne une
augmentation immédiate du débit et du temps de réponse.
Une distribution sans faille

Cette base de données NoSQL vous permet de distribuer vos données de manière
transparente sur plusieurs data centers par un simple processus de réplication des
données.
Haute fiabilité


Cassandra est conçu pour gérer la défaillance des nœuds de la grappe sans affecter
les performances de quelque manière que ce soit, car il ne présente pas de
défaillance d’un seul nœud, une caractéristique essentielle pour les applications
critiques.
 Support pour ACID
 Les propriétés d’ACID (atomicité, consistance, isolation et durabilité) sont bien
prises en charge par la base de données Cassandra, ce qui est une caractéristique
assez importante puisque les transactions d’ACID sont prises en charge par le
SGBDR.
La technologie NoSQL de Cassandra, si répandue aujourd’hui, a vu le jour dans le
labo de recherche de Facebook. Le géant des médias sociaux open source a lancé
Cassandra en juillet 2008. Elle a été intégrée à l’incubateur Apache en 2009 et a
finalement fait partie du projet Apache high level en 2010. Aujourd’hui, il fait partie
intégrante de l’Apache Software Foundation et peut être utilisé par toute personne
souhaitant bénéficier de ses multiples usages. Le système de distribution de fichiers
de Cassandra est un système peer-to-peer entre les nœuds, et grâce à cela, toutes
les données sont distribuées sur l’ensemble des nœuds de la grappe.
Tout nœud de la grappe peut accepter les demandes de lecture ou d’écriture de
données, que les données résident ou non dans la grappe. Le processus de
réplication des données à Cassandra se fait par l’intermédiaire de certains nœuds
qui jouent le rôle de réplicateurs pour un certain volume de données. Aujourd’hui, il y
a une grande quantité de données, et ces données sont validées pour être à jour ou
non. Si ce ne sont pas les dernières données, alors Cassandra reviendra avec la
dernière valeur des données. Les données périmées sont alors révisées avec la
dernière valeur afin de maintenir le système à jour.

Architecture de Cassandra
Voici quelques-uns des éléments clés de l’architecture de Cassandra :

Cluster : Il s’agit d’un ensemble complet de plusieurs data centers sur lesquels sont
stockées toutes les données pour être traitées dans la base de données Cassandra
NoSQL.


Data center : Un ensemble de nœuds connexes sont regroupés dans un data center.
Nœud : L’endroit spécifique où les données résident sur le cluster est appelé un nœud.

Commit log : C’est une méthode à sécurité intégrée qui est déployée par Cassandra afin
de prendre une sauvegarde de toutes les données de la base de données Cassandra en les
écrivant dans le journal de commit.

Mémoire : C’est une structure de données qui réside dans la mémoire où Cassandra met
en mémoire tampon les écritures. Il y aura un Memtable actif par table.

SSTable : Lorsque les Memtables atteignent leur valeur de seuil, ils sont transférés sur le
disque et deviennent des SSTables immuables.

Filtre Bloom : Le filtre Bloom est un algorithme qui permet de tester rapidement si un
élément fait partie d’un ensemble. On accède à ces filtres bloom après chaque requête.
Comprendre le CQL
Le langage d’interrogation Cassandra (CQL) permet d’accéder à la base de données
Cassandra par son noeud. Ce langage d’interrogation traite la base de données
comme un conteneur de tables. Ce langage d’interrogation fournit également un shell
de langage d’interrogation Cassandra (cqlsh) qui permet aux utilisateurs d’interagir
avec Cassandra.
Certification en matière d’analyse de données à grande échelle (Bigdata Analytics)
Quelle est la portée de l’outil Apache Cassandra NoSQL ?
Depuis son ouverture en open source en 2008, l’outil Cassandra NoSQL a été
largement adopté par certaines des plus grandes entreprises du monde entier.
L’architecture massivement décentralisée de Cassandra permet à ces entreprises de
stocker des données de manière distribuée tout en ayant un contrôle et une flexibilité
totale dans le traitement des données. En outre, aucun point de défaillance ne rend
l’outil irrésistible pour les organisations qui ne peuvent tout simplement pas se
permettre de perdre des données ou de subir des pannes de serveur.
Netflix, qui est le plus grand acteur dans le domaine de la diffusion en ligne de films
et de contenus de divertissement, utilise exclusivement cette technologie pour
stocker des données de manière décentralisée et déployer la stratégie de réplication
sur ses multiples serveurs AWS afin de rendre les données plus résistantes et plus
sûres.
La méthodologie de stockage des données par colonnes de Cassandra permet de
stocker assez facilement des données où chaque ligne d’une famille de colonnes
peut contenir un nombre variable de colonnes, et où il n’est pas nécessaire que les
noms des colonnes correspondent. Grâce au moteur de stockage à structure
logarithmique de Cassandra, il est possible de déployer des opérations d’écriture à
grande vitesse qui sont les plus adaptées au stockage et à l’analyse de métriques
saisies de manière séquentielle.
Grâce à son cache de données persistant, Cassandra peut être utilisé pour stocker
des données clés qui doivent être hautement disponibles. Grâce à l’extensibilité
linéaire de Cassandra, il n’y a pas de temps d’arrêt car de nouveaux nœuds peuvent
être ajoutés à la demande au cluster.
Comme la plupart des Big Data disponibles aujourd’hui sont dans un format non
structuré, il est tout à fait logique d’intégrer la base de données NoSQL Cassandra
pour les applications Hadoop. C’est une autre raison pour laquelle Cassandra a été
largement déployé. Il est possible de déployer les opérations de lecture et d’écriture
des jobs MapReduce dans la base de données Cassandra. Il est également possible
de déployer Apache Pig pour l’interrogation et le stockage de données dans la base
de données NoSQL Cassandra.
Téléchargement