Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Агрегация и кеширования огромного числа данных  [new]
test_2008
Member

Откуда: Москва
Сообщений: 1209
Есть такая проблема.
Имеется таблица с более чем миллиардом строк.

Какие есть нормальные и самые быстрые механизмы которые позволили произвести агрегацию и суммирование данных по определённым полям и сохранение результата ?

Сразу скажу что Fast Refresh Matview себя не оправдало и работало очень медленно.
Может кто использовал механизм репликации для подобных задач ?

Спасибо.

COMMIT;
23 окт 08, 11:05    [6344700]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
BW
Member

Откуда:
Сообщений: 727
test_2008
Есть такая проблема.
Имеется таблица с более чем миллиардом строк.

Какие есть нормальные и самые быстрые механизмы которые позволили произвести агрегацию и суммирование данных по определённым полям и сохранение результата ?

Сразу скажу что Fast Refresh Matview себя не оправдало и работало очень медленно.
Может кто использовал механизм репликации для подобных задач ?

Спасибо.


Таблица партицирована?
В чем выразилось "себя не оправдало и работало очень медленно"?
Версия Оракла?

С уважением,
bw.
24 окт 08, 15:01    [6352776]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
test_2008
Member

Откуда: Москва
Сообщений: 1209
BW

Таблица партицирована?


Да таблица партиционирована по дате (иначе при таких объёмах и быть не может).

BW

В чем выразилось "себя не оправдало и работало очень медленно"?


В том что fast refresh обновление матвью по запросу (dbms_mview.refresh('MATVIEW' , 'F')) зависает более чем на сутки (возможно необходимы дополнительные настройки).

BW

Версия Оракла?


SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE    10.2.0.3.0      Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
24 окт 08, 15:04    [6352816]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8136
test_2008
Есть такая проблема.
Имеется таблица с более чем миллиардом строк.

Какие есть нормальные и самые быстрые механизмы которые позволили произвести агрегацию и суммирование данных по определённым полям и сохранение результата ?
Не зная вашей задачи, могу только фантазировать,
что вам поможет использование Oracle TimesTen In-Memory Database...
24 окт 08, 15:05    [6352823]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
Ammonia Winter
Member

Откуда:
Сообщений: 1032
Мы в этом случае завели копию таблички, секционировали её по хешу одного из полей агрегации.
Партиций пробовали 512,1024,2048.
И агрегировали посекционно в цикле.

Ps хард парс нам разрешили.
24 окт 08, 15:10    [6352870]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
BW
Member

Откуда:
Сообщений: 727
SQL*Plus
test_2008
Есть такая проблема.
Имеется таблица с более чем миллиардом строк.

Какие есть нормальные и самые быстрые механизмы которые позволили произвести агрегацию и суммирование данных по определённым полям и сохранение результата ?
Не зная вашей задачи, могу только фантазировать,
что вам поможет использование Oracle TimesTen In-Memory Database...


Да уж, неплохо было бы привести описание таблицы.
Также описание того, что и как Вы хотите агреггировать.
Система OLTP или выделенный DWH?

С уважением,
bw.
24 окт 08, 15:24    [6352989]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
RA\/EN
Member

Откуда:
Сообщений: 3659
Если есть неизменяемые данные, то руками пресчитывать агрегат по партиции, которая больше не будет меняться. Для надежности навесить RLS, чтоб точно не поменялось (или перенести на read-only табличное пространство).
Если меняться могут любые партиции - то вешаться/стреляться/топиться
Или ночами делать полный пересчет за один FULL SCAN.
24 окт 08, 15:33    [6353053]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
DenKrep
Member

Откуда: Киев
Сообщений: 74
test_2008

В том что fast refresh обновление матвью по запросу (dbms_mview.refresh('MATVIEW' , 'F')) зависает более чем на сутки (возможно необходимы дополнительные настройки).


Хм... а для fast refresh mv_log создавался? И он создавался ДО создания mat view или после? Если после, то в первый раз всё равно mat view отработает по полному refresh-у.
24 окт 08, 15:45    [6353163]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1296
test_2008
Имеется таблица с более чем миллиардом строк.


Подробнее об объеме и характере изменений.
insert/delete/update, в update участвуют ли поля агрегации?
сколько строк/% в сутки/час?
24 окт 08, 16:10    [6353391]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
test_2008
Member

Откуда: Москва
Сообщений: 1209
Ammonia Winter
Мы в этом случае завели копию таблички, секционировали её по хешу одного из полей агрегации.
Партиций пробовали 512,1024,2048.
И агрегировали посекционно в цикле.

Ps хард парс нам разрешили.


Решили попробывать ваш метод.
Как отработает скажем.
24 окт 08, 16:26    [6353546]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
test_2008
Member

Откуда: Москва
Сообщений: 1209
TO:Ammonia Winter

Заранее благодарен.

COMMIT;
24 окт 08, 16:27    [6353555]     Ответить | Цитировать Сообщить модератору
 Re: Агрегация и кеширования огромного числа данных  [new]
Ammonia Winter
Member

Откуда:
Сообщений: 1032
test_2008,

Ну и как оно?
20 фев 09, 18:00    [6846523]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить