Proposition: Simulation einer spaltenorientierten Speicherung

Hat man nicht die Möglichkeit, eine originär spaltenorientierte Datenbank zu nutzen, kann die Spaltenorientierung auch mir herkömmlich Zeilenorientierten Datenbanksystemen erreicht werden.

Hierzu gibt es zwei Methoden:

  • Vertikale Partitionierung: Bei der vertikalen Partitionierung wird aus jeder Spalte einer Tabelle eine separate, eigene Tabelle erstellt. Die Daten können anschließend wieder über ihren Primary Key zusammengefügt werden. Manche Datenbanksysteme unterstützen vertikale Partitionierung direkt. Wird vertikale Partitionierung nicht unterstützt, können die Tabellen natürlich auch manuell angelegt werden.
  • Jede Spalte indexieren: Wird jede Spalte indexiert, so können die Queries anschließend direkt auf dem Index laufen. Nachteilig ist, dass alle Indexe beim aktualisieren einer Spalte aktualisiert werden müssen.

Abschließend lässt sich jedoch feststellen, dass die spaltenorientierte Speicherung beiden Ansätzen überlegen ist. Sie ist deutlich performanter als die vertikale Partitionierung und platzsparender als die zusätzliche Indexierung aller Spalten.