| 
 | 
| 
 
Разбивка таблицы на разделы. 
 | 
|||
|---|---|---|---|
| 
 #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&msg=32342092&tid=1606420]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    46ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    51ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 15ms | 
| total: | 155ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.