Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Быстродействие olap / 18 сообщений из 18, страница 1 из 1
11.11.2005, 10:58
    #33372913
cawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Господа, есть OLTP-база по складу с ежедневным пополнением - 3000 строк (приходные документы, расходные итд). Справочник товаров - 15000 строк. В базе уже храниться информация за 10 лет.
Задача - создать куб, в котором бы в разрезе товаров отображались данные о ежедневных остатках за период в 3-4 мес.
Можно ли примерно оценить скорость загрузки и процессинга куба?
Задаю вопрос, поскольку наши специалисты по олапу говорят, что каждый пересчет будет занимать около 25 часов. Такая скорость не устраивает, так как требуется ежедневная аналитика
...
Рейтинг: 0 / 0
11.11.2005, 11:14
    #33372976
Виктор Сакович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
cawaГоспода, есть OLTP-база по складу с ежедневным пополнением - 3000 строк (приходные документы, расходные итд). Справочник товаров - 15000 строк. В базе уже храниться информация за 10 лет.
Задача - создать куб, в котором бы в разрезе товаров отображались данные о ежедневных остатках за период в 3-4 мес.
Можно ли примерно оценить скорость загрузки и процессинга куба?
Задаю вопрос, поскольку наши специалисты по олапу говорят, что каждый пересчет будет занимать около 25 часов. Такая скорость не устраивает, так как требуется ежедневная аналитика

Здесь положено называть продукт, поскольку время процессинга кубов может зависеть от производителя продукта.
А в ROLAP-продуктах процессинга куба вообще нет, ибо кубы - виртуальные. Но там есть и свои проблемы.
...
Рейтинг: 0 / 0
11.11.2005, 11:33
    #33373066
cawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
OLTP база - Oracle 8i.
Олап у нас находится на стадии внедрения. Использовать, разумеется, хотят олап оракловый, но окончательный выбор еще не сделан - все зависит от соответствия требованиям задачи, а операвтивность одна из главных задач.
...
Рейтинг: 0 / 0
11.11.2005, 11:42
    #33373091
maxol67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
У меня похожая картина по количеству номенклатурных позиций в день и количеству товаров. При оценке времени расчета таблицы с остатками товара (по которой потом будет агрегироваться куб) по пересечению дата-товар-склад за 2 месяца получил тоже что-то около 3-х суток (60 дней х 12000 товаров х 20 складов х 0.02 секунды на расчет остатков по каждой позиции на складе на дату = 80 часов). Куб же потом по этой таблице агрегируется достаточно быстро (провел тест на таблице с нулевыми остатками). Но время в 80 часов не радовало. В результате было принято решение после обсуждения с заказчиками, что остатки на каждый день в кубе для решения наших аналитических задач нас не очень интересуют, устроят и декады, по каждому складу в отдельности тоже - сгруппировали склады. В итоге время подготовки таблицы уменьшилось до 6 декад х 12000 товаров х 4 группы складов х 0,02 сек = 1,6 часа, что уже вполне устраивает. Куб по этим данным грузится 5 минут (Oracle 10.2, dual Opteron 1800 MHz, 2 ГБ памяти, Win2003 Server).
...
Рейтинг: 0 / 0
11.11.2005, 11:49
    #33373113
maxol67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Хорошая статья по настройке Oracle OLAP - ссылку на нее дали здесь на форуме - мне она помогла решить все имевшиеся проблемы с производительностью
http://www.dbazine.com/olc/olc-articles/c-rittman7/
http://www.dbazine.com/olc/olc-articles/c-rittman8/

Особенно помогла в плане уменьшения времени загрузки куба следующая рекомендация:
The accepted, good practice is usually to leave the Time dimension as dense, and, therefore, outside the composite, as this ensures that all time values are clustered together, improving the runtime performance of time-series analysis. However, this can lead to a big increase in the size of the analytic workspace if daily data is used. And, from speaking to contacts within Oracle OLAP development, their current practice is to define all dimensions as sparse, including Time, which involves a small increase in query time, but a big decrease in build time and required disk space.
...
Рейтинг: 0 / 0
11.11.2005, 11:53
    #33373119
Виктор Сакович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
cawaOLTP база - Oracle 8i.
Олап у нас находится на стадии внедрения. Использовать, разумеется, хотят олап оракловый, но окончательный выбор еще не сделан - все зависит от соответствия требованиям задачи, а операвтивность одна из главных задач.

