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

Откуда: урал
Сообщений: 2850
Предположим имеется система, в которой в основном преобладают запросы на выборку данных, инсерты и апдейты занимают довольно небольшую часть. Требуется оптимизировать дисковую систему под это, я сам не администратор, поэтому возниакют некоторые вопросы
Во-первых, согласно майкрософтовским рекомендациям, как минимум желательно разделить подсистему на 3 независимых дисковых системы - под файлы БД, под файлы лога и под файлы tempDB. Кроме того, рекомендовано использовать райд 0+1 (mirroring + stripping)
Первый вопрос про лог файлы, т.к. система больше ОЛАП, то так-ли важно выделение их в отдельную подсистему? Ведь там не ожидается значительной активности из-за того, что в основном запросы идут на выборку?
Теперь, правильно-ли я понимаю, что выделение tempDB на отдельную дисковую подсистему даст хорошую отдачу, т.к. в отличие от лога, tempDB будет нагружена очень сильно как раз из-за того, что идет много выборок?
И наконец, сорри за глупый вопрос, я не совсем понимаю про рейд, если мы выделяем скажем 2 отдельные подсистемы, одну для БД файлов + лог и другую под tempDB, то это означает 2 разных рейда? Т.е. скажем первый рейд из 4 дисков для БД и второй рейд из 4 дисков под tempDB? А если хотим зеркало для первого рейда, то получаем рейд в 8 дисков для БД плюс лог (ну и рейд для темпбд в 4 диска т.к. его не надо зеркалировать)?
10 июл 11, 10:53    [10952046]     Ответить | Цитировать Сообщить модератору
 Re: Создание дисковой подсистемы для OLAP базы  [new]
Antoshka
Member

Откуда:
Сообщений: 828
1) размер базы какой?
2) какая ожидается нагрузка?
2) какое есть железо?
4) каков бюджет на новое железо (если предполагаются покупки)?
10 июл 11, 18:29    [10952641]     Ответить | Цитировать Сообщить модератору
 Re: Создание дисковой подсистемы для OLAP базы  [new]
stenford
Member

Откуда: урал
Сообщений: 2850
Antoshka
1) размер базы какой?
2) какая ожидается нагрузка?
2) какое есть железо?
4) каков бюджет на новое железо (если предполагаются покупки)?

Размер базы ожидается несколько десятков гиг, нагрузку мне сложно оценить, в среднем довольно высокая (много тяжелых запросов, полнотекстового поиска, запросов like '%blablabla%'), железо и бюджет пока без разницы, мне хотелось-бы определиться с тем, как можно эффективно организовать подсистему для такого типа баз

Еще вопрос, если использовать фейловер кластер, то зеркалирование рейда уже ненужно?
11 июл 11, 02:57    [10953557]     Ответить | Цитировать Сообщить модератору
 Re: Создание дисковой подсистемы для OLAP базы  [new]
svitli
Member

Откуда: Ekaterinburg
Сообщений: 43
stenford,

Раз Вы планируете систему под ОЛАП, то попробую внести чуток ясности про работу ОЛАП.
У вас есть база sql, откуда данные попадают в базу ОЛАП во время обновления кубов. Вот только в это время происходит большая нагрузка на темповые файлы и бешеное чтение из sql таблиц. Так как, обновление обычно настраивается один раз в сутки, то выносить отдельно темповый файлы считаю нецелесообразным (тут надо смотреть конкретный случай). Для баз ОЛАП диск лучше выбирать пошустрее. Там нет лайк запросов , но часто идет чтение данных не по индексам (создать индексы под все запросы очень трудно, это не sql база).
Выносить лог файлы отдельно я бы тоже не стал (могу и ошибаться).
У нас сделано так: sql базы сделаны без логирования (150Г), обновление олап (40Г) занимает пару часов, слабое место -скорость чтения с диска.
11 июл 11, 10:00    [10953940]     Ответить | Цитировать Сообщить модератору
 Re: Создание дисковой подсистемы для OLAP базы  [new]
,,,
Guest
svitli
...У нас сделано так: sql базы сделаны без логирования (150Г)...

это как?
11 июл 11, 10:07    [10953985]     Ответить | Цитировать Сообщить модератору
 Re: Создание дисковой подсистемы для OLAP базы  [new]
Нектотам
Guest
stenford
Еще вопрос, если использовать фейловер кластер, то зеркалирование рейда уже ненужно?
  • Наоборот. Нужнее, чем с лог-шиппингом или миррорингом.
  • Зеркала для tempdb тоже нужны. Иначе возникнет простой до нескольких часов (если он допустим, то нафига кластер?).
  • Логи на отдельное хотябызеркало. На них существенно последовательная запись без кеширования. И эти операции с обычными рандомными кешируемыми сильно конфликтуют - мешают друг другу.
  • "железо и бюджет пока без разницы" - такого не бывает. Если это так, то берите ЕМС Clariion CX-4 960 забитый доверху 15 krpm и SSD, возьмите несколько серверов с 256 ГБ памяти, используйте Масштабируемые общие базы данных и не морочьте людям голову.
  • если "запросы like '%blablabla%'" - то памяти должно быть не меньше чем размер БД+tempdb. А тогда диски для вас неважны.
  • если база "несколько десятков гигабайт", то за разумные деньги она полностью ложится в память.
  • Нагрузку хотя бы примерно нужно оценить, а то получается, что решение принимается вслепую. Хотя бы через что-то типа
    select b.DbId, substring(b.name,1,10) 'Database Name', FileId,
    IoStallMS/(NumberReads+NumberWrites) 'ms/io', filename, a.*
    from ::fn_virtualfilestats(-1,-1) a inner join master..sysdatabases b on a.DbId = b.dbid
  • 11 июл 11, 11:58    [10954806]     Ответить | Цитировать Сообщить модератору
     Re: Создание дисковой подсистемы для OLAP базы  [new]
    ScareCrow
    Member

    Откуда: Белый город
    Сообщений: 17422
    автор
    то памяти должно быть не меньше чем размер БД+tempdb. А тогда диски для вас неважны.

    рыдалЪ.
    11 июл 11, 13:20    [10955315]     Ответить | Цитировать Сообщить модератору
     Re: Создание дисковой подсистемы для OLAP базы  [new]
    svitli
    Member

    Откуда: Ekaterinburg
    Сообщений: 43
    ,,,
    svitli
    ...У нас сделано так: sql базы сделаны без логирования (150Г)...

    это как?

    модель восстановления простая- так лучше звучит? сразу дополню. что бекапы делаются.
    11 июл 11, 13:59    [10955580]     Ответить | Цитировать Сообщить модератору
     Re: Создание дисковой подсистемы для OLAP базы  [new]
    ,,,
    Guest
    svitli
    ,,,
    пропущено...

    это как?

    модель восстановления простая- так лучше звучит? сразу дополню. что бекапы делаются.

    модель восстановления простая != отсутствие записи в лог
    более того, в лог будет писаться столько же (за исключением не полностью протоколируемых операций)
    12 июл 11, 09:52    [10959829]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить