Я использую SQL Server, работающий на виртуальной машине Azure с 8 твердотельными накопителями.Твердотельные накопители сгруппированы в дисковых пространствах как 1 диск — для увеличения емкости, а также для объединения IOPS/пропускной способности. Но часть «объединения IOPS», похоже, просто не работает, насколько я могу судить по всем моим тестам / тестам (хотя часть «объединения пропускной способности» работает). На самом деле, похоже, что производительность SSD (IOPS) лучше на одном отдельном диске, чем на всем виртуальном диске с 8 физическими дисками. Итак, я думаю о том, чтобы просто забыть о дисковых пространствах и разделить свои данные на 8 дисков.
Но как лучше всего это сделать? (У меня нет большого опыта работы с несколькими файлами, файловыми группами, таблицами разделов и тому подобными вещами.)
Просто сделать 8 файлов mdf (по одному на каждом диске) и позволить SQL Server перераспределить данные по всем этим файлам? Если это так, я хотел бы знать, как SQL Server узнает, на каком диске находится данная запись. Это ускорит процесс?
И, может быть, тоже разделить файлы ldf?
Как насчет нескольких файловых групп? Я действительно не знаю, в чем практическая разница между несколькими файлами и файловыми группами.
Как насчет разделения больших таблиц с помощью функции секционирования? Поможет ли это, поскольку теперь, возможно, SQL Server будет «лучше понимать», где (в каком файле) будет данная запись, поскольку это определяется функцией разделения?