Snowflake или Star для проектирования базы данных OLAP

Я использую Saiku 2.5 и не знаю, как смоделировать следующую ситуацию:

Размеры:

  • Категория (~20 строк)
  • Подкатегория (~100 строк)
  • SubSubCategory (~1200 строк)
  • SubSubSubCategory (~8000 строк)
  • Другое1 (~100000 строк)
  • Другое2 (~50000 строк)
  • Другое3 (~500 строк)
  • Другое4 (~500 строк)
  • Другое5 (~200 строк)
  • Другое6 (~200 строк)
  • Другое7 (~100 строк)
  • Другое8 (~10 строк)

Измерения:

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

Отношения

  • Факт имеет Другое[\d]
  • Факт имеет SubSubSubCategory
  • SubSubSubCategory имеет SubSubCategory
  • SubSubCategory имеет подкатегорию
  • Подкатегория имеет категорию

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


person fceruti    schedule 07.11.2013    source источник


Ответы (2)


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

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

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

person Gilbert Le Blanc    schedule 07.11.2013
comment
Абсолютно. Но еще важнее просто Мондриан. Это в значительной степени требует звездной схемы. Вы можете сделать снежинку, но это не так хорошо работает. - person Codek; 08.11.2013

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

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

Мондриан хорошо играет с обоими сценариями.

person Luc    schedule 08.11.2013