Вопрос зависимости быстродействия системы от размера базы

Здравствуйте, возник вопрос. Чего стоит ждать в следующей ситуации. Заказчик требует хранения опрашиваемых данных в течении 5 лет. Среднее количество точек учета 1000, какой размер носителя потребуется в данном случае и в как это повлияет на быстродействие системы при росте базы

Исходя из требований Майкрософт и большого опыта в работе с SQL Server, могу утверждать следующее - БД при росте размера требует увеличения ресурсов “сервера”, на котором она хранится, тоесть речь идет об объемах ОЗУ и так же советовал бы установить SSD диск, на котором развернуть ОС и хранить файлы mdf БД LERS. Так же советую ознакомится с таким руководством, несмотря на то что статья об 1С, Составление планов обслуживания SQL для нужд 1С: Предприятия 8.х / Habr - данное руководство будет полезно для оптимизации работы.

Сервер SQL хорошо «питается», т.е. объем ОЗУ предоставляемой для работы SQL сервера выбирать из расчёта 70% от размера всех mdf файлов баз данных.

Считайте, каков суммарный объем ОЗУ должен быть установлен на вашей машине. Я к примеру LERS держу на компьютере с 32 гб ОЗУ, выделяя примерно 10-12 гб в разделе лимита SQL. LERS не является какой супер-нагруженной системой, посему какие то еще руководства излишни.

У нас точек учета 2700, средний прирост в день ~ 100мб к размеру БД, носитель SSD установлен небольшого размера, а раздел, на котором хранятся файлы БД = 90 гб, в перспективе хотели установить еще один SSD большего размера ~ 500 гб и хранит там все БД (к примеру, за 3 года Взлет СП при 900х узлах учета накопил объем в БД SQL Server - около 50 гб, LERS уверен будет в таких же рамках, плюс-минус и несмотря на разницу в организации хранения двух систем)

При опросе только месячных, суточных и часовых архивов 1000 точек учета, база за 10 лет занимает примерно 10 ГБ. Опрос архива событий или текущих значений каждый час может увеличить этот размер вдвое.

В нашей рабочей базе (1200 точек учета за 10 лет) данные занимают примерно 12 ГБ, еще 15 ГБ - фотографии объектов. База расположена на отдельном сервере, 8 ядер, 8 ГБ, SQL Server 2008 R2 Standard Edition. На этом же сервере еще десяток других, немаленьких рабочих баз компании.

Для обеспечения быстродействия системы важны 2 вещи: объем оперативной памяти и правильная организация сервера баз данных (ну не нужно держать журнал транзакций вместе с самой базой на RAID-массиве 5-го уровня).

Для работы ЛЭРС УЧЕТ для 1000 объектов достаточно 8 ГБ оперативной памяти - все нужно будет в памяти, а к данным 5-ти летней давности обращаются раз в пятилетку - можно и подождать минуту-две. В идеале объем оперативной памяти сервера баз данных должен быть в 1.2-1.5 раза больше самой базы (кроме самих данных, есть еще транзакции и временные таблицы, которые также выгоднее держать в памяти).

Еще один момент: для быстродействия нужна коммерческая версия SQL Server, т.к. Express редакция, идущая в комплекте с системой, ограничена одним процессором, 1ГБ памяти и 10ГБ диска. Коммерческие редакции обеспечивают параллелизм выполнения больших запросов на всех имеющихся процессорах, иногда это в разы сокращает время выполнения запросов.

Если сервер ЛЭРС УЧЕТ и сервер баз данных располагаются на одном компьютере, то они будут делить ядра процессора - в сервере ЛЭРС УЧЕТ есть 3 выделенных потока, каждый из которых может нагрузить 1 ядро процессора на 100% (расчет архивов и диагностика).