¿Por qué HBase es una mejor opción que Cassandra con Hadoop?


¿Por qué usar HBase es una mejor opción que usar Cassandra con Hadoop?

¿Puede alguien por favor dar una explicación detallada sobre esto?

Gracias

Author: Ravindra babu, 2013-02-19

2 answers

No creo que ninguno sea mejor que los otros, no es solo uno o el otro. Estos son sistemas muy diferentes, cada uno con sus fortalezas y debilidades, por lo que realmente depende de sus casos de uso. Definitivamente se pueden usar en complemento uno del otro en la misma infraestructura.

Para explicar mejor la diferencia me gustaría tomar prestada una imagen de Cassandra: la Guía Definitiva, donde repasan el teorema de la TAPA. Lo que dicen es básicamente para cualquier distribuido sistema, usted tiene que encontrar un equilibrio entre consistencia, availability and partition tolerance, y solo puede satisfacer de manera realista 2 de estas propiedades. De eso se puede ver que:

  • Cassandra satisface las propiedades Availability y Partition Tolerance.
  • HBase satisfizo las propiedades Consistencyy Partition Tolerance.

TAPA

Cuando se trata de Hadoop, HBase es construido sobre HDFS, lo que hace que sea bastante conveniente de usar si ya tiene una pila de Hadoop. También es compatible con Cloudera, que es una distribución empresarial estándar para Hadoop.

Pero Cassandra también tiene más integración con Hadoop, a saber, Datastax Brisk que está ganando popularidad. Ahora también puede transmitir datos de forma nativa desde la salida de un trabajo de Hadoop a un clúster de Cassandra utilizando algún formato de salida proporcionado por Cassandra (BulkOutputFormat, por ejemplo), ya no estamos en el punto donde Cassandra era solo un proyecto independiente.

En mi experiencia, he encontrado que Cassandra es impresionante para lecturas aleatorias, y no tanto para escaneos

Para darle un poco de color a la imagen, he estado usando ambos en mi trabajo en la misma infraestructura, y HBase tiene un propósito muy diferente al de Cassandra. He utilizado Cassandra principalmente para búsquedas muy rápidas en tiempo real, mientras que he utilizado HBase más para trabajos por lotes ETL pesados con requisitos de latencia más bajos.

Esta es una pregunta que realmente sería digno de una entrada de blog, así que en lugar de seguir y seguir me gustaría señalar a un artículo que resume muchas de las diferencias clave entre los 2 sistemas. En pocas palabras, no hay una solución superior en mi humilde opinión, y realmente debe pensar en sus casos de uso para ver qué sistema es el más adecuado.

 77
Author: Charles Menguy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-19 06:46:45

Tenemos que comparar pros y contras ambas bases de datos y tomar una decisión cautelosa dependiendo de los requisitos del negocio.

Cassandra

Pros:

  1. Satisface Disponibilidad & Particiones de de CAP teoría & consistente final.
  2. Escalable con clústeres grandes sin Un Único Punto de Falla
  3. SQL como el lenguaje para el desarrollo permite a los desarrolladores transición desde RDBMS antecedentes
  4. Cassandra tiene excelente rendimiento de lectura de una sola fila siempre que la semántica de consistencia eventual sea suficiente para los casos de uso
  5. El soporte de Datastax es una gran ventaja
  6. Optimizado para escribe

Contras:

  1. No admite Escaneos de filas basados en rangos
  2. No soporta Comparación atómica y Conjunto
  3. Cassandra no soporte coprocesador functionalit y '
  4. Cassandra soporta índices secundarios en familias de columnas donde se conoce el nombre de la columna. (No en columnas dinámicas).
  5. Las agregaciones en Cassandra no son compatibles con los nodos de Cassandra

HBase

Pros:

  1. Consistencia fuertey cumple con Consistencia y particiónde la teoría de CAP.
  2. Equivalente de RDBMS desencadena y almacena procedimientos
  3. Hadoop soporte
  4. Escaneos de filas basados en rango
  5. Soporte Comparación atómica y Conjunto
  6. Optimizado para reads , soportado por single-write master
  7. Soporte para Agregación
  8. Alta escalabilidad y fragmentación automática de datos

Contras:

  1. Carece de lenguaje amigable para el desarrollo
  2. Hace no es compatible con el equilibrio de carga de lectura contra una sola fila
  3. Las operaciones entre filas son no atómicas
  4. Punto único de fallo si solo se ha utilizado un maestro HBase

Echa un vistazo a artículo 1 , article 2 and this presentation for further details.

 14
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-24 18:23:08