В чем разница между Кассандрой и CouchDB? - PullRequest
75 голосов
/ 09 июля 2009

Я смотрю на оба проекта и не вижу разницы

с сайта Кассандры:

Cassandra - это масштабируемое, в конечном итоге непротиворечивое, распределенное, структурированное хранилище значений ключей ... Cassandra в конечном итоге непротиворечива. Как и BigTable, Cassandra предоставляет модель данных на основе ColumnFamily, более богатую, чем типичные системы ключ / значение.

с сайта CouchDB:

Apache CouchDB - это распределенная, отказоустойчивая и не требующая схемы документно-ориентированная база данных, доступная через RESTful HTTP / JSON API.

Тем не менее, я вижу конкретные различия между каждым проектом как: методы доступа, письменные языки и т. Д., Но, если говорить о SOLR или Sphinx , вы можете указать Я знаю, что оба являются индексаторами с большими различиями, но в конце они являются индексаторами.

Могу ли я здесь сказать, что Cassandra и CouchDB являются нереляционными базами данных, которые в некоторых случаях могут заменить другие?

Ответы [ 2 ]

73 голосов
/ 11 июля 2009

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

Cassandra - хранилище значений ключей из рваной таблицы. Он просто хранит строки, каждая из которых имеет набор именованных столбцов, сгруппированных в семейства со значениями. Это звучит довольно близко к BigTable; BigTable не требует, чтобы каждая строка имела одинаковую структуру (в отличие от базы данных SQL). Значения могут иметь некоторую структуру, но хранилище такого типа ничего об этом не знает - это просто последовательности строк / байтов.

Да, обе они являются нереляционными базами данных, и, вероятно, их применимость достаточно перекрывается, но у них действительно разные модели организации данных. Каждая из них, вероятно, может быть вынуждена эмулировать другую, но каждая модель будет лучше всего отображать различные проблемы.

32 голосов
/ 24 сентября 2009

CouchDB имеет функцию, присутствующую в очень немногих технологиях баз данных с открытым исходным кодом: автономная репликация. CouchDB разработан таким образом, чтобы приложения могли работать на границе сети. Эти приложения доступны даже при сбое подключения к Интернету.

Автономная репликация также может быть использована для создания больших кластеров, но CouchDB разработан, чтобы быть надежным и простым, работает ли он на одном сервере, в центре обработки данных или даже на смартфоне.

...