Frage

Ich verwende Saiku 2.5 und bin mir nicht sicher, wie ich die folgende Situation modellieren soll:

Diments:

  • Kategorie (~ 20 Zeilen)
  • Unterkategorie (~ 100 Zeilen)
  • Subsubcategory (~ 1200 Zeilen)
  • Subsubsubcategory (~ 8000 Zeilen)
  • Other1 (~ 100000 Zeilen)
  • Andere2 (~ 50000 Zeilen)
  • Other3 (~ 500 Zeilen)
  • Other4 (~ 500 Zeilen)
  • Andere5 (~ 200 Zeilen)
  • Other6 (~ 200 Zeilen)
  • Other7 (~ 100 Zeilen)
  • Other8 (~ 10 Zeilen)

Messungen:

  • Fakten (~ 20000000 Zeilen)

Beziehungen

  • Tatsache hat andere [ d
  • Fakt hat subsubsubcategory
  • Subsubsubcategory hat subsubcategory
  • Subsubcategory hat Unterkategorie
  • Die Unterkategorie hat eine Kategorie

Ich würde gerne wissen, ob es besser leistungsstark ist, alle Kategorien in einen Tisch zu deparieren oder so wie er ist. Jede "kategorieartige" Tabelle hat einen Varchar (8) und zwei Text ().

War es hilfreich?

Lösung

Ich würde gerne wissen, ob es besser leistungsstark ist, alle Kategorien in einen Tisch zu deparieren oder so wie er ist.

Sie optimieren ein Data Warehouse für die Leseleistung, daher würde ich mich für die Denormalisierung der Kategorie -Tabellen entscheiden. Sie sprechen in den meisten relationalen Datenbanken über ungefähr 8.000 Zeilen oder eine halbe Seite. Sie können diese Tabelle im Speicher halten.

Scheint, als würde ein Sternschema für Sie funktionieren. Wenn die anderen Dimensionen Beziehungen haben, wäre ein Schneeflockenschema gerechtfertigt.

Andere Tipps

Ihre Kategorien sollten sich in einer einzigen Tabelle befinden, da 8K -Zeilenverbindungen einfach sind.

Andere sollten in wenigen Tischen aufgeteilt werden. Dies ermöglicht es Mondrian, den Join nach Möglichkeit auf hohen Niveaus (niedrige Kardinalität) durchzuführen und somit eine bessere Leistung zu erzielen.

Mondrian spielt gut mit beiden Szenarien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top