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

¿Por qué usar un HBase una mejor opción que el uso de Cassandra con Hadoop?

¿Alguien puede por favor dar una explicación detallada sobre esto?

Gracias

2 Kommentare

  1. 76

    No creo que cualquiera es mejor que los demás, no es solo una o la otra. Estos son sistemas muy diferentes, cada uno con sus fortalezas y debilidades, así que realmente depende de sus casos de uso. Definitivamente pueden ser utilizados en el complemento el uno del otro en la misma infraestructura.

    Para explicar la diferencia mejor que me gustaría tomar prestada una foto de Cassandra: la Guía Definitiva, donde ellos van a través de la TAPA del teorema. Lo que dicen es básicamente para cualquier sistema distribuido, usted tiene que encontrar un equilibrio entre consistencia, disponibilidad y tolerancia a la partición, y sólo se puede satisfacer de manera realista 2 de estas propiedades. Desde que se puede ver que:

    • Cassandra satisface la Disponibilidad y Tolerancia a la Partición propiedades.
    • HBase satisfecho el Consistencia y Tolerancia a la Partición propiedades.

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

    Cuando se trata de Hadoop, HBase es construido en la parte superior de HDFS, lo que lo hace bastante cómodo de usar si usted ya tiene un Hadoop de la pila. También es apoyado por Cloudera, que es un estándar de la empresa de distribución de Hadoop.

    Pero Cassandra también tiene una mayor integración con Hadoop, es decir, Datastax Rápido que está ganando popularidad. Usted puede también ahora de forma nativa los datos del flujo de la salida de una tarea de Hadoop en un Cassandra clúster utilizando algunos Cassandra proporcionado el formato de salida (BulkOutputFormat por ejemplo), ya no estamos en el punto donde Cassandra era sólo un proyecto independiente.

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

    Para poner un poco de color a la imagen, lo he estado usando tanto en mi trabajo en la misma infraestructura, y HBase tiene un fin muy distinto de Cassandra. He usado Cassandra en su mayoría en tiempo real que permite realizar búsquedas rápidamente, mientras que yo he utilizado HBase más pesado ETL trabajos por lotes con baja latencia requisitos.

    Esta es una pregunta que pudiera ser verdaderamente digno de un post en el blog, así que en lugar de ir y me gustaría señalar que un artículo que resume muchas de las claves de las diferencias entre los 2 sistemas. Línea de fondo es que no hay solución superior en mi humilde opinión, y que realmente debe pensar acerca de sus casos de uso para ver qué sistema se adapta mejor.

    • ¿Cómo puede MySql tener disponibilidad en el diagrama? Cómo es la disponibilidad definido? No tiene sentido para mí, creo que usted tiene que elegir entre el C o, no de cualquiera de los 2. codahale.com/you-cant-sacrifice-partition-tolerance
    • Por supuesto, en cada sistema hay un sentido de compromiso, esto es simplemente para ilustrar el deslizamiento de las dependencias. Usted no puede conseguir el 100% de una propiedad, mientras que la retención del 100% de otra propiedad, usted tiene que hacer algunas concesiones. Su artículo se hace la suposición de tolerancia a la partición, así que por supuesto usted no puede tener tanto la coherencia y la disponibilidad con esta suposición. Tomado de el mismo libro, los sistemas de la CA de la línea puede ser, por ejemplo, 2-fase se compromete para las transacciones distribuidas, de modo que el sistema se bloqueará cuando una partición de red se produce.
    • Que significa que no están disponibles cuando la partición se produce, a la derecha? Pero que es el mismo con HBase, así por lo que significaría que HBase es CA. Creo que las bases de datos pueden ser CP o AP pero no de CA. Que la propiedad de la base de datos de CA no está contenida en el CP de la base de datos? Me puedes dar un ejemplo? Si la partición que sucede ¿cuál es la diferencia entre HBase y sharded MySql?
  2. 14

    Tenemos que comparar pros & contras de ambas bases de datos y tomar un puesto de decisión en función de los requisitos empresariales.

    Cassandra

    Pros:

    1. Satisface Disponibilidad & Partición de CAP teoría & consistente final.
    2. Escalable con grandes grupos con un Único Punto de Fallas
    3. SQL como lenguaje para el desarrollo permite a los desarrolladores fácilmente la transición de RDBMS fondo
    4. Cassandra ha excelente de una sola fila de rendimiento de lectura mientras eventual coherencia semántica son suficientes para los casos de uso
    5. El apoyo de Datastax es un gran ventaja
    6. Optimizado para escribe

    Contras:

    1. No admite el Rango fila de base-exploraciones
    2. No admite Atómica Comparar y Establecer
    3. Cassandra no admite el co-procesador functionality`
    4. Cassandra apoya índices secundarios en la columna de las familias en donde el nombre de la columna es conocido. (No en la dinámica de las columnas).
    5. Agregaciones en Cassandra no son compatibles con los nodos de Cassandra

    HBase

    Pros:

    1. Consistencia fuerte y cumple Consistencia & Partición de CAP teoría.
    2. RDBMS equivalente desencadena & almacena procedimientos
    3. Hadoop apoyo
    4. El rango Fila de base de exploraciones
    5. Apoyo Atómica Comparar y Establecer
    6. Optimizado para lee, apoyado por solo escribir master
    7. Apoyo para Agregación
    8. Alta escalabilidad & automática de Datos fragmentación

    Contras:

    1. Carece de un lenguaje adecuado para el desarrollo
    2. No admite la Lectura de Equilibrio de Carga de en contra de una sola fila
    3. Entre hileras operaciones son no atómica
    4. Punto único de fallo si sólo uno de HBase Maestro ha sido utilizado

    Echar un vistazo a artículo 1 , artículo 2 y este presentación para más detalles.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea