Каковы должны быть соображения для выбора SQL/NoSQL? [закрытый]

19
задан Pascal Thivent 13 March 2010 в 21:33
поделиться

4 ответа

Для меня у вас нет особых проблем. Если вам нужна ACIDity, используйте базу данных; если нет, то это не имеет значения. В конце просто создайте свое приложение. И позвольте мне процитировать NoSQL: Если бы это было так просто :

На самом деле следует отметить, что если вас удерживают от создания чего-то супер-крутого, потому что вы не можете выбрать базу данных, Ты делаешь это неправильно. Если вы знаете mysql, просто использовали его. Оптимизируйте, когда вам действительно нужно. Используйте его как магазин k / v, используйте его как rdbms, но, ради бога, создайте свое убийственное приложение! Все это не имеет значения для большинства приложений. Facebook по-прежнему много использует MySQL. Википедия очень часто использует MySQL. FriendFeed много использует MySQL. NoSQL - отличный инструмент, но он, безусловно, не будет вашим конкурентным преимуществом, он не сделает ваше приложение популярным, и, что самое главное, вашим пользователям плевать на все это.

17
ответ дан 30 November 2019 в 04:52
поделиться

Когда вы говорите, что модель данных довольно проста, это может говорить в пользу варианта NoSQL.

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

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

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

Буферизация также может быть выполнена с помощью простого прокси-сервера ...

При возникновении трудностей можно также рассмотреть возможность сочетания NoSQL и SQL.

0
ответ дан 30 November 2019 в 04:52
поделиться

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

Проще говоря, Cassandra - это распределенная база данных с моделью данных BigTable , работающая на подобной Dynamo инфраструктуре. Он ориентирован на столбцы и позволяет хранить относительно структурированные данные. Он имеет полностью децентрализованную модель; все узлы идентичны, и нет единой точки отказа. Кроме того, он чрезвычайно отказоустойчив; данные реплицируются на несколько узлов и между центрами обработки данных. Кассандра также очень эластична; пропускная способность чтения и записи линейно увеличивается по мере добавления новых машин.

1
ответ дан 30 November 2019 в 04:52
поделиться

Мне понравилось эмпирическое правило Яна Эра: «Если вы развертываете memcache поверх своей базы данных, вы изобретаете свою собственную специальную, сложную в обслуживании систему NoSQL».

http://www.rackspacecloud.com/blog/2010/02/25/should-you-switch-to-nosql-too/

1
ответ дан 30 November 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: