Рекомендуется ли использовать SQL Server в качестве базы данных для масштабируемых приложений?

10

Допустим, вы планируете создать веб-сайт масштаба Facebook (если я собираюсь привести название веб-сайта, то почему бы не Facebook ?!). Рекомендуется ли использовать SQL Server в качестве базы данных для таких приложений?

Я задаю этот вопрос, потому что многие мои коллеги говорят, что SQL-сервер не должен использоваться такими приложениями. Вместо этого они предпочитают Oracle или MySQL.

Mayank
источник
1
Используют ли они SQL Server для каких-либо приложений?
Джеффо
5
Я не знаю, является ли SQL-сервер ответом, но Oracle не лучше, чем SQl Server.
Работа
9
Сначала задайте себе вопрос - ваши данные являются реляционными ?
Хенрик
2
Ваш бюджет масштабируем?
sasfrog

Ответы:

10

Да , SQL Server был разработан для интенсивного использования, включая веб. Он может быть настроен на различные конфигурации, такие как экземпляры памяти в сочетании с экземплярами процессора и SAN в качестве хранилища.

Обратитесь к местному интегратору или евангелисту за советом.

Вы можете найти много ресурсов, касающихся возможностей масштабирования SQL Server, в Интернете, и для начала здесь есть хороший пост в блоге от команды SQL Server по этой теме: http://blogs.msdn.com/b/sqlcat/archive/ 2008/06/12 / SQL-сервер масштаб out.aspx

Обязательно проверьте, как Azure предоставляет SQL Server в облаке.


источник
SQL Azure - это не просто «SQL Server в облаке», есть некоторые отличия. Но это, безусловно, приемлемый вариант для большого масштабируемого сайта, и на него стоит обратить внимание.
Барт
Если у вас есть деньги, чтобы бросить на это, то это будет масштабироваться.
Дэвид Нил
3

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

glenatron
источник
Да, ответ принят. Проголосовал. ;)
Хенрик
3

Вы не должны использовать традиционные движки баз данных, если вам нужны действительно масштабируемые возможности.

Традиционные базы данных SQL довольно хорошо масштабируются (вы найдете множество примеров больших сайтов, использующих MySQL, SQL Server или Orcale), но в определенный момент вы достигнете предела масштабируемости. То, когда это произойдет, будет зависеть от уровня спроса, сложности ваших требований к приложениям, того, сколько вы готовы потратить на дорогие серверы, и насколько вы способны оптимизировать использование базы данных. Многие сайты никогда не достигнут этого предела, но если вы это сделаете, то это довольно болезненно, и вы столкнетесь с большой инженерной проблемой, чтобы решить эту проблему.

Помимо этого, вам действительно нужна полностью распределенная база данных NoSQL - например, что-то вроде Cassandra , которая фактически была разработана в Facebook для решения некоторых проблем с большими данными. Базы данных NoSQL явно жертвуют некоторыми традиционными возможностями баз данных SQL (обычно вокруг транзакций, блокировок и возможной согласованности), чтобы обеспечить практически неограниченную горизонтальную масштабируемость.

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

mikera
источник
2

Да. Я считаю, что Microsoft Live.com построен на основе SQL Server.

Будучи фанатом Linux / PostgreSQL, позвольте мне сказать, что вы можете создавать Facebook с помощью любой современной технологии, особенно SQL Server.

Если вы не планируете иметь столько пользователей, сколько Facebook (500 млн.), То этот самый веб-сайт (сеть переполнения стека) построен на основе .Net и SQL Server.

vz0
источник
2

В качестве инструмента вы можете использовать SQL Server, но помните, что сайт, как Facebook, не построен на вершине базы данных. Они используют различные технологии для выполнения этой задачи, просматривают видео Yahoo, чтобы узнать, как Facebook управляет только журналами, и вы поймете, что БД - это только часть огромной масштабируемой архитектуры. При обновлении примерно 10000 строк в секунду я видел, как SQL Server и Oracle DB работают очень медленно после нескольких дней на компьютерах с хорошей конфигурацией. Моя проблема в том, что я не мог использовать распределенные вычисления. Следовательно, важно взглянуть на системы поддержки, которые может предоставить БД или масштабируемая архитектура.

Фанат
источник
2

Я не могу отвечать за MySQL (!), Но у меня есть опыт поддержки клиентов, мы выбираем, использовать ли SQLServer или Oracle. До сих пор мы обнаружили, что, как правило, между ними нет никакой разницы, но когда дело доходит до края, Oracle, безусловно, является лучшим продуктом. Например, в настоящее время мы отключаем нашу критически важную систему 24/7, чтобы очистить загрузку записей, поскольку SQLServer решил, что для выполнения этой задачи потребуется много часов во время работы (в зеркальной среде). У нас были проблемы с доставкой журналов большого набора данных по каналу глобальной сети, которые так и не были полностью решены. Подобные вещи всегда радуют нас поддержкой клиентов, работающих на Oracle, где у нас никогда не было таких проблем.

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

gbjbaanb
источник