2013-11-07 2 views
1

Я использую Saiku 2.5, и я не знаю, как смоделировать следующую ситуацию:Снежинка или звезды для проектирования баз данных OLAP

габариты:

  • Категория (~ 20 строк)
  • Субкатегория (~ 100 строк)
  • SubSubCategory (~ 1200 строк)
  • SubSubSubCategory (~ 8000 строк)
  • Разное1 (~ 100000 строк)
  • Разное2 (~ 50000 строк)
  • Разное3 (~ 500 строк)
  • Разное4 (~ 500 строк)
  • Разное5 (~ 200 строк)
  • Other6 (~ 200 строки)
  • Разное7 (~ 100 строк)
  • Разное8 (~ 10 строк)

Measuremnts:

  • Факты (~ 20000000 строк)

Отношения

  • факт Другое [\ D]
  • факт SubSubSubCategory
  • SubSubSubCategory имеет SubSubCategory
  • SubSubCat egory имеет ПОДКАТЕГОРИЯ
  • SubCategory имеет категорию

Я хотел бы знать, если это лучше производительность мудрым, чтобы де-нормализовать все категории в одну таблицу, или оставить его как есть. Каждая таблица категории похожа на VARCHAR (8) и два TEXT().

ответ

2

Я хотел бы знать, лучше ли это, чтобы де-нормализовать все категории в один стол или оставить его как есть.

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

Кажется, что схема звезд будет работать для вас. Если у других измерений есть отношения, то схема снежинок будет оправдана.

+0

Абсолютно. Но большая точка - просто мондрий. Это в значительной степени требует звездной схемы. Вы можете делать снежинки, но это не так хорошо. – Codek

0

Ваши категории должны быть в одной таблице, так как объединения в 8k строк легко.

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

Mondrian хорошо играет в обоих сценариях.

Смежные вопросы