Avantages, inconvénients et goulot d'étranglement des performances de HBase
L'architecture HBase a toujours "Point de défaillance unique", et aucun mécanisme de gestion des exceptions n'y est associé.
Ici, nous apprendrons quels sont les avantages et les inconvénients de HBase et les goulots d'étranglement en termes de performances :
Goulots d'étranglement en matière de performances dans HBase
- Dans n'importe quel environnement de production, HBase fonctionne avec un cluster de plus de 5000 nœuds, seul Hmaster agit en tant que maître de tous les serveurs de région esclaves. Si Hmaster tombe en panne, il ne peut être récupéré qu'après une longue période. Même si le client est capable de se connecter au serveur régional. Avoir un autre maître est possible mais un seul sera actif. Il faudra beaucoup de temps pour activer le deuxième Hmaster si le Hmaster principal tombe en panne. Ainsi, Hmaster est un goulot d’étranglement en termes de performances.
- Dans HBase, nous ne pouvons pas implémenter d'opérations de données croisées ni d'opérations de jointure. Bien sûr, nous pouvons implémenter les opérations de jointure en utilisant MapReduce, ce qui prendrait beaucoup de temps à concevoir et à développer. Les opérations de jointure de tables sont difficiles à réaliser dans HBase. Dans certains cas d'utilisation, il est impossible de créer des opérations de jointure liées aux tables présentes dans HBase
- HBase nécessiterait une nouvelle conception lorsque nous souhaitons migrer des données de sources externes SGBDR vers des serveurs HBase. Cependant, ce processus prend beaucoup de temps.
- HBase est vraiment difficile à interroger. Nous devrons peut-être intégrer HBase avec certains SQL des couches comme Apache Phoenix où nous pouvons écrire des requêtes pour déclencher les données dans HBase. C'est vraiment bien d'avoir Apache Phoenix au-dessus de HBase.
- Un autre inconvénient de HBase est que nous ne pouvons pas avoir plus d’une indexation dans la table, seule la colonne clé de ligne fait office de clé primaire. Ainsi, les performances seraient lentes lorsque nous voulions effectuer une recherche sur plus d'un champ ou autre que la clé de ligne. Ce problème, nous pouvons le résoudre en écrivant du code MapReduce, en l'intégrant à Apache SOLR et avec Apache Phoenix.
- Améliorations lentes de la sécurité pour les différents utilisateurs accédant aux données de HBase.
- HBase ne prend pas complètement en charge les clés partielles
- HBase n'autorise qu'un seul tri par défaut par table
- Il est très difficile de stocker des fichiers binaires de grande taille dans HBase
- Le stockage de HBase limitera les requêtes et les tris en temps réel
- Recherche de clé et recherche de plage en termes de recherche du contenu de la table à l'aide de valeurs clés, cela limitera les requêtes exécutées en temps réel
- L'indexation par défaut n'est pas présente dans HBase. Les programmeurs doivent définir plusieurs lignes de code ou de script pour exécuter la fonctionnalité d'indexation dans HBase
- Cher en termes de configuration matérielle requise et d’allocation de blocs de mémoire.
- Davantage de serveurs doivent être installés pour les environnements de clusters distribués (comme chaque serveur pour NameNode, DataNodes, Gardien de zooet serveurs régionaux)
- En termes de performances, cela nécessite des machines à mémoire élevée
- En termes de coût et de maintenance, il est également plus élevé
Avantages de HBase
Ici, nous apprendrons quels sont les avantages/avantages de HBase :
- Peut stocker de grands ensembles de données sur le stockage de fichiers HDFS et regrouper et analyser des milliards de lignes présentes dans les tables HBase
- Dans HBase, la base de données peut être partagée
- OperaDes tâches telles que la lecture et le traitement des données prendront peu de temps par rapport aux modèles relationnels traditionnels.
- Opérations de lecture et d'écriture aléatoires
- Pour les opérations analytiques en ligne, HBase est largement utilisé.
- Par exemple : dans les applications bancaires telles que la mise à jour des données en temps réel dans les distributeurs automatiques, HBase peut être utilisé.
Inconvénients de HBase
Voici les inconvénients/limites importants de HBase :
- Nous ne pouvons pas nous attendre à utiliser complètement HBase en remplacement des modèles traditionnels. Certaines fonctionnalités des modèles traditionnels ne peuvent pas être prises en charge par HBase
- HBase ne peut pas exécuter des fonctions comme SQL. Il ne prend pas en charge la structure SQL et ne contient donc aucun optimiseur de requêtes.
- HBase est gourmand en CPU et en mémoire avec un accès séquentiel important aux entrées ou aux sorties, tandis que les tâches Map Reduction sont principalement liées aux entrées ou aux sorties avec une mémoire fixe. HBase intégré aux tâches Map-reduce entraînera des latences imprévisibles
- HBase intégré avec pig et Ruche les tâches entraînent des problèmes de mémoire temporelle sur le cluster
- Dans un environnement de cluster partagé, la configuration nécessite moins d'emplacements de tâches par nœud à allouer pour les besoins du processeur HBase.