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

Откуда:
Сообщений: 13
Здравствуйте,
Имеется SQL Server 2012 Developer Edition.
Есть БД, чтение данных из которой производится крайне редко - при старте сервера приложений для работы с OLTP.
Запись в эту БД идет очень активно: порядка 500 операций в секунду.
В БД есть (к примеру) вот такие таблицы:
tb_client, tb_contract, tb_order, tb_payment;

tb_client, tb_contract - количество записей небольшое, мало вновь добавляемых.
tb_order, tb_payment - большое количество записей, постоянно добавляются новые.

Пожелания вот такие:
1) Раздельный бэкап данных для tb_client, tb_contract отдельно от бэкапа tb_order и отдельно от бэкапа tb_payment
2) Быстрый доступ к данным tb_order и tb_payment за последний месяц (по возможности за календарный месяц назад от текущего дня - если такое невозможно тогда с начала предыудщего месяца) - все остальное можно делить по месяцам либо просто складывать в архив, но чтобы можно было бы потом прозрачно к этому архиву обратиться.

Прочитал много разной информации про FILEGROUP (настроил, в результате после бэкапа данных файловой группы PRIMARY, где расположил tb_client + tb_contract + журнала транзакций, и рестора БД ушла в состояние Restoring и не выходит из него), про partitioning -здесь мне непонятно как можно автоматизировать, чтобы каждый месяц не изменять partition function, не создавать новые partition scheme вручную.

Прошу помощи в данном вопросе у многоуважаемых гуру: каким образом оптимально мне реализовать то, что я описал в пожеланиях?

Заранее благодарен за любые комментарии.
17 июл 13, 16:48    [14579318]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
tb_order, tb_payment - большое количество записей, постоянно добавляются новые.


Большое - это сколько?

автор
1) Раздельный бэкап данных для tb_client, tb_contract отдельно от бэкапа tb_order и отдельно от бэкапа tb_payment


Это еще для чего? Вы процесс восстановления отдельных файлгрупп хорошо себе представляете? Судя по тому, что у Вас вышло в итоге - нет.

автор
Быстрый доступ к данным tb_order и tb_payment


А сейчас он медленный? По каким причинам?

автор
Имеется SQL Server 2012 Developer Edition.


Надеюсь, что это

автор
Запись в эту БД идет очень активно: порядка 500 операций в секунду


не промышленное окружение?

автор
каким образом оптимально мне реализовать то, что я описал в пожеланиях?


В пожеланиях Вы описАли придуманное Вами решение проблемы, а саму проблему не озвучили.
17 июл 13, 17:44    [14579680]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
pkarklin, спасибо за комментарии.

pkarklin
Большое - это сколько?

Сегодня это 3,5 млрд, каждый месяц + 1,2 млрд
pkarklin
Это еще для чего? Вы процесс восстановления отдельных файлгрупп хорошо себе представляете? Судя по тому, что у Вас вышло в итоге - нет.

Если честно, то не совсем хорошо, подозревал, что восстанавливать можно отдельно, но раз такое сделать нельзя, тогда думаю, что выход будет в создании отдельной БД - это нужно только для того, что основную базу где находятся tb_client и tb_contract, нужно бэкапить чаще, а эту где tb_order, намного реже, потеря ее актуального состояния не страшна (повторюсь, таблицы, что я указал они выдуманные, сама предметная область просто не всем понятна, чтобы ее тут объяснять, но смысл похожий с примером)

pkarklin
А сейчас он медленный? По каким причинам?

По причине большого объема данных.
pkarklin
не промышленное окружение?

Нет, это эксперименты на моей машине
pkarklin
В пожеланиях Вы описАли придуманное Вами решение проблемы, а саму проблему не озвучили.

Проблемы:
1) Нужны отдельные бэкапы на разные объекты БД, как это лучше реализовать?
2) Длительные запросы к некоторым таблицам, их прирост каждый месяц на 1,2 млрд записей (дальше больше)
17 июл 13, 19:22    [14580066]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

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

автор
Сегодня это 3,5 млрд, каждый месяц + 1,2 млрд

и
автор
это эксперименты на моей машине


Я правильно понимаю, что всё это пока сугубо эксперимент и никакой реальной системы нет?
17 июл 13, 20:09    [14580193]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
pkarklin
Я правильно понимаю, что всё это пока сугубо эксперимент и никакой реальной системы нет?

