Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблемы производительности / 25 сообщений из 29, страница 1 из 2
07.09.2004, 11:20
    #32682744
Проблемы производительности
Подскажите, пожалуйста.

Была поставлена следующая задача:
Оценить сколько дней не было возможности продавать товар из-за того, что товара не было на складе. Для групп товаров агрегировать эту оценку по сумме.

Есть виртуальный куб на MSAS2000, объединяющий остатки с продажами, в котором в числе прочих имееются измерения времени (до дня) и товаров (~10000). Задачу решает calculated member, т.к. я не нашел простого способа включить эту оценку в меры куба (со всеми плюсами серверного агрегирования), чтобы при этом структура куба не трансформировалась настолько, что для интерпретации данных куба требуется специально обученный толкователь.

В итоге, calculated member как-то работает. Для расчета, случился ли Out Of Stock (OOS) по товару в этот день используются меры начального остатка (BR) и транзакций (Tr) за день. OOS1=1, если BR<=0 и Tr>0 (продавали, но могли продать больше), OOS2=1, если BR<=0 и Tr=0 (не могли продавать). Понятно, что при такой организации вычислений на верхних уровнях времени/товара похвастаться большой скоростью работы этого MDX нельзя. Пытался повысить скорость по крайней мере правильным агрегированием Tr и BR, а именно как-то принудить систему создавать агрегаты по уровню "товары" измерения товаров (это не самый нижний уровень - ниже партия производителя ~50000 и я предполагаю, что использование агрегатов по уровню продуктов ~10000 несколько повысит скорость выполнения MDX), но нашел только возможность блокировать некоторые уровни при создании агрегатов, что мне не подходит (1. это не гарантирует создание агрегата по требуемому уровню, 2.не хочу блокировать другие запросы). Может принудить его к созданию нужных агрегатов сегмента через DSO AddGoalQuery (clsPartitionAnalyzer)?

Что можно сделать, чтобы по крайней мере, понизить уровень проблемы? Нельзя ли, все же, как-то обойтись агрегированием и не прибегать к глубокому перепроектированию куба? Я слышал, что MDX выполняет компьютер клиента, если это так, то я так понимаю, в моей реализации OOS ОЛАП выступает по отношению к клиенту практически в роли файл-сервера. Нельзя ли с этим что-либо сделать? Естественно, требуется решение задачи в рамках MSAS2000.

Заранее спасибо всем, кто отзовется.
...
Рейтинг: 0 / 0
07.09.2004, 12:56
    #32683077
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
остатки у вас в каком виде хранятся?
...
Рейтинг: 0 / 0
07.09.2004, 15:24
    #32683588
Проблемы производительности
Остатки хранятся в виде неагрегированного куба остатков (Remainder), в котором хранятся остатки на начало месяцев. Нижние уровни времени в этом кубе заблокированы. Логистические транзакции хранятся в другом (агрегированном) кубе (Transaction) c детализацией по времени до дня. Остатки/движения на любую точку времени получаются в виртуальном кубе (Rest), построенном над этими двумя. При этом для получения остатка на элемент иерархии времени (в общем случае отличный от месяца) используется остаток из Remainder родителя-месяца текущего элемента времени плюс сумма (Transaction) на всех уровнях (между месяцем и тек. уровнем) "старших братьев" текущего элемента (предполагается что тек. элемент - ниже месяца). Мои иерархии времени: Год, Квартал, Месяц, День (YQMD) и Год, Неделя, День (YWD). Для получения остатка на элемент в YWD, элемент отображается (LinkMember) в соответствующий день иерархии YQMD из которой и извлекается значение.
...
Рейтинг: 0 / 0
07.09.2004, 18:46
    #32684096
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Как я понял, поправьте меня, если я не прав, все крутится вокруг, определения количества дней в выбранном периоде, когда данный товар не был доступен к продаже.
Эта величина аггрегирется суммирование, идти по иерархии времени вверх. Аггрегировать ее по иерархии товара смысла нет. Веди если товара А небыло в продаже 5 дней в выбраннй период, а товара Б - 10 дней в период. То о мы разумного умозаключения сделать не сможем. А вот параметр типа (количество дней * среднестатистическую дневную продажу) даст нам уже "потенциально упущенную продажу" которую можно аггрегировать по всем направлениям.

Если мощности SQL сервера хватит, то я бы это делал на уровне SQL сервера, строя таблицу фактов - "отсутствие/недостаток товара на складе". А потом строил куб на основе этой таблички и все дела и никакого колдовства на уровне CalculatedMember и ни каких проблнм с производительностью.

