Video: Horizontales vs. vertikales Krafttraining: Wann Du welche Methode anwenden solltest! 2025
Die meisten relationalen Datenbankmanager wurden auf einem horizontalen Speichermanager , erstellt, der alle Daten in einem Datenbank nach Zeile (oder Datensatz), wenn eine Transaktion stattfindet. Eine Datenbanktabelle wird als eine Kette von Datenbankseiten dargestellt, die eine oder mehrere Datenzeilen enthalten.
Ein horizontaler Speichermanager bietet eine schnelle Onlinetransaktionsverarbeitung (OLTP), da die meisten Transaktionen in einem Datensatzformat erfolgen, z. B. Einfügen eines Hauptbucheintrags oder Schreiben eines Schecks. Wenn ein Benutzer jedoch einen Datensatz anfordert, wird die Datenbankseite, die die Daten enthält, häufig in den Speicher verschoben, was für Business-Intelligence-Anwendungen äußerst ineffizient ist.
Im Laufe der Jahre sind mehrere Datenbank-Spezialprodukte entstanden, die dazu dienen, abfragezentrierte Anwendungen wie Business Intelligence zu unterstützen und zu optimieren. Solche Produkte ermöglichen es Ihnen, interaktive Data Warehouses leichter zu entwickeln. Das Ziel dieser spaltenweisen Datenbanken besteht darin, die Geschwindigkeit der Entscheidungsunterstützungsabfragen zu erhöhen, die bei großen Datenmengen ausgeführt werden.
Wenn Datenbankadministratoren gefragt werden, ob sie jemals einen Index auf einer Spalte platzieren möchten, die die Ortsvorwahl einer Person, den Notendurchschnitt eines Teilnehmers oder die gesamten Transaktionen eines Kunden enthält, antwortet er mit einem lauten "Nein! "Sie geben diese unnachgiebige Antwort normalerweise aus Gründen, die auf Technologie basieren, wie zum Beispiel:
-
Wir indexieren aufgrund des Overheads von Indizes nur auf standardmäßigen, bekannten Pfaden (z. B. Name).
-
Die Kardinalität , oder das einmalige Auftreten von Daten, zwingen die Datenbank sowieso, einen Tabellenscan durchzuführen.
Wenn Sie Benutzer jedoch fragen, welche Informationen sie zur Erfüllung ihrer beruflichen Aufgaben benötigen, reagieren sie mit diesen Anforderungen:
-
Die Anzahl der Personen nach Gebietscode in meinem Gebiet anzeigen, damit ich meine Angebote effektiver verwalten kann..
-
Identifizieren Sie die besten Schüler der Abschlussklasse, damit ich die richtigen Interviews arrangieren kann.
-
Finden Sie heraus, welche Kunden mit meinem Unternehmen Geschäfte machen und geben Sie jährlich zwischen 100 000 und 500 000 US-Dollar aus.
Jede dieser drei Anforderungen charakterisiert eine andere Benutzeranforderung, dennoch erfüllen sie alle ähnliche Funktionen: Sie sind entscheidungsunterstützungsorientierte Abfragen. Die Notwendigkeit, auf Daten zuzugreifen, führt zu Anforderungen an die Benutzerinformationen, aber die Zugriffsmuster der Benutzer sind nicht mit den meisten RDBMS-Indexierungsstrategien kompatibel. Kurzum, die RDBMS-Technologie behindert den Erfolg der Anwendungen.
Eine Datenbanktabelle wird als Kette von Datenbankseiten dargestellt, die eine oder mehrere Datenzeilen enthalten (siehe Abbildung).Ein horizontaler Speichermanager bietet eine schnelle Online-Transaktionsverarbeitung (OLTP), da die meisten Transaktionen in einem Datensatzformat erfolgen.
Diese relationalen Datenbanken unterstützen die Abfrageaktivität mithilfe von Indizes. Indizes werden auf den Zeilen aufgebaut, um das Abrufen von Daten auf gemeinsamen Pfaden zu vereinfachen und zu beschleunigen, wie in der Abbildung gezeigt.
Data Warehousing-Lösungen wie Business Intelligence verwenden nicht viele dieser Indizierungstechniken, da sie so gestaltet wurden, dass sie OLTP-Anwendungen beim häufigen Suchen und Aktualisieren einzelner Zeilen innerhalb von Datenbanktabellen unterstützen.
Um typische Benutzeranfragen in Business Intelligence richtig zu unterstützen, sind andere Speicher- und Indizierungstechniken erforderlich. Anbieter wie Sybase und Vertica haben vertikale Speichermanager aufgebaut. Anstatt die Daten zeilenweise zu speichern, speichern diese Produkte die Daten nach Spalten - daher der Name vertikaler Speichermanager oder der spaltenweise Speicher.
Diese Speicherungsmethode löst effektiv das Problem von Benutzerabfragen gegen große Datensätze, da ein Benutzer oft nur wenige Spalten sucht, im Gegensatz zu der großen Anzahl von Spalten, die von einem horizontalen Speichermanager in einer Reihe verwaltet werden. Mit den Daten, die als eine Reihe von Seitenänderungen gespeichert werden, wobei jede Seite Spaltendaten enthält, wird die Abfrageverarbeitungszeit um einen Faktor von 500 oder mehr auf 1 reduziert.
Zusätzlich unterstützen diese Produkte andere Optimierungen, die die Geschwindigkeit der Abfrage unterstützen. Verarbeitung, einschließlich Datenkomprimierung, parallelen Abfragevorgängen und mehreren Indizierungstechniken pro Spalte. Die Herausforderung bei der Implementierung solcher Technologien beinhaltet die Standardisierung. Daher weigern sich viele Datenverwaltungsabteilungen, solche Technologien zu implementieren, da diese Technologien zusätzliche Unterstützungsarbeit erfordern.
