Clustering dans nosql
Bases de données NoSQL sont bien adaptés à de très grands ensembles de données. Clones Bigtable comme HBase ne font pas exception. Vous aurez probablement à utiliser plusieurs serveurs de matières premières bon marché dans un cluster unique plutôt qu'une machine très puissante. Ceci est parce que vous pouvez obtenir une meilleure performance globale pour un dollar en utilisant de nombreux serveurs des produits de base, plutôt qu'un seul, puissant serveur beaucoup plus coûteux.
En plus d'être capable d'évoluer rapidement, serveurs de matières premières peu coûteuses peuvent également rendre votre service de base de données plus résistants et donc aider à éviter les défaillances matérielles. C'est parce que vous avez d'autres serveurs pour prendre en charge le service si la carte mère d'un serveur unique échoue. Cela ne veut pas le cas avec un seul gros serveur.
La figure montre une configuration hautement disponible HBase avec un exemple de données réparties entre les serveurs.
Le diagramme montre deux noeuds (HRegionServers) dans une configuration hautement disponibles, chacun agissant comme une sauvegarde pour l'autre.
Dans de nombreuses configurations de production, vous voudrez peut-être au moins trois noeuds pour la haute disponibilité pour assurer deux pannes de serveur proches dans le temps à l'autre peut être manipulé. Ce ne sont pas aussi rares que vous ne le pensez! Conseils varie selon Bigtable- par exemple, HBase recommande cinq nœuds comme un minimum pour un cluster:
Chaque serveur de région gère son propre jeu de clés.
Concevoir une clé # 8208 stratégie d'allocation ligne est importante car elle dicte la façon dont la charge est répartie sur la grappe.
| Chaque région possède son propre journal d'écriture et en magasin # 8208-mémoire.
Dans HBase, toutes les données sont écrites dans un magasin de # 8208-mémoire, et plus tard de ce magasin est écrit sur le disque. Sur disque, ces magasins sont appelés de stocker des fichiers.
HBase interprète de stocker des fichiers comme des fichiers simples, mais en réalité, ils sont distribués dans les morceaux à travers un système Hadoop Distributed File (HDFS). Cette offre pour une grande acquisition et la vitesse de récupération, car toutes les grandes opérations d'E / S sont réparties sur de nombreuses machines.
Afin de maximiser la disponibilité des données, par défaut, Hadoop gère trois copies de chaque fichier de données. Les grandes installations ont
Une copie primaire
Une réplique dans le même rack
Un autre réplique dans un autre rack
Avant Hadoop 2.0, Namenodes ne pouvait pas être hautement disponible. Ceux-ci ont maintenu une liste de tous les serveurs actifs dans le cluster. Ils étaient, par conséquent, d'un point de défaillance unique. Depuis Hadoop 2.0, cette limite ne existe plus.