Умный способ оценить, какая база данных NoSQL мне подходит? - PullRequest
3 голосов
/ 08 сентября 2010

В наши дни существует множество баз данных NoSQL:

  • CouchDB
  • MongoDB
  • Cassandra
  • Hadoop

Существует также граница между этими инструментами и инструментами, такими как Redis, которые работают в качестве замены memcached.

Без махания рукой и бросания слишком большого количества модных слов - мой вопрос следующий:

Как можно разумно решить, какой инструмент здесь наиболее целесообразен для их проекта? Достаточно ли похожи проекты, где ответ на этот вопрос субъективен, например: Ruby лучше, чем Python, или Python лучше, чем Ruby? Или здесь мы говорим об яблоках и апельсинах, потому что каждый из них решает разные проблемы?

Какой лучший способ научиться этому новому тренду?

Ответы [ 4 ]

3 голосов
/ 08 сентября 2010

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

Базы данных NoSQL могут быть похожими. SQL - это база данных общего назначения с самым длинным и широким внедрением. В то время как его можно использовать для решения многих задач, программисты начинают использовать NoSQL как базу данных для конкретного домена, когда это более уместно.

2 голосов
/ 08 сентября 2010

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

Например, насколько я знаю Кассандру (и я предполагаю, что Hadoop)основное внимание уделяется крупномасштабным установкам.

MongoDb старается быть лучшей масштабируемой альтернативой классическим серверам SQL, предоставляя сравнительно мощные функции запросов.

Центр внимания CouchDB сравнительно мал (не будетвсе, «только» репликация), высокая стойкость и простота синхронизации данных.

Возможно, вы захотите проверить http://nosql -database.org / для получения дополнительной информации.

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

1 голос
/ 30 декабря 2010

Проверьте этот сайт: http://cattell.net/datastores/ и, в частности, PDF, связанный внизу (документ CACM). Последний содержит превосходное обсуждение относительных достоинств различных решений для хранилищ данных.

0 голосов
/ 05 марта 2011

Это легко.Базы данных NoSQL - это ACID-совместимые базы данных, за исключением некоторых гарантий.Так что просто решите, без каких гарантий вы можете обойтись, и найдите подходящую базу данных.Если вам не нужна долговечность, например, возможно, Redis лучше.Или, если вам не нужны транзакции с несколькими записями, то, возможно, посмотрите на mongodb.

...