Про время процессинга кубов уже ответили. Если будете использовать ROLAP, то времена запросов будут такими, к которым Вы уже привыкли на Ваших объёмах данных. Если повозиться с Materialized View и Partitioning, то их можно сильно уменьшить. Иногда получается ускорить в несколько десятков раз.

Раз у Вас Oracle, то попробуйте Oracle Discoverer. Если не хватит функциональности, посмотрите MicroStrategy.
...
Рейтинг: 0 / 0
11.11.2005, 11:55
    #33373133
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
а есть в оракле инкрементальное обновление кубов?
да и сам алгоритм расчёта остатков нужно делать инкрементальным, чтобы не пересчитывать остатки за давние периоды
должно работать очень быстро
...
Рейтинг: 0 / 0
11.11.2005, 12:03
    #33373165
maxol67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Инкрементальное обновление кубов есть. С инкрементальным расчетом остатков проблема - остатки за незакрытый период могут меняться (провели что-то задним числом), и в кубе содержится еще информация по плановым значениям на будущие периоды (ожидаемый остаток, ож. приход, прогноз продаж и прочее - естественно эта информация тоже постоянно будет меняться), так что расчет проводится за 3 месяца начиная с даты закрытия периода.
...
Рейтинг: 0 / 0
11.11.2005, 12:07
    #33373192
maxol67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Наверное, лучше использовать все-таки MOLAP. Сравнение MOLAP и ROLAP есть в Oracle® OLAP Application Developer's Guide 10g Release 2 (10.2) B14349-01. Хороший клиент - Oracle BI Discoverer, требует установки Oracle Application Server Business Intelligence. Также можно использовать и Oracle BI Spreadsheet Add-in for Excel - тоже всесьма неплох.
...
Рейтинг: 0 / 0
11.11.2005, 12:32
    #33373315
Alex_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
maxol67Наверное, лучше использовать все-таки MOLAP. Сравнение MOLAP и ROLAP есть в Oracle® OLAP Application Developer's Guide 10g Release 2 (10.2) B14349-01. Хороший клиент - Oracle BI Discoverer, требует установки Oracle Application Server Business Intelligence. Также можно использовать и Oracle BI Spreadsheet Add-in for Excel - тоже всесьма неплох.

Вы забываете, что у человека Oracle 8 а Выше перечисленные продукты такие как Oracle BI Discoverer и Oracle BI Spreadsheet Add-in for Excel - насколько я знаю требуют базу 10.1.0.4.

На счет 25 часов - на мой взгляд это уже слишком шикарно и жирно.

В базе хранится информация за 10 лет. Думаю, не слишком на вру , что остатки меняются максимум на год назад. Так что за 9 лет (информация статическая) - остатки надо посчитать всего один раз и хранить их или в табличке или в мат. вьюшке - это уже дело проектировщика.
И того остатки нам надо будет пересчитывать за год т.е. на данных объемом
3000 строк в день * 365 денй в году Получаем 1095000 строк, а миллион строк - это извините копейки для Oracle.

Я бы воспользовался советом Виктора Саковича и смотрел бы в сторону Oracle Discovery.
...
Рейтинг: 0 / 0
11.11.2005, 12:39
    #33373354
Volj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
А в качестве клиента Вы что используете? А то, может, задача гораздо проще решается?
...
Рейтинг: 0 / 0
11.11.2005, 13:24
    #33373531
cawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Окончательного решения по клиенту нет. Но при использовании сервера oracle единственный возможный клиент - Discoverer
...
Рейтинг: 0 / 0
11.11.2005, 13:35
    #33373568
maxol67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Alex_DВы забываете, что у человека Oracle 8 а Выше перечисленные продукты такие как Oracle BI Discoverer и Oracle BI Spreadsheet Add-in for Excel - насколько я знаю требуют базу 10.1.0.4.
Под OLAP можно поставить и выделенный сервер на десятке.
Alex_D, пользуясь случаем хочу сказать большое спасибо за ссылку на статью Ритмана
...
Рейтинг: 0 / 0
11.11.2005, 13:43
    #33373596
