Pregunta

Estoy usando Saiku 2.5 y no estoy seguro de cómo modelar la siguiente situación:

Dimensiones:

  • Categoría (~ 20 filas)
  • Subcategoría (~ 100 filas)
  • Subsubcategoría (~ 1200 filas)
  • Subsubsubcategory (~ 8000 filas)
  • Otro1 (~ 100000 filas)
  • Otro2 (~ 50000 filas)
  • Otro3 (~ 500 filas)
  • Other4 (~ 500 filas)
  • Other5 (~ 200 filas)
  • Other6 (~ 200 filas)
  • Other7 (~ 100 filas)
  • Other8 (~ 10 filas)

Medidas:

  • Hechos (~ 20000000 filas)

Relaciones

  • El hecho tiene otros [ d
  • El hecho tiene una subsubcategoría
  • SubsubSubCategory tiene subsubcategoría
  • Subsubcategoría tiene subcategoría
  • La subcategoría tiene categoría

Me gustaría saber si es mejor en cuanto al rendimiento, desasormalizar todas las categorías en una tabla o dejarla como es. Cada tabla "similar a la categoría" tiene un varchar (8) y dos textos ().

¿Fue útil?

Solución

Me gustaría saber si es mejor en cuanto al rendimiento, desasormalizar todas las categorías en una tabla o dejarla como es.

Estás optimizando un almacén de datos para el rendimiento de lectura, por lo que optaría por desnormalizar las tablas de categoría. Estás hablando de aproximadamente 8,000 filas o una página y media en la mayoría de las bases de datos relacionales. Podrías mantener esta mesa en la memoria.

Parece que un esquema de estrella funcionaría para ti. Si las otras dimensiones tienen relaciones, entonces se justificaría un esquema de copo de nieve.

Otros consejos

Sus categorías deben estar en una sola tabla, ya que las uniones de 8k filas son fáciles.

Otros deben dividirse en algunas tablas. Esto permitirá a Mondrian realizar la unión a altos niveles (baja cardinalidad) cuando sea posible y, por lo tanto, funcione mejor.

Mondrian juega bien con ambos escenarios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top