Какую базу данных из CouchDB, MongoDB и Redis лучше всего начинать с Node.js? - PullRequest
30 голосов
/ 28 июня 2011

Я получаю больше в Node.js и наслаждаюсь этим. Я больше занимаюсь разработкой веб-приложений.

Я обернул голову вокруг Node.js и сейчас использую Backbone для внешнего интерфейса. Я делаю несколько приложений, которые используют Backbone для связи с сервером, используя RESTful API. В Node.js я буду использовать Express framework.

Я достигаю точки, когда мне нужна простая база данных на сервере. Я привык к PostgreSQL и MySQL с Django , но здесь мне нужно простое хранилище данных и т. Д. Я знаю о CouchDB , MongoDB и Redis , но я просто не уверен, какой использовать?

Подходит ли какой-нибудь из них для Node.js? Любой из них лучше для начинающих, переходя от реляционных баз данных? Мне просто нужно какое-то руководство, чтобы выбрать, я зашел так далеко, но когда дело доходит до такого рода баз данных, я просто не уверен ...

1 Ответ

56 голосов
/ 28 июня 2011

Подходит ли какой-нибудь из них для Узел JS?

Лучше подходит специально для node.js, вероятно, нет, но каждый из них лучше подходит для определенных сценариев, основанных на потребностях вашего приложения или сценариях использования.

Redis - это расширенное хранилище значений ключей и, возможно, самое быстрое из трех решений NoSQL. Помимо базового ключа манипулирования данными, он поддерживает разнообразные структуры данных, такие как списки , наборы , хэши или pub / sub функциональность, которая может быть очень полезна, а именно в статистике или другом безумии в реальном времени. Однако ему не хватает какого-то языка запросов.

CouchDB - это хранилище, ориентированное на документы, которое очень надежно, предлагает MVCC , интерфейс REST, великолепную репликацию систему и карту-уменьшение выполнение запроса. Он может использоваться для широкого спектра сценариев и замены вашей СУБД, однако, если вы используете специальные SQL-запросы, у вас могут возникнуть определенные проблемы с представлениями с уменьшенным отображением.

MongoDB также является документно-ориентированным хранилищем, таким как CouchDB, и поддерживает нерегламентированные запросы, кроме map-Reduce, что, вероятно, является одной из важнейших функций, почему люди, ищущие замену DRBMS, выбирают MongoDB вместо других решений NoSQL.

Любой из них лучше для начинающие, переходя от реляционных базы данных?

Поскольку вы пришли из мира RDBMS и, вероятно, вы привыкли к SQL, то, я думаю, вам следует использовать Mongodb, потому что, в отличие от Redis или CouchDB, он поддерживает специальные запросы и механизм запросов аналогичен SQL. Однако в зависимости от сценариев вашего приложения могут быть области, в которых Redis или CouchDB могут лучше подходить для этой работы.

...