Volj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Возможно, имеет смысл задуматься о простом клиенте, написанном на Delphi/NET который будет работать с этой базой?
10 млн записей в теблице фактов, конечно, ни одно из клиентских приложений не протянет, но пару-тройку миллионов - легко. Загрузка куба примерно равна скорости выборки данных, а тормозов на миллионе записей при работе с кубом у тебя не будет. Любая операция с кубом будет выполняться максимум за секунду-две.
Если под delphi, то можно взглянуть на HierCubе, если нужно ActiveX-решение, то ContourCube/DynamiCube, если для web, то опять же HierCube ASP.NET или любое из перечисленных выше ActiveX-решений.
Опять же, написать клиентское приложение, возможно лучше с точки зрения гибкости интерфейса и набора всевозможных дополнительных фич.
...
Рейтинг: 0 / 0
11.11.2005, 15:06
    #33373905
Alex_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
maxol67Под OLAP можно поставить и выделенный сервер на десятке.
Alex_D, пользуясь случаем хочу сказать большое спасибо за ссылку на статью Ритмана

Можно поставить и выделенный сервер, но это железо + лицензия на базу + лицензия на БИ решение, ну и т.д. Будем считать, что я дополнил Ваш ответ, предупредив что это будет работать только на десятке.

На счет Ритмана, спасибо взаимное т.к. я к сожелению пока только бегло просмотрел статью, а попробывать на практике руки не дошли. А Вы уже на практическом опыте даете выжимки из статьи, так что обмен информаций полезен в обоих направлениях :)).
...
Рейтинг: 0 / 0
11.11.2005, 15:57
    #33374086
Birkhoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
cawaОкончательного решения по клиенту нет. Но при использовании сервера oracle единственный возможный клиент - DiscovererНу это не так. Клиенты возможны и другие.

Если брать MOLAP, то вообще время будет зависеть от количества измерений, от железа, от проектирования куба и от пространсвенного расположения данных в кубе.
Проверить можно только на ваших реальных данных - попробуйте.
Может хватить и реляционного Discoverer. Может не хватить :) Тогда MOLAP.
...
Рейтинг: 0 / 0
11.11.2005, 20:00
    #33374610
Jurii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
2 cawa:

Господа, есть OLTP-база по складу с ежедневным пополнением - 3000 строк (приходные документы, расходные итд). Справочник товаров - 15000 строк. В базе уже храниться информация за 10 лет.

Все относительно, но на мой взгляд это довольно маленький объем данных.

Задача - создать куб, в котором бы в разрезе товаров отображались данные о ежедневных остатках за период в 3-4 мес.

Этот вопрос много раз обсуждался на форуме. Самое разумное - закачать в куб приходные и расходные документы, и взять от их разности нарастающий итог.

Можно ли примерно оценить скорость загрузки и процессинга куба?
Задаю вопрос, поскольку наши специалисты по олапу говорят, что каждый пересчет будет занимать около 25 часов.


Могу привести оценку из моего опыта решения таких задач в OLAP-сервере Cognos PowerPlay:
Время полного процессинга куба (закачка в него данных за 10 лет) - 1 час.
Если документы прошлого года не меняются задним числом, то инкрементальное обновление (подкачка данных из текущего года к бэкапу куба на конец закрытого периода) будет занимать около 5 минут.
...
Рейтинг: 0 / 0
14.11.2005, 10:06
    #33375953
Mike_M
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстродействие olap
Проблема быстродействия на самом деле может быть совсем не связана с OLAP. Скорее всего, ваши специалисты собирают остатки на каждый день в реляционной базе, причем не самым быстрым способом. Отсюда и такое жуткое время – 25 часов.

На самом деле есть несколько вариантов решения, и они тут уже обсуждались.

- Вычислять остатки в кубе.
- Выгружать остатки во временные таблицы (что делают ваши коллеги).
- Вычислять остатки в реляционной базе после каждой транзакции (для совсем отчаянных) :)

У меня лично был опыт на MSAS2k+Excel,
таблица фактов – 7 млн записей,
пополнение – около 1500 записей в день,
ежедневные остатки вычислялись в кубе известным методом:

Код: plaintext
1.
2.
3.
4.
sum(Ascendants([Время].CurrentMember),
   (sum([Время].FirstSibling :[Время].CurrentMember,
           [Measures].[ПриходРасход])) - [Measures].[ПриходРасход]) + 
  [Measures].[ПриходРасход]

Работало достаточно быстро, чтобы не раздражать.
Время полного процессинга MOLAP-куба на 2x Intel Xeon 2,4GHz/2Gb – не более 5 мин.
Прежде чем делать окончательный выбор, попробуй разные варианты.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Быстродействие olap / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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