Если я что то упустил в постановке вашей задачи, то поравьте, please.
...
Рейтинг: 0 / 0
07.09.2004, 18:48
    #32684101
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Как я понял, поправьте меня, если я не прав, все крутится вокруг, определения количества дней в выбранном периоде, когда данный товар не был доступен к продаже.

Эта величина аггрегируется суммированием, если идти по иерархии времени вверх. Аггрегировать же ее по иерархии товара смысла нет. Ведь если товара А небыло в продаже 5 дней в выбраннй период, а товара Б - 10 дней в период. То ничего разумного о группе этих товаров мы сказать не сможем. А вот параметр типа (количество дней * среднестатистическую дневную продажу) даст нам уже "потенциально упущенную продажу" которую можно аггрегировать по всем направлениям.

Если мощности SQL сервера хватит, то я бы это делал на уровне SQL сервера, строя таблицу фактов - "отсутствие/недостаток товара на складе". А потом строил куб на основе этой таблички и все дела и никакого колдовства на уровне CalculatedMember и ни каких проблем с производительностью.

Если я что то упустил в постановке вашей задачи, то поправьте, please.
...
Рейтинг: 0 / 0
07.09.2004, 20:27
    #32684179
Константин Лисянский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Валентин Коношенко Для расчета, случился ли Out Of Stock (OOS) по товару в этот день используются меры начального остатка (BR) и транзакций (Tr) за день. OOS1=1, если BR<=0 и Tr>0 (продавали, но могли продать больше), OOS2=1, если BR<=0 и Tr=0 (не могли продавать).

Валентин, а как может остаток быть меньше нуля? Знак перепутали?

За какой период надо считать потерянные продажи?

У Вас розница или опт?


backfireА вот параметр типа (количество дней * среднестатистическую дневную продажу) даст нам уже "потенциально упущенную продажу" которую можно аггрегировать по всем направлениям.

Идея правильная, но цифра получится, на мой взгляд, довольно приближённая.




С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
08.09.2004, 01:05
    #32684302
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Идея правильная, но цифра получится, на мой взгляд, довольно приближённая.

конечно приближенная, как и в любой мат-модели, а я предложил простейшую. Если вовлечь дополнительные факторы, то можно и уточнить.

Я так и не получил ответа от г-на Коношенко, правильно ли я понял решаемую им задачу.
...
Рейтинг: 0 / 0
08.09.2004, 11:53
    #32684932
Проблемы производительности
backfireЭта величина аггрегирется суммирование, идти по иерархии времени вверх. Аггрегировать ее по иерархии товара смысла нет. Веди если товара А небыло в продаже 5 дней в выбраннй период, а товара Б - 10 дней в период. То о мы разумного умозаключения сделать не сможем.
Действительно, сначала она агрегировалась только по времени, а на уровне групп товаров оценка строилась на основании остатка и продажи группы - так потребовали логисты. Надо сказать, я тоже не видел физического смысла такой оценки для групп товаров, однако утверждалось, что он есть. Такая "облегченная" схема в моей реализации работала вполне эффективно. Однако, в реальном применении для групп оценка оказалась малоприменима, т.к. по моим наблюдениям над логистами она не выполняла 2 - х главных задач: 1. Привлекать внимание к группе товаров, имеющих OOS (в общем случае она их может пропускать) и 2. Давать более-менее здравую оценку степени OOS товаров группы (она дает какую-то валовую оценку OOS группы). В общем случае можно сказать, что оценка на уровне группы в такой постановке никак напрямую не кореллировала с OOS товаров группы.
В новой постановке все же требуется агрегирование по товарным группам. Конечно, "потенциально упущенную продажу" мы для группы не получим, но например средний % OOS для товара группы получить удастся - что в общем удовлетворяет двум выше сформулированным критериям "триггерируемости" и "адекватности" (условно, назовем так :)).
...
Рейтинг: 0 / 0
08.09.2004, 12:12
    #32685002
Проблемы производительности
Константин ЛисянскийВалентин, а как может остаток быть меньше нуля? Знак перепутали?

За какой период надо считать потерянные продажи?

У Вас розница или опт?

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

По поводу периода. Вероятно, Вы хотите узнать верхний уровень времени, на котором еще кого-то интересует эта оценка - мне верхний уровень не ограничивали, однако, All Members из области определения я исключил... чтобы определять по нему используемую иерархию времени, т.к. пересечения YQMD и YWD уж точно лишены всякого смысла. Можно сказать, что оценка определена на области, когда одна (и только одна :)) из иерархий установлена на All Members.

Задачи считать потерянные продажи мне поставлено не было. В данном случае интерес скорее направлен на эффективность работы склада, обеспечивающего продажи.

Далее, есть и опт и розница, дистрибьюция.
...
Рейтинг: 0 / 0
09.09.2004, 15:48
    #32687845
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Всем привет !
Валентин работает у нас по направлению BI

