- 16, May 2024
- #1
Ежемесячно у нас есть множество временных расчетов, которые в общей сложности занимают 4 дня. Мы не можем изменить так много сценариев, поэтому я ищу конфигурационное/аппаратное решение.
Фон
Это не процесс ETL, потому что мы создаем биты информации как минимум из 10 приложений (поэтому я бы назвал это вычислениями или множеством операторов обновления). Эта комбинация информации является лишь одним из этапов более крупного процесса, который в конечном итоге сохраняет рассчитанные данные с помощью обычного процесса ETL (SSIS) в хранилище данных.
Если на этом этапе расчета произойдет сбой (падение сервера), мы легко сможем его перезапустить.
Проблема Сервер MSSQL, на котором выполняется этот расчет, имеет только 2 HDD-raid1. Один RAID1 для данных, индексов и базы данных tempdb и один для журнала.
Эти вычисления производят так много операций ввода-вывода, что весь процесс занимает несколько дней.
На сервере установлено 180 ГБ рома, и теоретически все данные и результаты этих вычислений могут поместиться только в 5 ГБ памяти.
Это означает, что мы неправильно используем базу данных/ресурсы.
Возможное решение Я думаю, что нам нужно в первую очередь сократить объем ввода-вывода, а также обрабатывать тот ввод-вывод, который в любом случае необходим, на втором этапе. Кстати, сервер — MSSQL 2014 SE.
Это хорошее решение или вы также можете предложить стандартное решение d.h tempdb для твердотельных накопителей. Любая помощь будет оценена по достоинству. С наилучшими пожеланиями
Фон
Это не процесс ETL, потому что мы создаем биты информации как минимум из 10 приложений (поэтому я бы назвал это вычислениями или множеством операторов обновления). Эта комбинация информации является лишь одним из этапов более крупного процесса, который в конечном итоге сохраняет рассчитанные данные с помощью обычного процесса ETL (SSIS) в хранилище данных.
Если на этом этапе расчета произойдет сбой (падение сервера), мы легко сможем его перезапустить.
Проблема Сервер MSSQL, на котором выполняется этот расчет, имеет только 2 HDD-raid1. Один RAID1 для данных, индексов и базы данных tempdb и один для журнала.
Эти вычисления производят так много операций ввода-вывода, что весь процесс занимает несколько дней.
На сервере установлено 180 ГБ рома, и теоретически все данные и результаты этих вычислений могут поместиться только в 5 ГБ памяти.
Это означает, что мы неправильно используем базу данных/ресурсы.
Возможное решение Я думаю, что нам нужно в первую очередь сократить объем ввода-вывода, а также обрабатывать тот ввод-вывод, который в любом случае необходим, на втором этапе. Кстати, сервер — MSSQL 2014 SE.
- Переместите базу данных tempdb на виртуальный ром-диск (около 40 ГБ). Это значит, что мы переместим основной ввод-вывод в память, верно?
- Используйте больше временных таблиц, чтобы сократить время ведения журнала сервера и восстановления, а также используйте новый ром-диск (действительно меньше журналов?)
- Поместите логи, индексы и важные таблицы на новый SSD-рейд5.
- Все остальные данные поместите на старые HDD-диски.
Это хорошее решение или вы также можете предложить стандартное решение d.h tempdb для твердотельных накопителей. Любая помощь будет оценена по достоинству. С наилучшими пожеланиями