В чем разница между Cassandra и CouchDB?


Я смотрю на оба проекта, и я действительно не вижу разницы

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

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

С сайта CouchDB:

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

Что сказал, Я не вижу особых различий между каждого проекта как: методы доступа, письменности и т. д. но чтобы привести пример, когда вы говорите о SOLR или Сфинкс вы знаете, что оба индексаторы с большими различиями, но в конце индексаторы.

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

3 72

3 ответа:

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

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

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

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

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

хорошее обсуждение этой темы можно найти в блоге Джонатана Эллиса по адресу http://spyced.blogspot.com/2008/12/couchdb-not-drinking-kool-aid.html