Мы немного запутали Вас. Вопрос звучит примерно так:
Как на основе известных формул (сложных, по шкале времени, для оценки запасов), в кубах : остатков + куб движения = виртуальный куб
Сделать эффективное агрегирование (индексы ?, агрегаты ?)
Валя, приведи формулы, плиз

Начали рыть потому, что OLEDB провайдер 8.0 для AS тупо все тянет на клиента - а клиент от нас на тонком канале и далеко.. Клиент -
ProClarity Pro 5.3
...
Рейтинг: 0 / 0
09.09.2004, 22:27
    #32688564
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
TorinНачали рыть потому, что OLEDB провайдер 8.0 для AS тупо все тянет на клиента - а клиент от нас на тонком канале и далеко.. Клиент -
ProClarity Pro 5.3

И будет тянуть, и хоть тресни. Единственный выход это middleware. У PClariry это есть, но стоит не по-детски.

Я от этого ушел через собственный middleware ну и ессно собственного клиента.
...
Рейтинг: 0 / 0
10.09.2004, 12:20
    #32689362
Jurii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
To backfire:

И будет тянуть, и хоть тресни. Единственный выход это middleware. У PClariry это есть, но стоит не по-детски.

Если не секрет, какой там примерно порядок цен?
...
Рейтинг: 0 / 0
11.09.2004, 16:50
    #32690703
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Я разочаровался в ProClarity Analytic Server.
Ничего принципиально нового он не дает. Служит для того, чтобы хранить предпроектированные запросы как Briefing book (публикуются из Desktop версии).
MDX выполняется на стороне сервера только в одном случае - когда пользователь работает как Standart клиент - тогда интерфейс рисуется очень убогим html-ом, и результаты им же.
Есть еще Professional Web клиент - но он , также как и Desktop клиент, устанавливается (с activex) на стороне клиента, работает просто в окружении IE (не удивительно - activex же все).
Мои тесты показали, что реального выйгрыша в скорости выполнения запроса и возврата результата на клиента нету ;-( В некоторых случаях Web client просит указать соединение с OLAP сервером !!!
Более того, Professional Web клиент не позволяет начать анализ с "нуля", обязательно должне быть опубликованный Briefing book.
Вообщем, непонятно, фикция какая-то
Стоит срань эта от 15 кило евров (только сервер). Прайсинг очень жесткий , руссифицировать не хотят.
Но Desktop версия, конечно, классная !
...
Рейтинг: 0 / 0
11.09.2004, 17:06
    #32690707
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Забыл дописать !
Что думает ?уважаемый? MS по поводу "OLEDB Multidimentional proviider 8.0" ?
А точнее - какие проблемы сделать так, чтобы запросы на стороне сервера _ВСЕГДА_ выполнялись ??
...
Рейтинг: 0 / 0
11.09.2004, 22:25
    #32690770
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
TorinЗабыл дописать !
Что думает ?уважаемый? MS по поводу "OLEDB Multidimentional proviider 8.0" ?
А точнее - какие проблемы сделать так, чтобы запросы на стороне сервера _ВСЕГДА_ выполнялись ??

Я не MS, но предложу.
1. Найти приличный XMLA клиент.
2. Перейти на Юкошу.
...
Рейтинг: 0 / 0
13.09.2004, 12:24
    #32691555
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Рекомендация сродни "надо больше зарабатывать" ;-)
Все знают, что надо, но никто не говорит как ;-))
Я человек дела - покажите - посомтрим, оценим, купим. если стоит того.
...
Рейтинг: 0 / 0
14.09.2004, 18:52
    #32694547
Pi
Pi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
backfire TorinНачали рыть потому, что OLEDB провайдер 8.0 для AS тупо все тянет на клиента - а клиент от нас на тонком канале и далеко.. Клиент -
ProClarity Pro 5.3

И будет тянуть, и хоть тресни. Единственный выход это middleware. У PClariry это есть, но стоит не по-детски.

Я от этого ушел через собственный middleware ну и ессно собственного клиента.

Глупый вопрос - а Windows Terminal Service тут бессилен?
...
Рейтинг: 0 / 0
15.09.2004, 10:09
    #32695015
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
сама Майкрософт не рекомендует ставить на один сервер терминал и скл, но вот интересно в отношении терминал и as это тоже верно. т.к. нам приходиться использовать связку клиент->терминал сервер->sql+as сервер пока вроде нормально, но объемы еще детские
...
Рейтинг: 0 / 0
15.09.2004, 10:43
    #32695118
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Windows Terminal Service тут бессилен?

