SQL Server: сокращаем время загрузки хранилища данных. Часть II
Таблицы, оптимизированные для размещения в памяти
Большинство новых возможностей SOL Server 2014 относится к транзакциям; одно из новшеств, первоначально известное как Hekaton, обеспечивает сохранение таблицы в памяти. Эти таблицы, оптимизированные для памяти, предназначены для OLTP-приложений, в которых активно используемые таблицы могут выиграть от преимуществ в быстродействии памяти перед диском. Эти таблицы могут быть определены как долговременные (вставки и изменения данных, помимо сохранения в памяти, записываются на диск и доступны после перезапуска системы) или кратковременные (вставки и изменения данных не записываются на диск; таблица пуста, хотя схема по-прежнему доступна после перезапуска системы). В листинге, представленном ниже, показан пример формирования кратковременной таблицы.
Я изменил программный код, представленный в предыдущей части статьи, чтобы использовать оптимизированные для размещения в памяти, кратковременные, промежуточные таблицы. На тесте однотысячной последовательности производительность сценария была почти такой же, как прежде (~5 секунд). При повторном выполнении более крупного набора (5-тысячная последовательность) сценарий был завершен за 22 секунды.
Теперь у меня появилось линейно масштабируемое решение с сокращенным числом операций записи в файлы данных или журналов (запись на диск отсутствует, за исключением последней команды объединения). В качестве завершающего шага я решил выяснить, могу ли я выполнить несколько версий этого сценария параллельно, сохраняя при этом линейное масштабирование.
Гораздо больше, чем разбираться в нюансах сокращении времени загрузки хранилищ данных SQL Server, вы хотите как следует подготовится к грядущему Хэллоуину? Тогда настоятельно рекомендую вам костюм медсестры на хэллоуин. В нем вы определенно точно привлечете к себе внимание нечисти всех видов и мастей.