Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Parallel Direct Path Load vs compress дружат?  [new]
Avylon
Member

Откуда: Казань
Сообщений: 17
Значит планируется заливать нев*бенные объемы данных (1.5млрд записей ежедневно = 70ГБ файлов) sqlloader'ом в таблицу разбитую на партиции. Партиции по дням. Файлы бинарные.

DBA жалко места), оно и понятно. Поэтому будем юзать compress на всю таблицу.
Хотелось бы в sqlloadere помимо directа заюзать еще и parallel. Но даст ли? Усиленно читал документацию, про parallel в compress таблицах ни слова, а параллелизма хоцца)

Если с parallel не получится, есть дикая идея параллельно заливать в разные временные таблицы, а потом эти таблицы объединять в одну, а уже из нее добавлять данные в начальную с помощью alter table... exchange partition... Но опять же, про объединение нескольких таблиц в одну не слышал ни разу. Может вы знаете?

Еще видимо будет гемор с ребайлдом индексов. На таблице будет 3 локальных индекса по трем полям.
20 окт 08, 17:16    [6331079]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Avylon
Хотелось бы в sqlloadere помимо directа заюзать еще и parallel.
Не забывайте об ограничениях!
Oracle® Database
Utilities
10g Release 2 (10.2)
B14215-01
June 2005
Restrictions on Parallel Direct Path Loads
The following restrictions are enforced on parallel direct path loads:
■ Neither local or global indexes can be maintained by the load.
■ Referential integrity and CHECK constraints must be disabled.
■ Triggers must be disabled.
■ Rows can only be appended. REPLACE, TRUNCATE, and INSERT cannot be used
(this is due to the individual loads not being coordinated). If you must truncate a
table before a parallel load, you must do it manually.
If a parallel direct path load is being applied to a single partition, you should partition
the data first (otherwise, the overhead of record rejection due to a partition mismatch
slows down the load).


А в общем, судя по всему, должно работать:
Oracle® Database
Concepts
10g Release 2 (10.2)
B14220-01
June 2005
Using Table Compression
Compression occurs while data is being bulk inserted or bulk loaded. These operations
include:
■ Direct path SQL*Loader
■ CREATE TABLE and AS SELECT statements
■ Parallel INSERT (or serial INSERT with an APPEND hint) statements
20 окт 08, 18:54    [6331690]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
RA\/EN
Member

Откуда:
Сообщений: 3659
Avylon
Значит планируется заливать нев*бенные объемы данных (1.5млрд записей ежедневно = 70ГБ файлов) sqlloader'ом в таблицу разбитую на партиции. Партиции по дням. Файлы бинарные.

DBA жалко места), оно и понятно. Поэтому будем юзать compress на всю таблицу.
Хотелось бы в sqlloadere помимо directа заюзать еще и parallel. Но даст ли? Усиленно читал документацию, про parallel в compress таблицах ни слова, а параллелизма хоцца)

Если с parallel не получится, есть дикая идея параллельно заливать в разные временные таблицы, а потом эти таблицы объединять в одну, а уже из нее добавлять данные в начальную с помощью alter table... exchange partition... Но опять же, про объединение нескольких таблиц в одну не слышал ни разу. Может вы знаете?

Еще видимо будет гемор с ребайлдом индексов. На таблице будет 3 локальных индекса по трем полям.

И это только файлов 70 Gb, а таблица да с тремя индексами - на все 150 Gb потянет (минимум). И это только в день. Вы уверены, что это НАДО грузить? Да и при размере строки в 46 байт не думаю, что с компрессией Вы много сэкономите, а вот CPU при работе с табличкой (а ведь эти десятки гигабайт кто-то должен еще и обрабатывать, да не один раз) просадить можете конкретно.
Только данных будет появляться 1Tb в неделю, не считая логов, которых будет еще больше (раза в 2). И все это надо бэкапить...
В общем, с таким раскладом экономить место - достаточно бессмысленно.
20 окт 08, 19:04    [6331730]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
Avylon
Member

Откуда: Казань
Сообщений: 17
RA\/EN,

Я то не уверен, я вообще думаю это пустая трата времени. Но раз клиент хочет =)
Любой каприз за их деньги. Моё дело залить им эти данные и обновить индексы в течении суток, чтобы не было ситуации катящегося с горы кома нарастания задержки.
А уж хватит ли у них места, и как они собираются справляться с такими нагрузками на процессор не моё дело.

Хотя я думаю, что компрессия сможет помочь ввиду специфичности набора данных, предположительно 12 полей из 17 будут сидеть на словаре символов (как-то так он называется). А вот нагрузка на процессор будет феерической.

SQL*Plus,

Читал обе эти документации. В принципе да, явно и не опровергается и не подтверждается, что можно использовать параллельную загрузку на компрессионной партиции. Я думал, может кто уже это пробовал.
Значит, проверку параллельной заливки в таблицу с сжатием будем проверять на месте.

А про слияние нескольких одинаковых по структуре таблиц в одну на 9-ке кто-нибудь знает, так чтобы не было физического перемещения данных на диске?
20 окт 08, 19:52    [6331854]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
гы.
Guest
Avylon
Моё дело залить им эти данные и обновить индексы в течении суток, чтобы не было ситуации катящегося с горы кома нарастания задержки.
А уж хватит ли у них места, и как они собираются справляться с такими нагрузками на процессор не моё дело.

С таким подходом свое дело может и обломаться ;-)
20 окт 08, 21:37    [6332033]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
Из другой галактики
Member

Откуда:
Сообщений: 610
Заказчик видимо какой-нибудь банк )))

Эти и не такое могу запросить
20 окт 08, 21:58    [6332083]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
Kazan1
Guest
Avylon
А про слияние нескольких одинаковых по структуре таблиц в одну на 9-ке кто-нибудь знает, так чтобы не было физического перемещения данных на диске?


почему бы не сделать просто подразделы (subpartition) по хешу например (указав в качестве ключа подсекции другое полю)?
И потом параллельно грузить в эти подсекции...
20 окт 08, 22:08    [6332101]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1296
Avylon
RA\/EN,А про слияние нескольких одинаковых по структуре таблиц в одну на 9-ке кто-нибудь знает, так чтобы не было физического перемещения данных на диске?


Может быть применимо композитное секционирование range-list? Ключом подсекции будет "номер сессии загрузки" 1-n.


А вообще, как мне кажется, за сутки спокойно успеет и parallel load + move compress parallel + индексы. Если дисковая подсистема приличная и правильно настроена.
20 окт 08, 22:34    [6332139]     Ответить | Цитировать Сообщить модератору
 Re: Parallel Direct Path Load vs compress дружат?  [new]
Avylon
Member

Откуда: Казань
Сообщений: 17
Kazan1,
wildwind

Варианты имеют место быть.
По хеш-подразделам почитал, но не понял до конца. Например, сколько подразделов будет создано по полю router_ip, которое может иметь одно из 10-ти значений? Имеет ли значение тип поля?

Насчет range-list, придется завести новое поле "номер сессии загрузки"? Или можно обойтись без него?

Поясню как будет происходить загрузка. В какую-то папку складываются файлы, я их по мере поступления загружаю в таблицу. Всё это происходит без остановки, 24*7.

А как вам вариант с использованием шаблона подсекций? Насколько я понимаю он удобен как раз для параллельной загрузки, но будут ли такие подразделы полезны при работе запросов?
21 окт 08, 11:01    [6333479]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить