При работе со словарями не понятно как:- Просмотреть весь словарь с использованием SQL (Хотелось бы VIEW)- Нет функции getChildren, и пр., для удобства работы с иерархиями, уровня иерархии и пр.- Хотелось бы при работе со словарями иметь возможность делать JOIN через VIEW - важно для BI - систем на основе схем звезды и снежинки
Другие вопросы:- Планируются ли поддержка MDX?- Планируется ли поддержка древовидных запросов вида START WITH ... CONNECT BY PRIOR и пр для работы с деревьями и графами- Просьба добавить оператор DESCRIBE FUNCTION - сейчас нет возможности увидеть сигнатуры в system.functions- Планируется ли писать Dialect для Hibernate (ORM для Java)- Планируется ли прикрутить R ?
Приветствую.
По поводу справочников решил попробовать дать обоснования их доработки.
Для BI систем является необходимым создавать многомерную модель, представленную в виде схемы “Звезда” или “Снежинка”. В данной модели имеются таблицы фактов и таблицы измерений.
Классически существуют три уровня данной модели – физический, бизнес-модели и маппинга, презентационный.
На физическом уровне представлены источники данных, объекты источников данных (таблицы и представления) и связи между ними (в данном случае могут быть представлены ограничения внешнего ключа). На физическом уровне к данным от справочников не может быть предоставлен в виде реляционного объекта. Конечно, если измерение хранится в другой СУБД – например в MySQL – через источник данных к ним может быть предоставлен доступ, но при этом тога теряется смысл использования справочников –на них не получится сослаться в BI-системе.
На уровне бизнес-модели и маппинга происходит выделение маппинг собственно метрик (measures) и измерений (dimensions), содержащие разного типа иерархии и уровни или отношения – родитель-подчиненный. Кроме всего прочего измерения содержат дескриптивные атрибуты, необходимые для вывода в удобочитаемой форме. По данным атрибутам осуществляется поиск (поиск в справочнике по атрибутам). При использовании иерархий происходят в OLAP операции Roll Up , Drill Down, Projection, Adhoc, Pivot. Для ряда случаев необходимы операции для Parent-Child отношений: getParent, getChildren и пр. Кроме всего уровни в иерархии определяют уровень агрегации например по времени (День, Неделя, Месяц, Полугодие, Год, За весь период) и т.д. Сейчас этого сделать нельзя. Грубо говоря решен вопрос отложенной (Late) материализации данных – но BI система больше заточена на выполнения SQL JOIN-ов на базе реляционных объектов или на базе нативных многомерных систем (например ESSBASE).
На презентационном уровне происходит из общей бизнес-модели выделение витрин данных и определение доступа к ним (например, выбираются заданные измерения и меры, создаются пользователи и группы, ограничивается доступ к членам измерения (в данном случае - по атрибутам справочников – к котором нет сейчас SQL-доступа) или фактам или всем элементам многомерной модели, возможность внесения в агрегаты в OnLine-режиме).
Далее таким образом полученные витрины могут быть использованы пользователями для визуализации в виде инструментальных панелей, отчетов, географических карт, на них может быть проведен R-анализ и пр.
Сейчас очевидно справочники не могут быть полноценно использованы в BI-системах без доработки – но ведь именно они рекомендуются для использования для создания измерений.