Реальная БД сейчас работает именно с такими объемами, но все находится в одной БД, без дополнительных FILEGROUP и PARTITION.
Просто я перенес ее бэкап к себе на машину и ставлю эксперименты.
17 июл 13, 20:12    [14580200]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
yuri.z
Просто я перенес ее бэкап к себе на машину и ставлю эксперименты.


Работа с такими объемами и такой нагрузкой требует неплохого оборудования, поэтому эксперименты на офисном компе кажуться как минимум странными.

автор
но все находится в одной БД


Отлично! Описывайте проблемы, приводя реальную структуру таблиц с индексами, реальные запросы на вставку (ведь из бд крайне редко идет чтение!), планы их выполнения, статистику ожиданий, статистику IOPsов СХД и длин очередей на запись (и таки чтение).

автор
Нужны отдельные бэкапы на разные объекты БД, как это лучше реализовать?


Зачем они нужны?! Какая у Вас модель резервного копирования? Какой общий объем бд?
17 июл 13, 20:21    [14580233]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
И, да, результат
SELECT @@version

с Prod окружения покажите.
17 июл 13, 20:26    [14580243]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
=)8)
Guest
pkarklin
Какая у Вас модель резервного копирования?
Ожидаемый ответ: Резервное копирование настроено, выполняется автоматически по расписанию, из-за гигантских объмов данных моделирование резервного копирования не выполняется.

На самом деле вопрос не про резервное копирование а про оптимизацию доступа к данным за счет сегментации базы и некоторых таблиц в ней по календарным месяцам.

Но сам вопрос не сформулирован, ясно только, что в результате экспериментов получено нерабочее состояние базы данных.
17 июл 13, 20:46    [14580296]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Да, сейчас на промышленном сервере стоит Express Edition, потому что он бесплатный.
Планируется приобретать Standard или даже Enterprise, в зависимости от потребностей.
17 июл 13, 20:47    [14580300]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
yuri.z
Да, сейчас на промышленном сервере стоит Express Edition, потому что он бесплатный.


Занавес...
17 июл 13, 20:52    [14580308]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
Гость333
Member

Откуда:
Сообщений: 3683
yuri.z
на промышленном сервере стоит Express Edition, потому что он бесплатный

О великий гуру, научите, как в экспресс эдишен засунуть 3.5 млрд записей?!
17 июл 13, 20:54    [14580314]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
pkarklin, спасибо за комментарий.
А есть у вас какие-нибудь конкретные рекомендации по моему(!) вопросу?
17 июл 13, 20:55    [14580316]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
yuri.z
А есть у вас какие-нибудь конкретные рекомендации по моему(!) вопросу?


Конечно! Пригласить для решения задачи Специалиста!!!
17 июл 13, 20:57    [14580323]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
Да, в БД Express Edition меньше записей, забыл что я там все записи сейчас там по разным БД распихал. Прошу прощения за дезинформацию.
Меня все-таки интересует, каким образом можно реализовать то, что мне нужно.
К помощи специалиста я обязательно прибегну, но сначала хочу понять сам, как все можно реализовать.

p.s.
Вообще можно любому человеку, который обращается на форуме с вопросом, говорить: "Найми специалиста".
17 июл 13, 21:04    [14580348]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31969
yuri.z
1) Нужны отдельные бэкапы на разные объекты БД, как это лучше реализовать?
Лучше в разные базы.
yuri.z
2) Длительные запросы к некоторым таблицам, их прирост каждый месяц на 1,2 млрд записей (дальше больше)
Вообще нормально, если от размера таблицы время запроса не зависит, Но случаи конечно бывают разные.

Разделение на разные базы позволит упростить бакапы/ресторы, в том числе такие вещи, как перенос данных на тестовый сервер (хотя пока таких проблем быть не должно, маза то маленькая, учитывая, что она помещается в Express), но что касается скорости, то тут нужно оптимизировать приложение, запросы и модель, а не разносить объекты.
17 июл 13, 21:05    [14580353]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
yuri.z
но сначала хочу понять сам, как все можно реализовать.


Реализовать что?! Вы даже проблематику описАть не можете и ответить на вопросы которые Вам задают.

автор
Вообще можно любому человеку, который обращается на форуме с вопросом, говорить: "Найми специалиста".


Уровень вопрошающего очень легко определяется по "уровню" его вопросов и придуманных им решений неописанных проблем.

ЗЫ. И да, объяснить не специалисту, чтоб он понял, стОит дороже, чем просто сделать.
17 июл 13, 21:10    [14580364]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
=)8)
Guest
yuri.z,

