Quelles sont les différences entre un nœud d'un cluster et un centre de données dans une base de données nosql cassandra?
Je suis en train de dupliquer les données dans une base de données nosql cassandra pour un projet d'école à l'aide de datastax ops center. De ce que j'ai lu, il y a trois mots clés: cluster, nœud, et de centre de données, et de ce que je comprends, les données d'un nœud peut être dupliqué dans un autre nœud, qui existe dans un autre cluster. Et tous les nœuds qui contient les mêmes (dupliqué) données composer un centre de données. Est ce que le droit?
Si elle ne l'est pas, quelle est la différence?
Vous devez vous connecter pour publier un commentaire.
La hiérarchie des éléments de Cassandra est:
Un Cluster est un ensemble de Centres de Données.
Un Centre de Données est une collection de supports.
D'une grille est un ensemble de Serveurs.
Un Serveur contient 256 noeuds virtuels (ou vnodes) par défaut.
Un vnode est le stockage de données de la couche à l'intérieur d'un serveur.
Remarque: Un serveur est le Cassandra logiciel. Un serveur est installé sur une machine, d'où une machine est un serveur physique, une instance EC2, ou similaire.
Maintenant, pour répondre spécifiquement à vos questions.
Une unité de données est appelé une partition. Et oui, les partitions sont répliquées sur plusieurs nœuds. Chaque copie de la partition est appelée une réplique.
Dans un multi-centre de données de cluster, la réplication est par le centre de données. Par exemple, si vous avez un data center de San Francisco nommé dc-sf et un autre à New York nommé dc-ny ensuite, vous pouvez contrôler le nombre de répliques par centre de données.
Comme un exemple, vous pouvez définir dc-sf 3 répliques et dc-ny avoir 2 répliques.
Ces chiffres sont appelés le facteur de réplication. Vous spécifiquement dire dc-sf est un facteur de réplication de 3 et dc-ny a un facteur de réplication de 2. En termes simples, dc-sf aurait 3 copies des données réparties sur trois vnodes, bien que le dc-sf aurait 2 copies de la dispersion des données sur deux vnodes.
Alors que chaque serveur dispose de 256 vnodes par défaut, Cassandra est assez intelligent pour choisir vnodes qui existent sur les différents serveurs physiques.
Pour résumer:
nodetool ring
pour afficher le nœud de jetons dans votre cluster. Il va rendre les concepts clair pour vous, surtout si vous êtes confus par des informations contradictoires sur internet.Un nœud est une machine qui fonctionne Cassandra. Une collection de noeuds de la tenue des données similaires sont regroupés dans ce qui est connu comme un "anneau" ou cluster.
Parfois, si vous avez beaucoup de données, ou si vous servant des données dans les différentes zones géographiques, il est logique de regrouper les nœuds de votre cluster dans les différents centres de données. Un bon cas d'utilisation de ce est pour un site e-commerce, qui peuvent avoir de nombreux clients fréquents sur la côte est et la côte ouest. De cette façon, vos clients, sur la côte est de se connecter à votre côte est DC (pour des performances plus rapides), mais en fin de compte ont accès à la même base de données (à la fois les cd sont dans le même cluster) que les clients de la côte ouest.
Plus d'informations sur ce qui peut être trouvé ici: Sur Apache Cassandra - Comment Cassandra travail?
Proche, mais pas nécessairement. Le niveau de la duplication des données que vous avez est déterminé par votre facteur de réplication, qui est fixé sur un par-clés de base. Par exemple, disons que j'ai 3 nœuds dans mon seul contrôleur de domaine, tout stockage de 600 GO de données sur les produits. Mon
products
clés définition pourrait ressembler à ceci:Cela permettra d'assurer que mon produit les données sont répliquées de manière égale à tous les 3 nœuds. La taille de ma totale du jeu de données est de 600 GO, dupliqué sur tous les 3 nœuds.
Mais disons que nous sommes en train d'-une nouvelle, assez large gamme de produits, et j'estime que nous allons avoir un autre de 300 go de données, ce qui peut augmenter la capacité max de nos disques durs. Si nous ne pouvons pas nous permettre de mettre à niveau l'ensemble de nos disques durs maintenant, je peux modifier le facteur de réplication comme ceci:
Cela va créer 2 copies de l'ensemble de nos données, et de les stocker dans notre groupe actuel de 3 nœuds. La taille de notre base de données est maintenant 900 GO, mais il n'y a que deux copies (chaque nœud est essentiellement responsable des 2/3 des données) notre taille sur le disque est encore 600 GO. L'inconvénient, c'est que (en supposant que j'lire et à écrire à un niveau de consistance de
ONE
) je ne peut se permettre de subir une perte de 1 nœud. Alors qu'avec 3 noeuds et d'une RF de 3 (de nouveau de la lecture et de l'écriture à la cohérenceONE
), j'ai pu perdre 2 nœuds et de servir les demandes.Modifier 20181128
Si réelle explication rapide: serveur == nœud
De faire une demande contre les nœuds de votre cluster, ce comportement est en fait dictées par le conducteur sur le côté application. En fait, le conducteur conserve une copie de la topologie du réseau actuel, tel qu'il se lit le cluster potins similaire à la façon dont les nœuds ne.
Sur le côté application, vous pouvez définir une stratégie d'équilibrage de charge. Plus précisément, le TokenAwareLoadBalancingPolicy classe d'examiner la clé de partition de chaque demande, la figure qui nœud(s) a données, et d'envoyer la demande directement là-bas.
Pour les autres stratégies d'équilibrage de charge, ou pour les requêtes où une seule partition de la clé ne peut pas être déterminé, la demande sera envoyée à un seul nœud. Ce nœud va agir comme un "coordinateur." Ce nœud sera de gérer le routage des demandes pour les nœuds responsables pour eux, ainsi que de la compilation/le retour de tout les jeux de résultats.
Nœud:
Une machine qui stocke une partie de l'ensemble de votre base de données. Cela pourrait inclure des données répliquées à partir d'un autre nœud ainsi que ses propres données. Quelles données il est responsable est déterminé par jeton de plages, et de la stratégie de réplication de l'espace contenant les données.
Centre de données:
Une logique de regroupement de Nœuds qui peuvent être séparés les uns des autres nœuds. Une utilisation courante de cas est AWS-EST vs AWS-OUEST. La réplication
NetworkTopologyStrategy
est utilisé pour spécifier la façon dont de nombreuses répliques de l'ensemble de l'espace doit exister dans tout centre de données. C'est de cette façon Cassandra aux utilisateurs de réaliser de la croix-dc réplication. En outre, leur sont la Cohérence au Niveau des politiques qui n'ont besoin de reconnaissance seulement dans le Datacenter de la coordonnateur (LOCAL_*
)Cluster
La somme totale de toutes les machines de votre base de données, y compris tous les centres de données. Il n'y a pas de contre-cluster de réplication.