AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2004, 16:03   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
[OLAP] - на основании чего строить кубы
Добрый день.

Вопрос к тем, кто использует Olap и Аксапту.

Есть два подхода к формированию кубов:

1) строить их на основании базы данных Аксапты
2) построить отдельную БД - хранилище данных, перегонять туда данные с помощью dts и уже на основании этого хранилища формировать кубы.

Насчет первого способа:
а) периодически не проходит процессинг кубов - выясняется что кто-то удалил запись в таблице измерений, хотя ссылка в таблице фактов осталась
б) структура таблиц аксапты все-таки не оптимальна для построения olap кубов. Хороший пример - хранение дат не в виде отдельного измерения, а прямо в таблице фактов.

В связи с этим рассматриваю второй вариант.

Что сразу бросается в глаза - кубы будут строиться не из Аксапты, а скажем, с помощью Analysis Services Processing Task в DTS. Не то, чтобы смертельно - кубы в Аксапте я подцеплю, но, например, label в enum-ах придется ручками прописывать в dts пакетах.

Вопроса 2:

1) Какие есть еще подводные камни во втором варианте ?
2) Каким способом пользуетесь Вы ?
Старый 05.08.2004, 17:13   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Re: [OLAP] - на основании чего строить кубы
Цитата:
Изначально опубликовано Андре
а) периодически не проходит процессинг кубов - выясняется что кто-то удалил запись в таблице измерений, хотя ссылка в таблице фактов осталась
так это проблема не OLAP-а, а скорее организационно - программисткая

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

Цитата:
Изначально опубликовано Андре
б) структура таблиц аксапты все-таки не оптимальна для построения olap кубов. Хороший пример - хранение дат не в виде отдельного измерения, а прямо в таблице фактов.
вот это не понял - а как лучше?
Старый 05.08.2004, 17:27   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
так это проблема не OLAP-а, а скорее организационно - программисткая
Согласен. Но с учетом того, что это происходит в стандартном функционале, я сталкиваюсь с необходимостью поиска таких мест и их правкой.
А как говорит mazzy, "избегайте программирования".

Цитата:
вот это не понял - а как лучше?
Делать отдельную табличку - измерение. И связывать ее с таблицой фактов. Пример посмотреть стандартной базу FoodMart.
Избегая излишнего цитирования просто приведу одну из ссылок, в которых описываются преимущества альтернативного варианта:
http://www.sqljunkies.com/article/D1...D60951395.scuk

p.s. К сожалению эта ссылка не работает (надеюсь временно), а других у меня не осталось.
Старый 05.08.2004, 18:36   #4  
LCh is offline
LCh
Участник
 
104 / 10 (1) +
Регистрация: 13.11.2002
Адрес: Санкт-Петербург
Делюсь опытом
На нашем проекте все OLAP-кубы построены на Analysis Services.

Опыт показал, что не смотря на неудобство с фильтрацией компаний и самописных текстовых полях вместо enum, в AS и SQL Server гораздо больше возможностей. Начиная от самого Т-SQL и заканчивая репликацией.
Старый 05.08.2004, 18:46   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
На нашем проекте все OLAP-кубы построены на Analysis Services.......
Спасибо за ответ, но я так и нашел в нем ответа на свой вопрос:

Цитата:
Есть два подхода к формированию кубов:

1) строить их на основании базы данных Аксапты
2) построить отдельную БД - хранилище данных, перегонять туда данные с помощью dts и уже на основании этого хранилища формировать кубы.

.....

Каким способом пользуетесь Вы ?
Речь шла не о том, чем мы пользуемся AS или Аксаптой, которая опять же работает с AS. А о том, что является хранилищем данных для AS - база данных Аксапты или отдельная база данных.
Старый 06.08.2004, 02:16   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Изначально опубликовано Андре
Согласен. Но с учетом того, что это происходит в стандартном функционале, я сталкиваюсь с необходимостью поиска таких мест и их правкой.
А как говорит mazzy, "избегайте программирования".
Ага - в аксапте не программируем, зато программируем в DTS.. Причем в DTS программировать больше и лично мне - неудобнее. Хотя - дело привычки

И все равно это не проблема OLAP-а. Ну научимся мы при переносе DTS-ом менять название удаленного элемента справочника на "элемент удален". Станет лучше, если теперь куб обработается, но будет содержать обороты по счету "счет удален" или задолженность перед поставщиком "поставщик удален"?

Хочется программировать - пишите job-ы, которые такие ситуации быстро проверяют, не давайте всем удалять что ни попадя

Цитата:
Избегая излишнего цитирования просто приведу одну из ссылок, в которых описываются преимущества альтернативного варианта:http://www.sqljunkies.com/article/D1...D60951395.scuk
p.s. К сожалению эта ссылка не работает (надеюсь временно), а других у меня не осталось.
Заработала. Занятная ссылка. Из вкусностей вижу только возможность навешивать member properties на даты. Все остальное - технологии, до которых никому кроме разработчика дела нет. А то, что среднестатистический клиент потеряет возможность самостоятельно куб настроить без программирования - это факт
Старый 06.08.2004, 02:27   #7  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Рискну вклиниться
1. Кубы обычно строятся на view, а не на таблицах.
2. Подготавливать промежуточные данные (с помощью снэпшотов Оракла или с помощью временных таблиц Майкрософтовского сиквела) имеет смысл для того, чтобы не блокировать пользователей при частом обновлении кубов. Вопрос в том, как часто нужно обновление. Если один раз в неделю и в выходные производится меньше операций в базе, то нет проблем. А если каждые десять минут по таблице InventTrans, то тут уже и инкрементный апдейт кубов не спасёт - надо подкачивать данные в промежуточную таблицу.

Не согласны?
Старый 06.08.2004, 02:30   #8  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Цитата:
А то, что среднестатистический клиент потеряет возможность самостоятельно куб настроить без программирования - это факт
Кто имеется в виду под клиентом? Конечный пользователь? Если "да", то зачем ему настраивать куб? Пусть выберет себе нужные поля и вперёд.
Старый 06.08.2004, 09:36   #9  
Dubinski Serguei is offline
Dubinski Serguei
Участник
 
18 / 10 (1) +
Регистрация: 05.12.2003
Адрес: Москва
:)
тоже рискну свои пять копеек вставить

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

Опять же, хранилище - это статистика. Там ВСЕ данные, когда либо появившиеся за время работы.

Еще один аргумент. Для быстроты работы ОЛАП-куба его лучше строить на денормализованных данных (содержащих избыточные сведения), тогда как в оперативной базе данные наоборот как можно больше нормализуются.

А если нужно каждые 15 минут куб обновлять - наверное куб это не очень верное решение для такой задачи. или используйте ROLAP.
Старый 06.08.2004, 10:28   #10  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Кубы обычно строятся на view, а не на таблицах
Что значит "обычно"? Это какой-то best practice? Или имеется в виду то, что view строит аксапта? Так это издержки хранения в одной таблице данных нескольких компаний

Цитата:
Вопрос в том, как часто нужно обновление. Если один раз в неделю и в выходные производится меньше операций в базе, то нет проблем. А если каждые десять минут по таблице InventTrans, то тут уже и инкрементный апдейт кубов не спасёт - надо подкачивать данные в промежуточную таблицу.
Не согласны?
Cогласен с тем, что если в постановке задачи сказано, что каждые десять минут требуется перестраивать куб по InventTrans, задача поставлена неправильно

OLAP - он все-таки не для оперативного анализа, хоть Online в аббревиатуре присутствует
Старый 06.08.2004, 10:45   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Спасибо за ответы. Вывод я сделал - использовать нужно и первый и второй подход. Соотношение этих способов будет варьироваться в каждом частном случае.

Прокомментирую некоторые замечания, хотя в общем я с ними согласен:

Цитата:
Ага - в аксапте не программируем, зато программируем в DTS. Причем в DTS программировать больше и лично мне - неудобнее. Хотя - дело привычки.
а) с тем, что напрограммировали в dts не надо мучаться при переходе на следующий sp - структура таблиц все-таки меняется не так часто.
б) для программирования dts не нужен специалист знающий Аксапту . Как следствие, это позволяет снизить затраты на проект. Как следствие, это снизит стоимость сопровождения этого решения.
в) а если нет лицензий на разработку.
г) все-таки это дело привычки

Цитата:
И все равно это не проблема OLAP-а.
Это не проблема OLAP. Это проблема Data Warehousing - одной из задач которого является валидация данных.

Кроме того, согласен с Сергеем:

Цитата:
я так понял, что преимущество стороннего хранилища данных в том, что туда данные можно переносить из любой базы
Очень удобно, когда данные нужно анализировать не только из Аксапты, но и из ряда программ, уже работающих на предприятии.
Старый 06.08.2004, 10:58   #12  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Re: [OLAP] - на основании чего строить кубы
Hi
Цитата:
Изначально опубликовано Андре
Добрый день.

Насчет первого способа:
а) периодически не проходит процессинг кубов - выясняется что кто-то удалил запись в таблице измерений, хотя ссылка в таблице фактов осталась
б) структура таблиц аксапты все-таки не оптимальна для построения olap кубов. Хороший пример - хранение дат не в виде отдельного измерения, а прямо в таблице фактов.
Изначально использовали способ 2. Недостаток а) способа 1 в равной степени присущ способу 2. Недостаток б) легко устраняется построением денормализованных вьюх и темпов таблиц для корректного отображения Enumов

Цитата:

Вопроса 2:

1) Какие есть еще подводные камни во втором варианте ?
2) Каким способом пользуетесь Вы ?
1) на мой взгляд затрудняется поиск причины неотпроцешивания куба, т.к. добавлено промежуточное звено.
2) В конечном итоге начали плавный переход на способ 1 (HOLAP) постоянные гемморои с поиском багов в ДТС всех просто достали + Сваять вьюху и прикрутить к ней HOLAP - день, грамотно напрограммить ДТС с поледующей отладкой куба- дня 3
А вообще лучше попробавать самому оба и сравнить

Успехов
Старый 09.08.2004, 11:12   #13  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Сегодня случайно нашел обсуждение похожей темы, но уже без привязки к Аксапте:

http://www.sql.ru/forum/actualthread.aspx?tid=112945
Теги
olap, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему не могут зайти пользователи Excel 2003 на OLAP 2005? mazzy DAX: Администрирование 4 30.08.2007 10:35
ALEG: Olap. Что нам стоит куб настроить Blog bot DAX Blogs 4 05.12.2006 17:16
Опять про OLAP и Enum mit DAX: Программирование 6 05.04.2004 11:06
OLAP в Аксапта waitingforsharan DAX: Функционал 6 11.07.2003 19:21
Проблема с подключением к OLAP серверу Andrew Besedin DAX: Администрирование 0 20.03.2002 12:06
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:37.