Я пытаюсь написать спецификацию для сервера хранилища данных для запланированного обновления хранилища данных.
Поскольку мы запускаем виртуальные серверы на хостах VMWare, у нас есть возможность добавлять или удалять ресурсы по мере необходимости. В прошлом мы постепенно добавляли RAM и CPU по мере необходимости. Поскольку наши требования возросли, мы лоббировали больше ресурсов. (в первую очередь диск и оперативная память).
Мы просим большего. Они дают нам как можно меньше.
Однако в последнее время всякий раз, когда мы говорим о ресурсах, нас сейчас критикуют за то, что мы не указали правильную машину в первую очередь, и теперь мне говорят, что хосты разработчиков исчерпаны, доступной памяти больше нет.
Мы небольшая организация местного самоуправления с ~ 50 постоянными пользователями DW. При обычном ежедневном использовании он работает нормально. Мы получаем хорошую производительность запросов mdx, а наши отчеты и информационные панели работают быстро. Пользователи счастливы.
Однако наши процессы ETL выполняются в течение ночи, и мы начинаем видеть свидетельство нехватки памяти при одновременной обработке датамартов. Прошлой ночью SSIS не удалось с предупреждениями об ошибке «недостаточно памяти».
Наш существующий DW-сервер - это Win 2008 R2 с 4 ЦП и 16 ГБ ОЗУ под управлением SQL 2012 Std. Я установил максимальный объем памяти сервера в 12 ГБ, оставив 4 ГБ для ОС и служб и т. Д. В нашем существующем DW есть 3 куба данных / OLAP, и мы разрабатываем еще 2.
+----------+----------+---------------+-----------+---------------+
| Datamart | Files GB | Fact (Rows) | Fact (Mb) | ETL & Process |
| OLAP cube| | | | Time (hours) |
+----------+----------+---------------+-----------+---------------+
| PBI | 3 | 190,000 | 180 | 0.2 |
| FBI | 30 | 26,100,000 | 10,000 | 1.5 |
| RBI | 175 | 62,000,000 | 32,000 | 8.3 |
| ABI* | 100 | 44,050,000 | 21,000 | 4.0 |
| EBI* | 11 | 100,000,000 | 6,000 | 2.0 |
+----------+----------+---------------+-----------+---------------+
* Planned/Estimated
Планируется, что наш новый сервер будет Win 2012 с SQL 2016 Enterprise. Он будет работать с SQL, SSIS, SSRS и SSAS. Хранение не проблема, но я не уверен насчет оперативной памяти и процессора.
Согласно справочному руководству по хранилищу данных Fast Track для SQL Server 2012 , минимум, который я должен иметь, составляет 128 ГБ для компьютера с двумя сокетами ... что кажется немного чрезмерным. В аппаратному и программному обеспечению для установки SQL Server 2016 рекомендует минимум 4 Гб оперативной памяти для SQL 2016. Это довольно разница!
Итак ... Что является хорошей отправной точкой? 32Gb? 64Gb? Как мне обосновать свою стартовую позицию (спецификацию) для ИТ?
Есть ли хорошие руководства о том, как рассчитать ресурсы сервера?
Есть ли хорошие эмпирические правила?
Каковы ключевые ингредиенты / показатели для определения размера ОЗУ в контексте DW?
- Объем данных?
- Количество кубиков?
- Сколько времени занимает создание ETL или обработка куба?
- Пиковая нагрузка при обработке в течение ночи или производительность, наблюдаемая конечными пользователями в течение дня?