Zum Inhalt springen

Hoher Durchsatz durch Paralleismus

Um die Leistung eines Systems zu steigern, muss normalerweise Computerhardware hinzugefügt werden. Das Ziel, insbesondere bei einer gemeinsam genutzten Ressource wie einer Datenbank, besteht darin, Teile (sowohl Hardware als auch Software) hinzuzufügen, die parallel ausgeführt werden können. Wenn ein System in Teile aufgeteilt wird, die sich gegenseitig blockieren oder stören, wird nichts gewonnen. Parallelität ist der Schlüssel. Wenn parallele Einheiten andere nicht behindern, kann der Gesamtdurchsatz erhöht werden.
 

Hier ist eine vorgeschlagene Architektur für eine Hardware- und Softwarekonfiguration, um maximale Parallelität bei Verwendung des RDM-Datenbankmoduls zu ermöglichen.

Hoher Durchsatz

 

Hardware

Die empfohlene Architektur enthält einen separaten Festplattencontroller für jedes Festplattenlaufwerk. Warum? Denn selbst wenn mehrere CPU-Kerne mehrere unabhängige Prozesse auf verschiedenen Festplattendateien ausführen, wird ein einzelner Festplattencontroller den Festplattenzugriff serialisieren und einen Engpass verursachen. Der Computer ist also ein Multi-Core-Computer mit 2 Kernen für jeden Festplattencontroller / jedes Laufwerk. In diesem Beispiel 8 Kerne mit 4 Controllern / Laufwerken.

Software

Angesichts dieser Hardwarekonfiguration muss eine Softwarekonfiguration für den Parallelbetrieb entworfen werden. Ein notwendiger Bestandteil für den parallelen Softwarebetrieb ist eine Datenbank, die so partitioniert ist, dass jede Partition unabhängig von den anderen Partitionen aktualisiert werden kann.

 

Die Anwendungen in der obigen Abbildung öffnen 4 verschiedene Datenbanken in 4 verschiedenen Aufgabenstrukturen und entscheiden dann anhand eines Primärschlüssels, in welche Datenbank ein Datensatz gehört. Er findet ihn entweder dort oder erstellt ihn dort. Lesen ist anders. Innerhalb einer "Task" -Struktur sollten alle 4 Datenbanken in einem Aufruf mithilfe der Datenbankverbindungsfunktion geöffnet werden, und das Lesen sollte ohne Sperren mithilfe von schreibgeschützten MVCC-Transaktionen (Multi-Version Concurrency Control) erfolgen.

 

Beachten Sie auch, dass CPU-Kerne so dargestellt werden, als wären sie Anwendungsprozessen zugewiesen. In Wirklichkeit arbeiten sie jedoch normalerweise als SMP, sodass die Ausführung der verfügbaren Prozesse geplant ist. In diesem Fall sind es möglicherweise alle 4 TFSs und bis zu 4 Anwendungsprozesse.

 

Mit einer ähnlichen Architektur wie RDM können Entwickler Anwendungen entwerfen, die die Vorteile moderner Hardware und Betriebssysteme nutzen. Durch die Bereitstellung von Funktionen, die Parallelität innerhalb der Daten-Engine unterstützen, können Entwickler mit RDM Anwendungen erstellen, die mit der bereitgestellten Hardware skaliert werden können.

Probieren Sie die Konfiguration jetzt aus