Всем известно, что текущая реализация MS AS сильно использует кештрование на строне клиента (Pivot Table Services), если будет использоваться толстый клиент, то в каждом приложени, будт то ProClarity или Excel, будет расзодоваться немалое количество мегабайт на приватный кеш этого приложения, если же соединение с MS AS сместить на сторону Application Server, который будет отрабатывать MDX запросы, то его кеш будет использоваться более эффективно.
Для 1-5 пользователей это не важно, а когда их 20-100, то пол-сотни соединений с MS AS, каждое со своим кэшем Pivot Table Services, который в зависимости от типа запросов, количества и размера измерений легко растет до парочки сотен мегабайт, легко загонит в swap даже сервер с 8 Gb на борту.
...
Рейтинг: 0 / 0
15.09.2004, 19:14
    #32696497
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Pi
Глупый вопрос - а Windows Terminal Service тут бессилен?
Стиль решения сродни вопросу ;-). Можно, на этом же сервере TS и стоит, но ! Самому себе отправлять почтой результаты ?, бороться с волнообразными тормозами ?, Учтем, что надо канал расширять, Как печатать ?. TS также ненадежно поддерживает печать в удаленный порт и обмен содержимым буфера обмена (например, без вопросом начнет тянуть 20 Mb из буфера на клиента !)
Нет, это не для нас..

backfire Windows Terminal Service тут бессилен?
...если же соединение с MS AS сместить на сторону Application Server, который будет отрабатывать MDX запросы..
Дядьку ;-), я уже пищу, скажи - что такое "нормальный XMLA клиент" и где найти "Application Server", как сказанно выше ? Я думал, что "Application Server" и есть ProClarity Analytic Server, но жестоко ошибся.
Не томи !
;-))
...
Рейтинг: 0 / 0
16.09.2004, 14:42
    #32697915
Pi
Pi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Валексама Майкрософт не рекомендует ставить на один сервер терминал и скл, но вот интересно в отношении терминал и as это тоже верно. т.к. нам приходиться использовать связку клиент->терминал сервер->sql+as сервер пока вроде нормально, но объемы еще детские

Вот и у меня - на детских объемах и одном пользователе все - клиент->терминал сервер->sql+as сервер, - работает ок, ни одного замечания.
Правда, что такое печать я уже и забыл - все рассылаю только в электронном виде (у меня и мобилки нет - только Ася).
...
Рейтинг: 0 / 0
16.09.2004, 16:42
    #32698285
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Pi все рассылаю только в электронном виде (у меня и мобилки нет - только Ася).
а через что це ты рассылаешь ? Сам по себе AS не может этого делать..
Кто генерит ?, кто трансформирует и отсылает ?
...
Рейтинг: 0 / 0
16.09.2004, 17:11
    #32698394
Pi
Pi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Torin Pi все рассылаю только в электронном виде (у меня и мобилки нет - только Ася).
а через что це ты рассылаешь ? Сам по себе AS не может этого делать..
Кто генерит ?, кто трансформирует и отсылает ?

Кто генерит ? Я пользуюсь Excel и Crystal Report. Их файлы и отсылаю клиенту. Отсылаю через MS Outlook Express.

Когда возник намек на реальную потребность в доставке, внимание обращалось на продукт Seagate Analysis9. Но заказчик не начал проект, и продукт не попал в работу.

Да, надо иметь в виду у меня пока нет тестовой площадки для имитации dial-up или других медленных соединений.
...
Рейтинг: 0 / 0
17.09.2004, 13:01
    #32699707
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Torin Pi все рассылаю только в электронном виде (у меня и мобилки нет - только Ася).
а через что це ты рассылаешь ? Сам по себе AS не может этого делать..
Кто генерит ?, кто трансформирует и отсылает ?

эх как гриться былобы что отсылать
вот мож своему as-клиенту такую приблуду сделать по почте отсылать отчеты, хотя у нас это еще не востребовано

спс за интересную мысль
...
Рейтинг: 0 / 0
20.09.2004, 18:27
    #32703035
Torin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы производительности
Pi Torin Pi все рассылаю только в электронном виде (у меня и мобилки нет - только Ася).
а через что це ты рассылаешь ? Сам по себе AS не может этого делать..
Кто генерит ?, кто трансформирует и отсылает ?

Кто генерит ? Я пользуюсь Excel и Crystal Report. Их файлы и отсылаю клиенту. Отсылаю через MS Outlook Express.

Когда возник намек на реальную потребность в доставке, внимание обращалось на продукт Seagate Analysis9. Но заказчик не начал проект, и продукт не попал в работу.

Опять не врубился - при чем тут CR ??. Топик про AS и клиентов..
Но вообщем понятно - вокруг куча всего, но реально ничего нету.. ;-))
Это я про рынок OLAP-ов..
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблемы производительности / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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