Размер SQL Server
Мне нужно создать дизайн, отвечающий следующим требованиям для системы купонов
- купоны будут выдаваться каждые 6 недель
- каждый выпуск даст около 90 млн. купонов
- Запись экземпляра купона может быть удалена, когда ей исполнилось 6 месяцев
- общая сумма купонов около 380м
- приблизительно 3500 запросов на погашение (чтение / запись) в минуту + 1500 запросов на проверку (только чтение) в минуту
- должен поддерживать соединения из поместья около 3000 POS
- дБ должен предоставить суб 0,5 секунды ответа
Мне нужно пойти с SQL Server 2008r2 64bit. Достаточно ли будет 16 ГБ и 8CPU? Как вы думаете, мне нужно также использовать разбиение таблицы?
Спасибо
Роб.
3 ответа
Я оставлю свой ответ на аппаратной части:
По сути, SQL Server пытается полностью сохранить базы данных в ОЗУ и часто опрашивает систему, чтобы узнать, доступна ли ОЗУ, и начинает только выгружать данные (не совсем верно, редко используемые таблицы также могут быть выгружены на диск AFAIK) при запуске. из свободной памяти. Если вы можете немного оценить размер вашей базы данных, постарайтесь получить как можно больше оперативной памяти, чтобы полностью разместить вашу базу данных в оперативной памяти, а затем еще немного. Если это невозможно (или лучше: сделайте это также), попробуйте получить подсистему быстрого ввода-вывода и распределить файлы db по нескольким дискам, как также предлагалось.
- Ваш дизайн и индексы будут гораздо важнее
Без этого у вас будут проблемы независимо от того, что вы делаете - Я бы добавил больше оперативной памяти
- Ваша настройка диска важна: отдельные данные /logs/tempdb
- Разбиение может быть полезным, но не обязательным: отдельный дисковый массив на раздел был бы лучше
Достаточно ли будет 16 ГБ и 8CPU?
Да, но это все равно что подбирать машину по модели радио.
Гораздо более важным фактором для транзакционных баз данных всегда была разметка диска и скорость. Например, вы нажали 3500 изменяющихся переходов в секунду (пишет через погашения). 15-килограммовый накопитель SAS хорош только для 450 IOPS. Банк - вот проблема. Ваш процессор даже не потеет от этого, а оперативной памяти даже нет в игре.
Поэтому гораздо важнее очень быстрая подсистема ввода-вывода.