2010-10-02 22 views

Respuesta

15

En la superficie, comparten muchas similitudes:

  • -esquema libre de modelo de datos
  • Distributed diseño
  • Map-Reduce como modelo de procesamiento (en contraposición a SQL)

Sin embargo, los detalles de cómo se implementan cada uno de esos puntos son muy diferentes, y comparten similitudes muy poco. Voy a repasar ligeramente los puntos.

-Esquema de datos fuera-Modelo:

  • CouchDB es un almacén de documentos, que le permite almacenar cualquier documento en formato JSON.
  • HBase es una tienda orientada a columnas, donde almacena valores de columnas y puede agrupar esos valores en una fila (explicación muy simplista).

Diseño distribuida:

  • CouchDB utiliza un diseño de punto a punto para la distribución de datos.
  • HBase utiliza nodos maestros que dictan dónde se escriben las columnas y las filas. (otra vez explicación simplista).

Map-Reduce:

  • CouchDB tiene un mecanismo incorporado llamado "vistas" que le permite definir un mapa incrustado-a reducir puestos de trabajo. Estas "vistas" generan una "tabla" que contiene el resultado del trabajo map-reduce, que luego puede usar tal como lo haría con una tabla normal. Similar a vistas materializadas en bases de datos relacionales.
  • HBase no tiene un mecanismo incorporado de reducción de mapa. Por el contrario, puede conectar HBase con Hadoop para realizar los trabajos Map-Reduce. Lo que haces con el resultado es independiente de HBase, puedes importar los datos o moverte a otra base de datos.

Intenté no entrar en detalles, y espero que lo que he explicado sea suficiente para que entienda.

Kristóf Kovács ha creado una decente overview of the features de estas bases de datos más otras en el campo NoSQL.

5

No tienen nada en común. CouchDB es una base de datos y Hadoop es un marco de procesamiento distribuido.

En su lugar, debe comparar CounchDB y Hbase/Hive (que se basan en Hadoop).

Así que creo que esta pregunta más antigua que debe recibir en el camino: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, what do they have in common?

+0

Gracias Niels, pero estoy buscando una comparación más detallada entre estos dos específicamente – zotherstupidguy

+0

He agregado información adicional. –