Мондриан — данные таблицы фактов в формате XML

Я оцениваю решение Mondrian-Saiku для клиента.

Проанализировав их текущие схемы баз данных, я понял, что то, что представляет собой их «данные таблицы фактов», в настоящее время хранится в XML. Сами XML хранятся как типы данных blob в таблице MySQL. Подумайте об этом так: в таблице хранятся все транзакции компании; детали каждой транзакции хранятся в собственном XML; каждая строка XML хранится как одно из значений поля в данной строке транзакции.

Это создает небольшую дилемму, поскольку XML-схема Mondrian требует явного использования имен столбцов.

Если не считать необходимости извлекать и передавать XML-данные в новые таблицы (нереалистично для моих целей из-за размера данных и зависимостей от других систем), есть ли способ, которым я могу использовать существующую настройку моего клиента для целей Mondrian- Реализация Сайку?


person kaspnord    schedule 30.03.2012    source источник


Ответы (1)


Вам нужно представить данные традиционным табличным способом. При чем здесь база данных? Можете ли вы создать представление базы данных, которое выполняет некоторую обработку XML для XML в большом двоичном объекте и предоставляет столбцы?

В качестве альтернативы здесь может помочь что-то вроде композита или jboss teiid. Эти инструменты позволяют отображать в виде стандартной таблицы практически все, что угодно. Хотя может и не быстро!

person Codek    schedule 26.04.2012
comment
Спасибо за ваш вклад. После публикации этого вопроса я экспериментально обнаружил, что Mondrian XML поддерживает ExtractValue() через MySQL. Таким образом, нет необходимости вносить изменения в существующую базу данных. Узким местом, по-видимому, является функция ExtractValue(), которая выполняется много-много раз для агрегирования данных. - person kaspnord; 29.04.2012
comment
В порядке. Ах я вижу; Я думал, вы говорите, что вся запись была закодирована в XML! Значит, я неправильно понял ваш вопрос. Да, я думаю, что Mondrian таким образом поддерживает любые функции SQL. Очевидно, что он должен хорошо кешироваться после первого выполнения, но если он все еще слишком медленный, вам нужно либо найти более быстрый способ анализа xml, либо, как было предложено, в любом случае извлечь данные в правильный столбец. Или, возможно, использовать таблицы Agg, но в данном случае это только OTT! - person Codek; 30.04.2012