Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Внутреннее устройство базы данных MSSQL 2008 R2  [new]
netz
Member

Откуда:
Сообщений: 5
Всем привет!
База данных хранится в виде 20 файлов (см. скрин), каким образом внутри этих файлов хранятся таблицы?
И другой вопрос, если происходит запись в таблицу - данные из этой таблицы распределяются по 20 файлам или они пишутся только в один, в котором лежит таблица и можно ли на это как-то влиять? Где про это можно почитать?

К сообщению приложен файл. Размер - 63Kb
5 июн 12, 09:26    [12665555]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
BOL->Using Files and Filegroups
5 июн 12, 09:30    [12665567]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
netz
Member

Откуда:
Сообщений: 5
Очень хочется сделать чтобы MS SQL строки таблиц размазывал по 20 файлам, в этом случае будет максимальное быстродействие (есть идея хранить файлы на разных дисках, и чтобы нагрузка на диски была одинаковой).
5 июн 12, 09:30    [12665569]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
netz,

И Вы проверили, что узкое место Вашей системы - дисковые операции с файлами данных пользовательской бд?
5 июн 12, 09:32    [12665578]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
netz
Member

Откуда:
Сообщений: 5
pkarklin,

База данных MS SQL будет использоваться для SAP ERP, и ожидается что в ней будет работать от 300 пользователей.
Для ERP есть требования к жестким дискам в плане IOPS, если наиболее часто используемая таблица будет храниться в одной файле из 20 (а сам файл лежит на одном диске) - то понятно что нужный IOPS один жесткий диск выдать не сможет.
5 июн 12, 09:51    [12665660]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5115
netz
то понятно что нужный IOPS один жесткий диск выдать не сможет.
а почему разговор про один диск, а не про дисковый массив?
5 июн 12, 09:54    [12665672]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Судя по Path - у вас все файлы на одном устройстве лежат...
5 июн 12, 09:58    [12665702]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
netz
База данных MS SQL будет использоваться для SAP ERP, и ожидается что в ней будет работать от 300 пользователей.
Для ERP есть требования к жестким дискам в плане IOPS, если наиболее часто используемая таблица будет храниться в одной файле из 20 (а сам файл лежит на одном диске) - то понятно что нужный IOPS один жесткий диск выдать не сможет.


И как это коррелируется с необходимостью 20 файлов данных да еще и в одной файловой группе?
5 июн 12, 10:00    [12665719]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
netz
Member

Откуда:
Сообщений: 5
На скрине была демонстрация что я имел ввиду, что база данных разделена на несколько файлов, не знал как это назвать в терминах MS SQL.

В реальной системе будет использоваться 60 дисков собранные в raid-10 плюс два контроллера (IBM System Storage DS3512 Express Dual Controller Storage System), проблема в том, что IBM рекомендует для 60 дисков создавать 6 raid-массивов, по 3 рейд-массива для каждого из контроллеров для балансировки нагрузки.

По сути получается 6 логических дисков которые будет видеть операционная система.

Почитал BOL, чтобы записи в таблице распределялись по файловых группам нужно использовать Секционированные таблицы и индексы, есть ли еще какие-то варианты?
5 июн 12, 10:14    [12665815]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
Glory
Member

Откуда:
Сообщений: 104751
netz
Почитал BOL, чтобы записи в таблице распределялись по файловых группам нужно использовать Секционированные таблицы и индексы, есть ли еще какие-то варианты?

Просто создавать объект в нужной файловой группе.
Для этого в синтаксисе команд создания есть специальная фраза.
5 июн 12, 10:20    [12665878]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Вариант пока один! Взяв требования производителя ПО по IOPS исходя из имеющихся дисков и контроллера сформировать конфигурацию массива, наплевав на рекомендации его производителя, с учетом разбиения на массив под данные, логи и tempdb. Сможете влезьть по IOPSам - хватит и одного файла данных.

Наконец, проивзодитель ПО должен и какие-нибудь нагрузочные тесты предоставить.
5 июн 12, 10:23    [12665901]     Ответить | Цитировать Сообщить модератору
 Re: Внутреннее устройство базы данных MSSQL 2008 R2  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
tpg
Судя по Path - у вас все файлы на одном устройстве лежат...
может быть диски смонтированы в кучу каталогов на Z
5 июн 12, 13:50    [12667944]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить