powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Разбивка таблицы на разделы.
11 сообщений из 36, страница 2 из 2
Разбивка таблицы на разделы.
    #32332963
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично мне отделение индексов от таблиц и использование разных буферных пулов совсем не кажется таким уж очевидно хорошим делом.

Например, пусть у нас два дисковых массива - на одном данные, на другом индексы. При сканировании таблицы будет простаивать один массив, при index only access - другой.

Что касается разных буферных пулов для разных типов таблиц, то если у вас мелкие таблицы используются часто, а крупные (с фуллсканом) - редко, то, по идее, мелкие таблицы не должны вымываться из пула?
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32333226
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Ну главное - это позволяет снизить I/O, а не то, что мы все про это думаем :))
Но бездумное использование buferpool может навредить - факт, и IBM это даже где-то в доке указало, точно помню это видел в доке по тюнингу IBM LDAP
Вот не вижу, что может пострадать, в случае разнесения данных и индексов. Может поясните?
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32333278
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Нашел, кстати, интересные рекомендации, официальная докумениация, концепсия, раздел настройки производительности, так вот там есть советы по поводу нескольких контейнеров, и как это сообразуеться с разными задачами, и что использование нескольких контейнеров резко усиливает паралеллизм выполненя, и всё такое прочее, и ничего от том, как и что это ухудшает. Но IBM - сторона заинтересованная :)
Самая беспристрастная аудитория - админы :)
Таки может кто скажет, как разнесение данных и индексов таблиц и применение множественных контейнеров влияют на производительность в хужшую сторону?
Про лучшую и так понятно.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32334250
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буферные пулы: надо ж учитывать не только состав данных, но и нагрузку. Частые сканирования больших таблиц - выгодна одна конфигурация, но если редкие - то другая.

Разнесение данных и индексов. Аналогично, надо учитывать нагрузку. В чем выгода raid'а для чтения? В одновременном доступе к нескольким дискам. Надо полагать, что чем больше дисков мы задействуем, тем больше общая скорость обмена. Таким образом, выделив отдельные диски под индекс и имея главным образом index only access, мы выделим под это меньшее количество дисков, чем если держать данные и индексы вместе. Здесь тоже предполагаются определенные условия, которые необязательно выполняются. Короче, настоящий ответ может дать только тестирование с реальными данными и реальной нагрузкой.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32334274
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Опускаю bufferpool как не вызывающий сомнения.
А вот с дисками - позвольте не согласиться.
Первое - бкзо всякого raid можно иметь tablespace с множетсвенными контейнерами, каждый из которых отдельный диск, и при соответсвующем кол-ве NUM_IOSERVERS доступ ко всем контейнерам/дискам будет одновременной (при наличии соотв. ресурсов, таких как BUS/CPU - cамо собой)
Второе - с учётом первого пункта, что мешает для индексного tablespace иметь столько контейнеров/дисков, сколько надо, организовав доступ паралельно?
Третье - имея отдельный tablespace для индексов на raid опять же что может помешать иметь столько дисков, сколько надо?
Четвертое - при совместном хранении данных и дисков мы стопудово получаем конкуренцию за доступ к хранилищу, которую мы не можем контролировать - ну не можем мы задать условия для хранения данных на отдельных дисках raid от индексов, и если часть данных и индексов попадает на один диск - метания головок обеспечены. И никакие raid не смогут обеспечить такую же паралельность как в случае раздельного хранения и множественных контейнеров.
ПОмоему, от задач это слабо зависит.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32337689
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAID 0 на N дисках и N контейнеров на N дисках - я думаю, что логически это примерно одно и то же.

"мешает для индексного tablespace иметь столько контейнеров/дисков, сколько надо" - а сколько надо? Я так подозреваю, что кашу маслом не испортишь (к сожалению, нет возможности заниматься тестированием так, как мне бы хотелось).

"если часть данных и индексов попадает на один диск - метания головок обеспечены" - как будто они и так не обеспечены. Базы то (как правило) многопользовательские.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32337913
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
1) Ну да
2) Столько - сколько паралеллизма в I/O хочеться
3) Совсем не согласен.Многопользовательность здесь ни совсем к месту.
Каждый элемент I/O транзакции может быть или последовательным - если данные и индексы на одном диске, или паралельными - если на разных.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32339118
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. То есть деньгами и техническими возможностями сервера вы совсем не лимитированы? Круто.

3. Пусть N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах. Вы утверждаете, что все эти запросы будут выстроены в очередь и выполнены последовательно, то есть K-й в очереди клиент будет ждать, когда выполнятся K-1 чужих запросов, прежде чем начнетсы выполнение его запроса?
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32339672
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
2) - ну диски ведь стоят не так уж и много, тем более что не нужны супер ёмкие. Подключить дополнительно D1000 тоже не проблема, когда будет некуда - заказать следующую I/O board. Ну чтобы забить все возможные I/O board на сервере - это очень отдаленная перспектива, во всяком случае, это будет означать смену сервера, и опять таки будет планироваться заранее.
3) Нет, не я утверждаю, а документация IBM, и не это она утверждает, а всего лишь то, что для получения максимального паралелизма и I/O лучше всего разнести данные и инжексы, и так далее по тексту. Я не склонен не согласиться с этим.
И в дополнение - разнесение данных и индексов повидимому не имеет никакого отношения к полному сканированию таблицы, так что я не совсем понял, к чему вы клоните. Но вот выполнение INSERT/UPDATE определенно выиграют от того, что данные будут вставляться/обновляться на одном контроллере, а индексы 0 на другом.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32341639
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. Ну значит, для кого как. В нашей конторе мы сильно лимитированы. Поэтому-то я и проверить толком ничего не могу. А тесты могут длиться неделями и месяцами, чтобы проверить все аспекты.

3. При делении имеющейся пачки дисков на две - диски для индексов и диски для данных - наверняка одна будет недогружена (в зависимости от данных, индексов и нагрузки). Для того, чтобы мысль была яснее, я привел предельный пример - "N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах". Пачка (то есть массив) дисков с индексами простаивает. А ведь чем больше дисков используется, тем больший можно ожидать суммарный трансфер?

(Реально у меня обратная картина - многие запросы index only).

Теперь вернемся к "N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах". Индексная пачка дисков простаивает (или не простаивает, другие K клиентов делают что-то с index only access). Будут ли метаться головки дисков с данными? Думаю, что будут все равно.

Такая же картина с модификациями данных - выгода разделения индексов и данных мне совсем не очевидна. В этом вопросе я могу поверить только тестам.
...
Рейтинг: 0 / 0
Разбивка таблицы на разделы.
    #32342092
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
У меня картина обратная - множество запросов INSERT/UPDATE, валящих с огромной скоростью от разных клиентов, паралельно, и редкое выполнение SELECT - для менеджеров статистика. Результат при разнесении виден был не вооруженным взглядом - в пик тайм выросла общая пропускная способность в выполненных транзакциях, благо мне ждать не надо, легко пиковое время сэмулировать - остановить внесение данных в базу, дать им накопиться в очередях, и затем запустить сервис внесения - имеем полный нагруз.
В результате полных сканирований таблиц, очевидно, выиграша в разделении не будет.
Честно говоря, я такую ситуацию не могу себе представить. Хотя всё может быть.
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Разбивка таблицы на разделы.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]