Какое хранилище ключ-значение является наиболее подходящим для фонового специалиста по СУБД?

StackOverflow https://stackoverflow.com/questions/1500371

Вопрос

Есть ли явный победитель среди всех хранилищ значений ключей?Кассандра, MongoDB, CouchDB?и все ли они следуют каким-то центральным рекомендациям?или же все они имеют свое собственное мнение при определении своих API.

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

Мы знаем о RDMS из их теорий, что все доступные базы данных (Oracle, SQL Server, ..) будут содержать все артефакты, напримерТаблицы, Индексы, Внешние ключи и т.д.Единственная разница в них - это эффективность, безопасность, функциональные возможности.

Как я могу узнать об универсальной теории этих баз данных, ориентированных на документы, и узнать, каковы минимальные артефакты, которые будут иметь все эти базы данных (Mongo, Couch и т.д.)?

Это было полезно?

Решение

Я работаю на MongoDB, поэтому я предвзят к этому, но я думаю, что это хорошее сочетание того, к чему вы привыкли в СУБД (например, динамических запросов и вторичных индексов), а также производительности и масштабируемости хранилища ключ-значение.

У Cassandra хорошая распределенная модель, но afaik не поддерживает вторичные индексы.Поддержка модели данных документа в Mongo и Couch также обеспечивает немного большую сложность, чем табличная модель, используемая Cassandra.

Одно из больших различий между Mongo и Couch заключается в способе построения запросов.Couch использует классный механизм сопоставления / уменьшения, но ваши запросы должны быть определены заранее.Mongo использует более традиционную модель динамических запросов, которая больше похожа на то, к чему вы привыкли в СУБД.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top