Domanda
Ci sono delle somiglianze tra questi due?
Soluzione
In superficie, condividono molte somiglianze:
- Schema-libera-modello di dati
- di progettazione distribuiti
- Map-Reduce come l'elaborazione di modelli (al contrario di SQL)
Tuttavia, i dettagli di come ciascuno di questi punti sono implementate sono molto diverse, e condividere molto poco somiglianze. Io leggermente andare oltre i punti.
Schema-Free Data-Modello:
- CouchDB è un archivio di documenti, che consente di memorizzare qualsiasi documento in formato JSON.
- HBase è un negozio colonna orientato, in cui si memorizzano i valori di colonna e sono in grado di raggruppare tali valori in una fila (spiegazione molto semplice).
Distributed Design:
- CouchDB utilizza un design peer-to-peer per la distribuzione dei dati.
- HBase usi maestri nodi che dettano in cui le colonne e le righe sono scritte. (Spiegazione semplicistica di nuovo).
Map-Reduce:
- CouchDB ha un built-in meccanismo chiamato "viste", che consente di definire mappa-ridurre i posti di lavoro integrati. Queste "vedute" generano un "tavolo" che contiene l'uscita della mappa-ridurre lavoro, che è quindi possibile utilizzare proprio come si farebbe con un tavolo normale. Simile a viste materializzate in database relazionali.
- HBase non ha un built-in mappa-ridurre meccanismo. Piuttosto, si è in grado di collegare HBase con Hadoop per eseguire la mappa-Ridurre posti di lavoro. Che cosa potete fare con il risultato è indipendente da HBase, è possibile importare i dati o spostare in un altro database.
Ho tentato di non entrare nei dettagli, e spero quello che ho spiegato è sufficiente per darvi una comprensione.
Kristóf Kovács ha creato una decente panoramica delle funzioni di questi database, più altri nel campo NoSQL.
Altri suggerimenti
Non hanno nulla in comune. CouchDB è un database e Hadoop è un framework di elaborazione distribuita.
Si dovrebbe essere confrontando CounchDB e HBase / Hive (che sono basati su Hadoop), invece.
Quindi penso che questa domanda più anziani dovrebbe ottenere sulla strada: bigtable vs cassandra vs SimpleDB vs Dynamo vs CouchDB vs Hypertable vs Riak vs HBase, che cosa hanno in comune?
Questo è un paragone un bene per un sacco di sapori NoSQL: http: //kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis