von Markus Winand.

Daten-Cluster

Die zweite Macht der Indizierung


Der Begriff „Cluster“ wird in vielen Fachgebieten benutzt und bedeutet so viel wie „Anhäufung“ oder „Haufen“. So können in der Astronomie bei­einanderliegende Sterne einen Sternen-Cluster bilden. In der EDV spricht man von einem Computer-Cluster als Verbund von Computern, die eng zusammenarbeiten, um gemeinsam ein Problem zu lösen (High Per­for­mance Computing Cluster) oder die Verfügbarkeit zu erhöhen (Failover-Cluster). Der Begriff „Cluster“ beschreibt also ganz generell zu­sam­men­gehörige Dinge.

In der Informatik gibt es aber noch andere Cluster: die Daten-Cluster. Diese ordnen Daten so an, dass der Zugriff auf zusammengehörige Daten möglichst effektiv ist. Daten-Cluster sind daher ein wichtiges Mittel zur Optimierung von Datenbanken. Im Zusammenhang mit Datenbanken sind aber auch Computer-Cluster verbreitet. So könnte der Satz „Verwende einen Cluster, um die Datenbank-Performance zu verbessern“ sowohl einen Computer-Cluster als auch einen Daten-Cluster meinen. Um dieser Verwirrung vorzubeugen, sei angemerkt, dass ein Cluster in diesem Ka­pi­tel stets einen Daten-Cluster bezeichnet.

Die einfachsten Daten-Cluster in relationalen Datenbanken sind die Zeilen einer Tabelle. Sie werden – wenn möglich – im selben Datenblock abge­speichert. Nur wenn eine Zeile nicht in einen einzelnen Datenblock passt, wird sie auf mehrere aufgeteilt. Das ist vor allem bei LOB-Spalten der Fall.

Spaltenorientierte Datenbanken

Spaltenorienterte Datenbanken, auch Column-Store genannt, spei­chern Tabellen spaltenweise ab. Die Vorteile dieser Methode über­wie­gen, wenn viele Zeilen, aber nur wenige Spalten abgefragt werden. Dieses Muster ist vor allem im Data-Warehouse(OLAP)- oder Business-Intelligence-Umfeld verbreitet.

Indizes bieten die Möglichkeit Daten gezielt zu clustern. Das zu­grun­delie­gende Konzept wurde bereits in Kapitel 1, „Anatomie eines SQL Indexes, vorgestellt: Ein Index ist eine sortierte Form der indizierten Daten. Ähnliche Werte werden nebeneinander abgelegt. Das bedeutet, dass ein Index einen Cluster aus Zeilen mit ähnlichen Werten bildet. Diese Fähigkeit, Daten zu clustern, ist so wichtig, dass ich sie als die „zweite Macht der Indizierung“ bezeichne.

Beachte

Das Durchwandern des Baumes ist die erste Macht der Indizierung.

Clustering ist die zweite Macht der Indizierung.

Die folgenden Abschnitte erklären, wie man diese Macht nutzt, um die Abfragegeschwindigkeit zu verbessern.

Inhalt

  1. Index-Filterprädikate gezielt einsetztenLIKE tunen

  2. Index-Only Scan – Den Tabellenzugriff vermeiden

  3. Index-organisierte Tabellen – Clustered Indizes ohne Tabelle

Vorherige SeiteNächste Seite

Du kannst nicht alles an einem Tag lernen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS um sukzessive aufzuholen. Und sieh dir auch modern-sql.com an.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2010-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO