2010-10-02 5 views

ответ

15

На поверхности, они имеют много общих черт:

  • схемы свободных данных модель
  • Распределенная конструкция
  • Map-Уменьшить как модель обработки (в отличие от SQL)

Однако детали того, как реализована каждая из этих точек, отличаются друг от друга и имеют очень мало сходства. Я легко пойду по точкам.

Schema-Free Data-модель:

  • CouchDB является магазин документа, что позволяет хранить любой документ в формате JSON.
  • HBase - это хранилище столбцов, в котором вы храните значения столбцов и можете группировать эти значения в строку (очень упрощенное объяснение).

Distributed Design:

  • CouchDB использует дизайн равный-равному для распространения данных.
  • HBase использует главные узлы, которые определяют, где записываются столбцы и строки. (опять упрощенное объяснение).

Map-Reduce:

  • CouchDB имеет встроенный механизм, называемый "вид", который позволяет определить встроенной карты, сократить рабочие места. Эти «представления» генерируют «таблицу», содержащую вывод задания сокращения карты, который затем можно использовать так же, как и обычную таблицу. Подобно материализованным представлениям в реляционных базах данных.
  • HBase не имеет встроенного механизма уменьшения карты. Скорее всего, вы можете подключить HBase с помощью Hadoop для выполнения задач Map-Reduce. То, что вы делаете с результатом, не зависит от HBase, вы можете импортировать данные или переходить в другую базу данных.

Я попытался не вдаваться в подробности, и надеюсь, что я объясню, чтобы дать вам понимание.

Kristóf Kovács создал приличные overview of the features этих баз данных и другие в поле NoSQL.

5

У них нет ничего общего. CouchDB - это база данных, а Hadoop - это распределенная инфраструктура обработки.

Вместо этого вы должны сравнивать AdvchDB и Hbase/Hive (которые основаны на Hadoop).

Так что я думаю, что этот старый вопрос должен получить вас на пути: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, what do they have in common?

+0

Спасибо Niels, но я ищу более подробное сравнение этих двух специально – zotherstupidguy

+0

. Я добавил дополнительную информацию. –