Я ищу подходящую среду хостинга для приложения ASP.NET MVC. Один из вариантов, который у меня есть, - это аренда сервера Hyper-V и установка на него лицензии SQL Server 2008. Я немного опасаюсь виртуального хостинга, поскольку тот, который я пробовал до сих пор, не имел очень стабильной производительности.
Одна из потенциальных проблем заключается в том, что я не очень разбираюсь в администрировании SQL Server, поэтому не уверен, что это хороший вариант. Я использую отказоустойчивый кластер из двух выделенных серверов Linux более 5 лет, и MySQL никогда не доставлял мне никаких проблем. Но это был Linux, а с системой Windows все могло быть иначе.
Сложно ли запустить наполовину эффективный MS SQL Server 2008? Требуются ли для этого какие-либо глубокие административные знания? Или, возможно, периодические усилия по администрированию (например, поддержание сервера в актуальном состоянии с использованием последних исправлений)? Или это скорее «установил и забыл», похожий на MySQL?
Если вы думаете, что MYSQL - это возможность «установить и забыть», SQL 2008 должен быть относительно легким делом. Хотя есть исправления, большинство администраторов баз данных устанавливают их (если считают, что они им необходимы) в запланированное время.
Сложно ли запустить наполовину эффективный MS SQL Server 2008?
Только один? Не совсем ИМО.
Требуются ли для этого какие-либо глубокие административные знания?
Если у вас есть MySql, значит, у вас есть понимание концепций базы данных и тому подобное, вам просто нужно узнать, как Windows / SQL Server делает что-то (что иногда может быть задачей). Но это не так уж сложно, и информации существует огромное количество.
Или, возможно, периодические усилия по администрированию (например, поддержание сервера в актуальном состоянии с использованием последних исправлений)?
Вам нужно будет исправить ОС, если вы хотите, чтобы все было в актуальном состоянии, как любая ОС, а также SQL Server. Это можно сделать автоматически в указанное вами время или вручную. Планы обслуживания могут многое делать автоматически и на стороне базы данных.
Я весь опыт Windows / SQL Server, поэтому я не могу сказать, насколько это сложнее по сравнению с вашими прошлыми решениями, но могу сказать вам, что на протяжении многих лет SQL Server не был моей самой большой головной болью на моем сервере. среды.
арендовать сервер Hyper-V и установить на него свою лицензию SQL Server 2008.
Если у вас нет лицензии на процессор, вы не можете предоставить лицензированный SQL Server для использования из Интернета для приложения ASP. Лицензии CAL использовать нельзя, так как вы будете мультиплексировать неограниченное количество пользователей. Возможно, вам будет лучше хостинг у поставщика, который договорился о корпоративной лицензии с MS и сдает вам в аренду лицензированный SQL, например виртуальную машину EC2 с SQL в ней.
Что касается сложности администрирования: практически ничего из ваших ноу-хау об администрировании ОС не переносится на SQL. Некоторые концепции частично совпадают (например, резервное копирование, безопасность, мониторинг производительности), но на самом деле только как концепция. SQL Server имеет собственную модель восстановления / резервного копирования, собственную модель безопасности (существенно отличается от ОС), собственную инфраструктуру планирования заданий и собственные концепции производительности. Вот некоторые примеры различий:
Это всего лишь несколько примеров, но суть в том, что администрирование SQL Server - это другой набор навыков, на который будут перенесены некоторые из ваших предыдущих навыков администрирования ОС. Я не могу сказать, сложно это или легко. Если вы не знаете, что делать или где искать, будет крайне сложно. Я бы посоветовал вам заранее приобрести хорошую книгу об администрировании SQL.
SQL Server легко администрировать, но он все еще требует администрирования. Это включает как минимум:
Кроме того, настройте автоматическое обслуживание в SQL Server (например, еженедельные проверки базы данных и т. Д.).
Из всех баз данных лучше всего администрировать SQL Server.
Тем не менее, вы потенциально на плохом пути:
Пример проблемы ввода-вывода:
В зависимости от того, как вы запускаете Hyper-V в качестве хоста, у вас может быть «сервер среднего размера» (8-12 процессорных ядер, в основном двухпроцессорная платформа Opteron) с 32-64 ГБ оперативной памяти, которую вы загружаете с помощью виртуальных машин. Диски - хм - возможно, пара больших дисков по 1 ТБ в RAID. Либо от 2x1 ТБ до 2x2 ТБ с зеркалированием, либо три в RAID 5 (дешево). Производительность? Достаточно хорош для большинства вещей. Дб мудрый? ТУПОЙ СОСЕТ НИЗКИЙ IO. Вы не стали бы делать это только для одной службы SQL, но здесь она используется всеми экземплярами Hyper-v ... и их будет много.
Моя собственная настройка (просто для сравнения):
Уже намного лучше и дороже. Но это НЕ заканчивается.
Ergo: У меня есть все необходимое (и мне нужно) для выполнения операций ввода-вывода. Хотя это не типичная недорогая установка виртуального сервера Hyper-V.
Будьте осторожны с вашими потребностями и тем, что вы получаете в качестве сервера Hyper-V. БОЛЬШИНСТВО предлагает сделать БАД серверы баз данных. Однако это не актуально для небольшого сервера.
Я думаю, что это очень сложный вопрос, потому что он настолько субъективен.
У меня есть экспресс-установки sql, которые я никогда не трогаю, кроме патчей, которые были установлены в течение нескольких лет.
У меня есть установки SQL 2000 и SQL 2005, к которым я регулярно прикасаюсь. Я создаю для них пакеты DTS / SSIS. Я постоянно выполняю запросы, проверяю резервные копии и т. Д. Хотя это транзакционные БД большого объема ...
Я не совсем уверен, что на ваш вопрос можно ответить без вашей конкретной информации.