|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
Лично мне отделение индексов от таблиц и использование разных буферных пулов совсем не кажется таким уж очевидно хорошим делом. Например, пусть у нас два дисковых массива - на одном данные, на другом индексы. При сканировании таблицы будет простаивать один массив, при index only access - другой. Что касается разных буферных пулов для разных типов таблиц, то если у вас мелкие таблицы используются часто, а крупные (с фуллсканом) - редко, то, по идее, мелкие таблицы не должны вымываться из пула? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2003, 14:05 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
Ну главное - это позволяет снизить I/O, а не то, что мы все про это думаем :)) Но бездумное использование buferpool может навредить - факт, и IBM это даже где-то в доке указало, точно помню это видел в доке по тюнингу IBM LDAP Вот не вижу, что может пострадать, в случае разнесения данных и индексов. Может поясните? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2003, 16:07 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
Нашел, кстати, интересные рекомендации, официальная докумениация, концепсия, раздел настройки производительности, так вот там есть советы по поводу нескольких контейнеров, и как это сообразуеться с разными задачами, и что использование нескольких контейнеров резко усиливает паралеллизм выполненя, и всё такое прочее, и ничего от том, как и что это ухудшает. Но IBM - сторона заинтересованная :) Самая беспристрастная аудитория - админы :) Таки может кто скажет, как разнесение данных и индексов таблиц и применение множественных контейнеров влияют на производительность в хужшую сторону? Про лучшую и так понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2003, 16:39 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
Буферные пулы: надо ж учитывать не только состав данных, но и нагрузку. Частые сканирования больших таблиц - выгодна одна конфигурация, но если редкие - то другая. Разнесение данных и индексов. Аналогично, надо учитывать нагрузку. В чем выгода raid'а для чтения? В одновременном доступе к нескольким дискам. Надо полагать, что чем больше дисков мы задействуем, тем больше общая скорость обмена. Таким образом, выделив отдельные диски под индекс и имея главным образом index only access, мы выделим под это меньшее количество дисков, чем если держать данные и индексы вместе. Здесь тоже предполагаются определенные условия, которые необязательно выполняются. Короче, настоящий ответ может дать только тестирование с реальными данными и реальной нагрузкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2003, 14:24 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
Опускаю bufferpool как не вызывающий сомнения. А вот с дисками - позвольте не согласиться. Первое - бкзо всякого raid можно иметь tablespace с множетсвенными контейнерами, каждый из которых отдельный диск, и при соответсвующем кол-ве NUM_IOSERVERS доступ ко всем контейнерам/дискам будет одновременной (при наличии соотв. ресурсов, таких как BUS/CPU - cамо собой) Второе - с учётом первого пункта, что мешает для индексного tablespace иметь столько контейнеров/дисков, сколько надо, организовав доступ паралельно? Третье - имея отдельный tablespace для индексов на raid опять же что может помешать иметь столько дисков, сколько надо? Четвертое - при совместном хранении данных и дисков мы стопудово получаем конкуренцию за доступ к хранилищу, которую мы не можем контролировать - ну не можем мы задать условия для хранения данных на отдельных дисках raid от индексов, и если часть данных и индексов попадает на один диск - метания головок обеспечены. И никакие raid не смогут обеспечить такую же паралельность как в случае раздельного хранения и множественных контейнеров. ПОмоему, от задач это слабо зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2003, 14:37 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
RAID 0 на N дисках и N контейнеров на N дисках - я думаю, что логически это примерно одно и то же. "мешает для индексного tablespace иметь столько контейнеров/дисков, сколько надо" - а сколько надо? Я так подозреваю, что кашу маслом не испортишь (к сожалению, нет возможности заниматься тестированием так, как мне бы хотелось). "если часть данных и индексов попадает на один диск - метания головок обеспечены" - как будто они и так не обеспечены. Базы то (как правило) многопользовательские. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2003, 13:00 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
1) Ну да 2) Столько - сколько паралеллизма в I/O хочеться 3) Совсем не согласен.Многопользовательность здесь ни совсем к месту. Каждый элемент I/O транзакции может быть или последовательным - если данные и индексы на одном диске, или паралельными - если на разных. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2003, 15:14 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
2. То есть деньгами и техническими возможностями сервера вы совсем не лимитированы? Круто. 3. Пусть N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах. Вы утверждаете, что все эти запросы будут выстроены в очередь и выполнены последовательно, то есть K-й в очереди клиент будет ждать, когда выполнятся K-1 чужих запросов, прежде чем начнетсы выполнение его запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2003, 11:00 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
2) - ну диски ведь стоят не так уж и много, тем более что не нужны супер ёмкие. Подключить дополнительно D1000 тоже не проблема, когда будет некуда - заказать следующую I/O board. Ну чтобы забить все возможные I/O board на сервере - это очень отдаленная перспектива, во всяком случае, это будет означать смену сервера, и опять таки будет планироваться заранее. 3) Нет, не я утверждаю, а документация IBM, и не это она утверждает, а всего лишь то, что для получения максимального паралелизма и I/O лучше всего разнести данные и инжексы, и так далее по тексту. Я не склонен не согласиться с этим. И в дополнение - разнесение данных и индексов повидимому не имеет никакого отношения к полному сканированию таблицы, так что я не совсем понял, к чему вы клоните. Но вот выполнение INSERT/UPDATE определенно выиграют от того, что данные будут вставляться/обновляться на одном контроллере, а индексы 0 на другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2003, 16:21 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
2. Ну значит, для кого как. В нашей конторе мы сильно лимитированы. Поэтому-то я и проверить толком ничего не могу. А тесты могут длиться неделями и месяцами, чтобы проверить все аспекты. 3. При делении имеющейся пачки дисков на две - диски для индексов и диски для данных - наверняка одна будет недогружена (в зависимости от данных, индексов и нагрузки). Для того, чтобы мысль была яснее, я привел предельный пример - "N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах". Пачка (то есть массив) дисков с индексами простаивает. А ведь чем больше дисков используется, тем больший можно ожидать суммарный трансфер? (Реально у меня обратная картина - многие запросы index only). Теперь вернемся к "N клиентов запустили одновременно N запросов, производящих фуллсканы на M разных таблицах". Индексная пачка дисков простаивает (или не простаивает, другие K клиентов делают что-то с index only access). Будут ли метаться головки дисков с данными? Думаю, что будут все равно. Такая же картина с модификациями данных - выгода разделения индексов и данных мне совсем не очевидна. В этом вопросе я могу поверить только тестам. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2003, 10:43 |
|
Разбивка таблицы на разделы.
|
|||
---|---|---|---|
#18+
У меня картина обратная - множество запросов INSERT/UPDATE, валящих с огромной скоростью от разных клиентов, паралельно, и редкое выполнение SELECT - для менеджеров статистика. Результат при разнесении виден был не вооруженным взглядом - в пик тайм выросла общая пропускная способность в выполненных транзакциях, благо мне ждать не надо, легко пиковое время сэмулировать - остановить внесение данных в базу, дать им накопиться в очередях, и затем запустить сервис внесения - имеем полный нагруз. В результате полных сканирований таблиц, очевидно, выиграша в разделении не будет. Честно говоря, я такую ситуацию не могу себе представить. Хотя всё может быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2003, 14:34 |
|
|
start [/forum/topic.php?fid=43&gotonew=1&tid=1606420]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 322ms |
total: | 480ms |
0 / 0 |