Каковы должны быть соображения по выбору SQL/NOSQL? [закрыто

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

Вопрос

Target Application-это веб-сайт среднего размера, созданный для поддержки от нескольких сотен до нескольких тысяч пользователей в час, а возможность масштабироваться выше. Модель данных довольно проста, а потенциал кэширования довольно высок (соотношение чтения ~ 10: 1 к редактированию действий).

Каковы должны быть соображения при выборе между реляционным, на основе данных на основе SQL к опции NOSQL (например, HBASE и Cassandra)?

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

Решение

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

Настоящая вещь, которую нужно отметить, это то, что если вас сдерживают от того, чтобы сделать что -то супер удивительное, потому что вы не можете выбрать базу данных, вы делаете это неправильно. Если вы знаете MySQL, просто использовал его. Оптимизируйте, когда вам действительно нужно. Используйте его как магазин AK/V, используйте его как RDBMS, но ради Бога, создайте свое приложение для убийцы! Ничто из этого не будет иметь значения для большинства приложений. Facebook по -прежнему использует MySQL, много. Википедия использует MySQL, много. FriendFeed использует MySQL, много. NOSQL - отличный инструмент, но это, конечно, не будет вашим конкурентным преимуществом, оно не сделает ваше приложение горячим, и, прежде всего, ваши пользователи не будут наплевать на это.

Другие советы

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

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

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

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

Когда вы говорите, Data Modell довольно прост, это может говорить для опции NoSQL.

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

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

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

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

На трудностях можно также рассмотреть смесь NOSQL и SQL.

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