почитайте Секционирование, как способ обеспечения высокой доступности данных
17 июл 13, 21:23    [14580394]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
alexeyvg
Лучше в разные базы.

Спасибо, в принципе сейчас так и делаю на боевом сервере.
alexeyvg
Вообще нормально, если от размера таблицы время запроса не зависит, Но случаи конечно бывают разные.

Можете подсказать в какую сторону "копать"? Индексирование?

pkarklin, на мой взгляд, я описал проблематику и ответил на все поставленные вопросы (за исключением ошибки с указанием количества записей в боевой БД)
Вы очень резкий в своих суждениях. Я не спорю, что вероятно это связано с вашим "багажом" знаний по данной тематике, однако не совсем корректно судить об "уровне" незнакомых Вам людей. В любом случае я очень благодарен Вам, pkarklin, за ваши комментарии по моему вопросу (или проблеме/посту, не знаю, как лучше уже и написать)
17 июл 13, 21:26    [14580399]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
=)8),
спасибо огромное за ссылку, очень интересно, читаю.
17 июл 13, 21:29    [14580406]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
yuri.z
я описал проблематику и ответил на все поставленные вопросы


Да ну?!

pkarklin
Отлично! Описывайте проблемы, приводя реальную структуру таблиц с индексами, реальные запросы на вставку (ведь из бд крайне редко идет чтение!), планы их выполнения, статистику ожиданий, статистику IOPsов СХД и длин очередей на запись (и таки чтение).
17 июл 13, 21:42    [14580433]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
yuri.z
Member

Откуда:
Сообщений: 13
pkarklin,
Да, этот вопрос я не заметил, сразу перешел к версии. Спасибо.
17 июл 13, 21:47    [14580442]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
pkarklin
Member

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

Поймите правильно. Есть такое понятие, как корреляцией показателей. Читая Ваши сообщение складывается ощущение, что Вы что-то нам не договариваете. Смотрим внимательно:

автор
Сегодня это 3,5 млрд, каждый месяц + 1,2 млрд


Я правильно понимаю, что "сегодня" - это три месяца работы системы? Я полагаю возможным промахнуться в оценках размера сайзинга на диапазоне пары-тройки лет. Но чтоб на трех месяцах... Выбрав при этом Express редакцию?!

автор
Есть БД, чтение данных из которой производится крайне редко - при старте сервера приложений для работы с OLTP.
Запись в эту БД идет очень активно: порядка 500 операций в секунду.

и
автор
Сегодня это 3,5 млрд, каждый месяц + 1,2 млрд


Простите, а зачем это все записывать и хранить, если это никто не читает?!

автор
Раздельный бэкап данных для tb_client, tb_contract отдельно от бэкапа tb_order и отдельно от бэкапа tb_payment


Зачем раздельный?! Есть проблемы с нераздельным?

автор
сама предметная область просто не всем понятна


Бизнес Вашего работодателя настолько уникален, что никто из участников данного форума "рядом с ним не стоял"?

Мой Вам совет, если хотите помощи - делитесь информацией! Ибо пока всё это больше похоже на троллинг.

Сообщение было отредактировано: 17 июл 13, 22:01
17 июл 13, 22:00    [14580494]     Ответить | Цитировать Сообщить модератору
 Re: FILEGROUPS, Partitioning  [new]
Гость333
Member

Откуда:
Сообщений: 3683
yuri.z
про partitioning -здесь мне непонятно как можно автоматизировать, чтобы каждый месяц не изменять partition function, не создавать новые partition scheme вручную

Автоматизация простая — можно создать джоб, который будет выполнять команды ALTER PARTITION FUNCTION и ALTER PARTITION SCHEME. Этот же джоб при желании может добавлять в БД файловые группы и файлы.

yuri.z
Планируется приобретать Standard или даже Enterprise

На всякий случай — только Enterprise поддерживает секционирование таблиц.
Но зато любая редакция поддерживает секционированные представления (partitioned views).

Вообще странно — используете Express, потому что он бесплатный, но в то же время планируете купить дорогущий Enterprise. Бюджет-то на это выделят? :)

yuri.z
Прочитал много разной информации про FILEGROUP

И документацию про восстановление ФГ из бэкапа тоже читали?
Восстановление файлов из резервных копий (модель полного восстановления)
18 июл 13, 10:12    [14581872]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить