Страница 1 из 1

Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Пн, 09/08/2010 17:17
kroxa
Возможность использования внешнего хранилища Галактика BI - хороший выбор. Но одновременно зачастую и сложный в установке и обслуживании.
Во многих случаях пользователям необходима возможность более оперативно/просто провести многомерный анализ данных OLTP (данных Галактика ERP).
Множество существующих полусистемных и прикладных разработок как-то облегчают процесс и задачу отчасти решают, но к сожалению не всегда эффективно.

Сейчас планируется встроить OLAP внутрь Галактика ERP. Конечно, это будет некий упрощенный механизм OLAP, вернее это будет "Desktop OLAP" или "In-memory OLAP". Будет предоставлен доступ к данному механизму как конечному пользователю, так и прикладному разработчику из ВИПа. За основу будет взята одна из сторонних библиотек реализующих DOLAP. Ниже - аналитическая записка по сравнению некоторых компонент, одну из них мы и выберем.

Интересует мнение форумчан по этому вопросу, возможно какие-то требования не учли или у Вас есть идеи по реализации.

Аналитическая записка
Сравнение библиотек Desktop OLAP для встраивания в Галактика ERP.



1. Общее
В обзор попадают известные библиотеки реализующие функционал <Desktop OLAP> (подробнее можно почитать в статье http://citforum.ru/consulting/BI/xolap_classification/).
Обычно данные получаются из реляционных источников, далее на клиенте формируется некий многомерный куб, с дальнейшей его визуализацией.
Изображение
Основная идея работы: все необходимые для анализа данные читаются из БД в память клиента. Необходимым образом агрегируются и проводится визуализация с произвольной (заданной пользователем) группировкой, фильтрацией и сортировкой, при этом данные из БД уже не читаются. Время отклика при изменении сортировки, группировки и фильтрации до 5 секунд (обычно менее 1 секунды). Компоненты адекватно работают на объемах до 1-3 млн. транзакций.

Необходим компонент для встраивания <внутрь> Атланстиса.
Ориентация для выбора элементов OLAP:
  • 1. <winform> библиотека, должна обязательно работать в windows приложении, желательно иметь аналог для ASPX
    2. Необходимо работа на всех платформах поддерживаемых Галактика ERP
    3. Необходимо обеспечить оперативное формирование кубов, без предварительной выгрузки в хранилище и длительной обработки. Время формирования куба и его визуализации должно быть сопоставимо со временем добычи данных через DirectSQL
    4. Богатые возможности визуализации многомерных данных, включая:
    • a. Сводные таблицы, фильтрация, сортировка и группировка
      b. Различные графики
      c. Показатели эффективности (индикаторы)
    5. Желательно обеспечить возможность изменять формулы агрегации и добавление вычисляемых показателей и элементов размерности
    6. Доступная стоимость лицензирования компонента для встраивания в Галактика ERP
При анализе представленных компонентов, рассмотрим наиболее известные:
  • 1. Radar-soft - российская компания
    2. DataDynamics Analysis - разработчики в России (Новосибирск)
    3. Fast-Cube - российская компания
    4. DevExpress PivotGrid
    5. Panopticon OLAP - добавлен в список в качестве исключения (для сравнения)
    6. Microsoft Excel 2010 Power Pivot (VertiPaq)

Далее рассмотрим подробнее каждый отдельный компонент

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

2.1. Radar-soft

Изображение
Изображение

Российская компания.
Наличие версий: VCL (устаревшая), .NET, ASPX, Silverlight
Достоинства:
  • 1. Богатый функционал фильтрации и сортировки
    2. Начальный DataMining
    3. Вычисляемые колонки и элементы размерностей
    4. Настройка иерархий
    5. Возможность переопределять агрегацию
    6. Поддержка графиков в ячейке (так называемый <VQL> - идея TableAU)
    7. Визуальный дизайнер кубов, иерархий и т.п. (аналог дизайнера запросов)
    8. Возможность встраивания редактирования ячеек
    9. Возможность сохранить локальный куб
    10. Поддержка Microsoft Analysis Services
    11. Хорошее быстродействие
    12. Интеграция с fast-report
Известная/старая фирма, начинала с VCL, все время занимается разработкой подобных элементов. Является одним из лидеров OLAP компонент.
On-line demo: http://www.radar-soft.com/ru/products/aspnet.aspx

2.2. DataDynamics Analysis
Изображение

Наличие версий: .NET, ASPX, Silverlight
Достоинства:
  • 1. Богатый функционал фильтрации и сортировки
    2. Начальный DataMining
    3. Вычисляемые колонки и элементы размерностей
    4. Настройка иерархий
    5. Возможность переопределять агрегацию
    6. Поддержка графиков в ячейке (так называемый <VQL> - идея TableAU)
    7. Визуальный дизайнер кубов, иерархий и т.п. (аналог дизайнера запросов)
    8. Возможность встраивания редактирования ячеек
    9. Возможность сохранить локальный куб
    10. Поддержка Microsoft Analysis Services
    11. Хорошее быстродействие
    12. Интеграция с fast-report
Известная/старая фирма, ранее разрабатывала VCL компоненты, однако сейчас полностью все переписала ориентируясь на реализацию мирового лидера TableAU Software (данный продукт встроен в Oracle BI Hyperion).


2.3. Fast-Cube
Изображение
Наличие версий: VCL
Достоинства:
  • 1. Богатый функционал фильтрации и сортировки
    2. Начальный DataMining
    3. Вычисляемые колонки и элементы размерностей
    4. Настройка иерархий
    5. Возможность переопределять агрегацию (50%)
    6. Поддержка графиков в ячейке (так называемый <VQL> - идея TableAU)
    7. Визуальный дизайнер кубов, иерархий и т.п. (аналог дизайнера запросов)
    8. Возможность встраивания редактирования ячеек
    9. Язык вычислений такой же, как и в Fast-Report
    10. Интеграция с Fast-Report
Немного неполная реализация, с ограничениями. Но у нас уже есть опыт работы с данной фирмой и кроме этого язык описания куба и архитектура совместимы с fast-report.

2.4. DevExpress PivotGrid
Изображение
Наличие версий: .NET, VCL, WPF, ASPX, Silverlight
  • 1. Богатый функционал фильтрации и сортировки. Много возможностей, но необходимо их все подключать отдельно. Не все доступны по умолчанию.
    2. Начальный DataMining
    3. Вычисляемые колонки и элементы размерностей
    4. Настройка иерархий
    5. Возможность переопределять агрегацию (50%)
    6. Поддержка графиков в ячейке (так называемый <VQL> - идея TableAU)
    7. Визуальный дизайнер кубов, иерархий и т.п. (аналог дизайнера запросов)
    8. Возможность встраивания редактирования ячеек
    9. Уже куплен
Самое главное: данный компонент уже куплен, хотя он конечно отстает от конкурентов по функционалу (radar-soft и datadynamics)
On-line demo (ASPX): http://demos.devexpress.com/ASPxPivotGridDemos/

2.5. Microsoft Excel 2010 Power Pivot (VertiPaq)
Встроенная часть новой версии SSAS в excel, прямой программный интерфейс отсутствует, но можно использовать API Excel
Очень широкие возможности по вычислениям. Очень хорошее быстродействие. Возможность публикации кубов на сервер SharePoint. Собственный язык расчетов и связывания данных DAX. Поддержка MDX. Возможность просмотра не только в интерфейсе Галактика ERP, но и в Excel.
Неотделим от Excel 2010
Если технически возможно <прозрачно> интегрировать данную технологию в Галактика ERP, возможно это оптимальное решение.

2.6 Panopticon OLAP

1. Хорошее быстродействие
2. Много визуальных компонентов для формирования интерактивных отчетов
3. Поддерживает Real-time кубы, т.е. можно менять данные в БД и моментально будет обновляться куб.
On-line demo: http://www.panopticon.com/demo_gallery/ ... x_demo.htm

2.7 Общая таблица сравнений
В таблице, на основе личных впечатлений привел результаты некоторых сравнений компонент. (0-нет реализации, 1-удолетворительно, 2-хорошо, 3-отлично)
Необходимо отметить сравнение носит не окончательный характер и может быть уточнено и дополнено.
Изображение

3 Предложения по внедрению в Атланстис/Галактика ERP
Важным условием хорошей работы является быстродействие, поэтому предлагается в данном механизме использовать доступ к данным через DirectSQL, что и обеспечит необходимое быстродействие при выборке данных.

Кроме этого предполагается встроить возможность построить многомерный куб в любом ВИП интерфейсе, на основе его логической таблицы. Эта возможность полностью аналогична реализованной сейчас на базе Fast-Report.

4 Заключение
Можно установить различные продукты и сравнить их, для всех продуктов присутствуют демонстрационные версии.
Для простых <встроенных> решений, можно выбрать, в порядке приоритета:
  • 1. Radar-Soft - если нам нужен дизайнер кубов
    2. DataDynamics - если дизайнер не нужен (визуализация мне кажется лучшей, больше похоже на оригинал реализованный в tableau)
    3. Fast-Report - из-за его тесной интеграцией с Fast-report
Первые две отличаются:
  • 1. Богатыми возможностями по визуализации графиков в ячейке
    2. Возможностью интеграции с SSAS (т.е. мы можем подключать наше хранилище Галактика BI)
    3. Возможностью редактирования ячеек - это актуально для бюджетов, планов (эта возможности есть и в DevExpress)

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Вт, 10/08/2010 08:27
stix
Спасибо! Интересный обзор. Удивлен что для Галактики еще что-то дорабатывают, обычно все ставят на финансирование и благополучно забывают. Мое ИМХО, сейчас пользователям за глаза хватит нормального грида. Нынешний browse это вообще тихий ужас. Нужна возможность фильтрации, группировки, сортировки + возможность выгрузки в Excel. OLAP это для наших пользователей через чур круто. А вообще почему бы не заменить все контролы на купленные? Тут и отлаженный годами код и суппорт. Например на DevExpress тот же, получим в придачу и OLAP и шедулеры и чарты и еще много разных вкусностей. Почему не заменить vip на .NET язык, можно ведь хостить CLR, а текущий vip пусть будет враппером к managed коду, тогда и старый код не нужно будет переписывать. А потом по-тихоньку полностью перепишите на новый код (на C# тот же). Да и сам vip какой-то куцый язык

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Вт, 10/08/2010 22:00
poneatovski
1. Перечисленные продукты отличаются еще и простотой или сложностью использования конечным пользователем. Исходя из этого надо определить, какой уровень пользователей будет использовать эти продукты. Это могут быть руководители разного уровня (от руководителей отделов до заместителей генерального директора), экономисты, сотрудники отделов (продаж, снабжения, ...).
2. Кубы реального времени или обновляемые по запросу кубы - это очень важное преимущество.
3. Возможно в будущем появиться необходимость переносить в БД системы Галактика измененные данные куба. Требование: возможность обеспечить импорт данных в систему Галактика.

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Ср, 11/08/2010 21:48
kroxa
stix писал(а):Мое ИМХО, сейчас пользователям за глаза хватит нормального грида.
на самом деле отсутствие нормальной возможности представить данные не только в списке, но и кросс-таблице уже породило огромные куски кода, и ситуация только усугубляется. поэтому и будет подобное развитие. кроме этого данный кусочек "нового" не так сложен в реализации...

переход на С# и девекспрес сложен из-за логических таблиц, и этот вопрос лучше обсуждать с Федором :-) .

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Ср, 11/08/2010 22:04
kroxa
poneatovski писал(а):1. Перечисленные продукты отличаются еще и простотой или сложностью использования конечным пользователем. Исходя из этого надо определить, какой уровень пользователей будет использовать эти продукты. Это могут быть руководители разного уровня (от руководителей отделов до заместителей генерального директора), экономисты, сотрудники отделов (продаж, снабжения, ...).
2. Кубы реального времени или обновляемые по запросу кубы - это очень важное преимущество.
3. Возможно в будущем появиться необходимость переносить в БД системы Галактика измененные данные куба. Требование: возможность обеспечить импорт данных в систему Галактика.
1. будет как и в случае excel pivot, fast-report две возможности: 1) дизайн и просмотр - для продвинутых 2) только просмотр для обычных пользователей
2. real-time конечно это хорош, но для реального времени еще необходимо интеграция с кэшем и пр. что наверняка затруднит интеграцию и вставку. что бы для этого требования увеличился рейтинг необходимо привести примеры для чего real-time кубы могут быть использованы в Галактика ERP (у меня пока нет ни одного дельного примера ;-)
3. в данном случае не предполагается хранение каких-либо данных в кубах, т.е. все данные хранятся всегда в БД, куб это своего рода аналог отчета fast-report. может быть будет вариант с публикацией куба (по аналогии как реализовано в контур-кубе) если выбранная компонента будет это поддерживать

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Чт, 12/08/2010 15:59
poneatovski
kroxa писал(а):2. real-time конечно это хорош, но для реального времени еще необходимо интеграция с кэшем и пр. что наверняка затруднит интеграцию и вставку. что бы для этого требования увеличился рейтинг необходимо привести примеры для чего real-time кубы могут быть использованы в Галактика ERP (у меня пока нет ни одного дельного примера ;-)
Как я понимаю, обновление данных для куба из рабочей БД будет происходить с помощью планировщика задач (шедулера). Это обновление будет происходит, например раз в сутки (ночью). Для повышения актуальности данных необходимо обеспечить обновление данных по требованию. Актуальность нужна, например, для принятия управленческих решений на основе данных системы Галактика.

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Чт, 12/08/2010 16:19
Seybukan
Реальный куб например нужен для анализа загрузки планового фонда рабочего времени работы производственных центров. Пересчитал заказ, проанализировал, пересчитал заказ, проанализировал, пересчитал заказ, проанализировал... Таких итераций может быть множество в сутки. Это для заказного и проектного производства.

Для серийного производства пересчет плана идет раз в период планирования (например месяц). Получается, что в конце месяца может быть произведено множество операций перерасчета графика изготовления на предмет анализа загрузки производственных центров.

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

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Чт, 12/08/2010 20:15
kroxa
poneatovski писал(а):Как я понимаю, обновление данных для куба из рабочей БД будет происходить с помощью планировщика задач (шедулера). Это обновление будет происходит, например раз в сутки (ночью). Для повышения актуальности данных необходимо обеспечить обновление данных по требованию. Актуальность нужна, например, для принятия управленческих решений на основе данных системы Галактика.
так работает "Галактика BI" - это решение есть уже сейчас.
новое решение предполагает быстрое построение кубов в момент запроса (точно так как формируется отчет FR). даже не уверен, что кубы можно будет сохранить... шедулера точно не будет, вернее можно будет пользоваться стандартной технологией для генерации отчетов/кубов Галактика ERP (шедулер виндоус и запуск с параметром интерфейса. Наверное нужно будет предусмотреть специальный интерфейс для запуска )

Re: Выбор элемента для реализации OLAP в Галактика ERP

Добавлено: Чт, 12/08/2010 20:18
kroxa
Seybukan писал(а):Реальный куб например нужен для анализа загрузки планового фонда рабочего времени работы производственных центров...
ну это и так возможно, на самом деле реальное время, это когда вы смотрите куб, а в нем данные постоянно меняются (мультипликация этакая) используется например для форекса, отображения информации с датчиков... в ЕэРПи не знаю где нужно.