Оптимальная структура базы данных для MicroStrategy - PullRequest
2 голосов
/ 22 сентября 2010

Большую часть своей карьеры я посвятил разработке хранилищ данных / витрин в виде схем Star, поскольку они обычно использовались совместно с аналитическими службами Microsoft. Однако мы начинаем использовать MicroStrategy 9.0.1, и мне сказали, что схемы Star менее оптимальны для этой платформы. У MicroStrategy нет официальной позиции по этой теме, поэтому я решил спросить это сообщество. Стоит ли мне продолжать использовать денормализованные структуры или мне следует рассмотреть более нормализованный подход в отношении этой платформы?

Мое намерение не состоит в том, чтобы начать войну против Кимбалла против Инмона против и т.д.

Ответы [ 4 ]

1 голос
/ 11 февраля 2011

Когда мы пошли по пути MicroStrategy в 2007 году, консультанты MicroStrategy, с которыми мы работали, сказали нам, что схема «звезда» в порядке, но их технология лучше всего работает со схемой «снежинка». Разница в том, что измерения нормализованы, то есть вместо таблицы измерений времени у вас есть таблицы измерений «День», «Неделя», «Месяц», «Квартал» и «Год». Поскольку мы работали в сфере транспорта и логистики, наше хранилище данных имело много сложных связей, но не огромное количество данных; высокое «отношение таблицы к терабайту». В ортодоксальной форме паттерны звезд и снежинок объединяются в таблицы фактов только через согласованные измерения, и какое-то время мы рассматривали «гибридную» схему с объединениями между таблицами фактов. В итоге мы выбрали нормализованную структуру хранилища данных, как наиболее подходящую для компании.

Мы потратили много месяцев на разработку и совершенствование наших стандартов для объектов схемы MicroStrategy поверх наших складских таблиц и в итоге разработали очень надежные шаблоны. Эти шаблоны не были широко признаны и, насколько мне известно, не получили широкого распространения у других клиентов MicroStrategy. Они генерировали очень сложные sql, и мы получили отличное время отклика, даже для специальных отчетов, так как мы использовали Netezza в качестве хранилища данных. Недостатком было то, что количество объектов приложения, необходимых для следования шаблону, было намного выше, чем для других шаблонов, а уровень знаний для разработки новых метрик был высоким. Мы успешно обучили всех наших пользователей BI использовать существующие метрики (разработанные специалистами BI). Сегодня это решение BI / DW активно используется.

Поэтому я утверждаю, что MicroStrategy не был создан для нормализованной схемы хранилища данных, хотя их технология очень надежна и достаточно надежна для работы с такой базой данных. Их предпочтительный шаблон - снежинка, с нормализованными таблицами измерений и стандартными таблицами фактов.

1 голос
/ 22 октября 2010

Я имел удовольствие (или иное) от работы с MicroStrategy в течение последних восьми лет.Я думаю, было бы справедливо сказать, что продукт был разработан для использования со схемой в третьей нормальной форме.То есть проще всего смоделировать ваши объекты в инструменте с помощью схемы, спроектированной таким образом.

Как говорит Угур, MSTR вполне способен работать со звездообразной схемой и в зависимости от ваших данных, может быть лучше использовать звездообразную схему (для повышения производительности), даже если моделирование немного (или много) сложнее в проекте MicroStrategy.

1 голос
/ 22 октября 2010

Это на самом деле не имеет большого значения, используя звездные схемы с MicroStrategy. Просто нужно немного привыкнуть, и он генерирует прекрасные запросы в этом формате.

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

Я думаю, вы можете увидеть шаблон в проекте Jumpstart. Расположен здесь: http://www.microstrategy.com/BI-application-jumpstart/

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

1 голос
/ 25 сентября 2010

Я работаю в банке в Турции, и мы работаем с MicroStrategy уже более 3 лет. У нас есть более 20 разных проектов, работающих на разных базах данных и разных типах схем. При правильном проектировании (и реализации) MSTR вполне способен обрабатывать схемы типа «звезда» и генерирует умеренно приятные операторы SQL. Я должен сказать, что привыкнуть к обработке родительского-дочернего элемента и таблицы поиска / факта в MSTR при проектировании архитектуры может быть довольно сложно. Но как только вы преодолеете это, это будет очень удобно.

...