SQL Server против NoSQL - PullRequest
       1

SQL Server против NoSQL

25 голосов
/ 07 июня 2011

Итак, у меня есть веб-сайт, который в конечном итоге может получить довольно высокий трафик.Моя реализация БД находится в SQL Server 2008 на данный момент.У меня действительно есть только 2 таблицы и несколько сохраненных процедур.Большая часть БД может быть изменена таким образом, чтобы она работала без присоединения (хотя было бы бессмысленно, если бы я мог так легко объединиться в SQL Server).

Я слышал, что такие сайты, как Digg и Facebook, используют базы данных NoSQL длямного их основного доступа к данным.Стоит ли задуматься об этом, или SQL Server на самом деле не так сильно меня затормозит?

Я использую пейджинг на своем сайте (хотя это может измениться в будущем), а также использую доступ к данным AJAX.для большинства «живых» вещей, так что на данный момент это не является помехой для производительности, но я боюсь, что это произойдет, когда данные начнут экспоненциально расширяться.

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

Спасибо, ребята.

Ответы [ 4 ]

43 голосов
/ 07 июня 2011

На самом деле Facebook использует реляционную базу данных по своей сути, см. Основной доклад SOCC: Создание Facebook: производительность в массовом масштабе . Как и многие другие веб-сайты, см. Почему Quora использует MySQL в качестве хранилища данных вместо NoSQL, таких как Cassandra, MongoDB, CouchDB и т. Д.? . Также обсуждается, как масштабировать SQL Server до размера веб-масштаба, см. Как крупномасштабные сайты и приложения остаются основанными на SQL? , который основан на архитектуре MySpace (подробнее на Масштабируйте SQL Server с помощью надежного обмена сообщениями ). Я не говорю, что NoSQL не имеет своих вариантов использования, я просто хочу отметить, что существует много оттенков серого между белым и черным.

Если вы боитесь, что ваше текущее решение не масштабируется, то, возможно, вам следует посмотреть, какие факторы препятствуют масштабируемости вашего текущего решения. Тестовые данные дешевы в производстве, загрузите «экспоненциально увеличенный» объем данных и запустите свой тестовый жгут, посмотрите, где он треснет. Ни одно из решений NoSQL не принесет волшебную готовность к масштабированию, все они требуют от вас понимания того, как эффективно их использовать и правильно их развертывать. И они также требуют от вас тестирования с большими объемами, если вы хотите добиться успеха в масштабе. То же самое для традиционных реляционных решений.

8 голосов
/ 07 июня 2011

Sql Server масштабируется довольно хорошо.Например, Stack Overflow использовал его, чтобы обслуживать вас именно на этой странице.Facebook и Google могут использовать форму nosql, но даже если вы сделаете ее действительно большой, вы вряд ли подниметесь до этого уровня.

7 голосов
/ 07 июня 2011

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

  • Масштабирование данных - SQL работает лучше всего, когда все данные помещаются на одном сервере (до нескольких ТБ). Причина, по которой многие магазины NoSQL не имеют объединения, заключается в том, что они были разработаны так, чтобы не требовать, чтобы все объекты находились на одном сервере.

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

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

  • Упрощенная разработка - если у вас еще нет базы данных SQL и всего кода для ее поддержки, использование хранилища данных без схемы может сэкономить немало времени на разработку.

1 голос
/ 07 мая 2014

Я не думаю, что вам придется перемещать свою базу данных с SQL на NoSQL, если только вы не обслуживаете тысячи данных ТБ. Если вы правильно нормализуете свои таблицы и обслуживаете данные, а также должны установить надлежащий механизм архивирования, он должен работать.

Если у вас все еще есть вопрос, что и как выбрать, чем , отметьте . Давайте предположим, что вы решили перейти на базу данных NoSQL, чем есть много игроков на рынке. Просто взгляните на список , который снова зависит от ваших потребностей и типа имеющихся у вас данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...