Zuerst wurde ein neues Java- Projekt mit dem Namen „Aufgabe9transaktionen“ in der Eclipse Entwicklungsumgebung erzeugt und der JDBC- Treiber installiert, damit man eine Schnittstelle zwischen Programm und Datenbank hat.
Im Projekt wurde eine Klasse mit dem Namen „Transaktionen“, erzeugt. Die Funktionen der Klasse wird unter den Punkten 2.1.1 – 2.1.6 erläutert. Das Programm durchläuft 3 Phasen, die „Einschwingphase“, die „Messphase“ und die „Ausschwingphase“. Die Phasen sind unter dem Punkt 2.1.1 erläutert. Der komplette Quellcode ist im Anhang zu finden.
Inhaltsverzeichnis
1. Aufgabenstellung
2. Vorgehen
2.1 Klasse Transaktion
2.2 main()- Methode
2.2.1 selectBranchid()- Methode
2.2.2 updateBranches()- Methode
2.2.3 updateTellers()- Methode
2.1.4 updateAccounts()- Methode
2.2.5 insertHistory()- Methode
3. Optimierungen
4. Messergebnisse
Zielsetzung & Themen
Das Hauptziel dieser Arbeit besteht in der Implementierung und Analyse einer TPC-A Benchmark-Messung für Datenbanksysteme. Dabei soll die Performance einer Auszahlungstransaktion unter Einhaltung der ACID-Eigenschaften mittels eines Java-Programms gemessen und durch verschiedene Konfigurationen des Datenbankmanagementsystems optimiert werden.
- Implementierung einer Java-basierten Transaktionslogik mittels JDBC
- Durchführung von Benchmark-Messungen unter variierender Client-Last
- Analyse des Einflusses von DBMS-Cache-Einstellungen auf den Durchsatz
- Vergleich der Performance bei unterschiedlichen Server-Konfigurationen
- Optimierung der Datenbank-Gesamtleistung durch Rekonfiguration des SQL-Servers
Auszug aus dem Buch
2.2 main() - Methode
Innerhalb der main()- Methode wird die Verbindung zur Datenbank hergestellt.
Die Prepared Statements werden definiert. Ein Prepared Statement ist eine sogenannte vorbereitete Anweisung für ein Datenbanksystem. Im Gegensatz zu gewöhnlichen Statements enthält es noch keine Parameterwerte. Anstatt dessen werden dem Datenbanksystem Platzhalter übergeben. Soll ein Statement mit unterschiedlichen Parametern mehrere Male (z. B. innerhalb einer Schleife) auf dem Datenbanksystem ausgeführt werden, erreicht man mit Prepared Statements einen deutlichen Geschwindigkeitsvorteil, da das Statement schon im Datenbanksystem vorliegt und nur noch mit den neuen Parametern ausgeführt werden muss.
Damit die Relation history nicht zu groß wird, werden bei jedem Start des Programms die Datensätze gelöscht. Dies wird mit dem Befehl TRUNCATE TABLE durchgeführt.
Zusammenfassung der Kapitel
1. Aufgabenstellung: Definition der Anforderungen für die zu entwickelnde Auszahlungstransaktion und der Rahmenbedingungen für die Benchmark-Messung.
2. Vorgehen: Beschreibung der Entwicklungsumgebung, der Java-Klasse für Transaktionen sowie der methodischen Umsetzung der Messphasen.
2.1 Klasse Transaktion: Deklaration der notwendigen Variablen, Konstanten und des Einstiegspunkts für das Benchmark-Programm.
2.2 main()- Methode: Implementierung der Datenbankverbindung sowie Definition der für die Transaktionen verwendeten Prepared Statements.
2.2.1 selectBranchid()- Methode: Erläuterung der Abfrage der Branch-ID basierend auf der Account-ID mittels SELECT-Befehl.
2.2.2 updateBranches()- Methode: Beschreibung der Aktualisierung des Kontostands in der Relation Branches.
2.2.3 updateTellers()- Methode: Erläuterung der Aktualisierung der Bilanzsumme in der Relation Tellers.
2.1.4 updateAccounts()- Methode: Detaillierung des Prozesses zur Aktualisierung des Kontostands in der Relation Accounts.
2.2.5 insertHistory()- Methode: Beschreibung der Protokollierung der Transaktionsdaten in der History-Relation mittels INSERT-Befehl.
3. Optimierungen: Analyse verschiedener Ansätze zur Performance-Steigerung durch DBMS-Einstellungen und Rekonfiguration des SQL-Servers.
4. Messergebnisse: Darstellung der erzielten Durchsatzraten bei unterschiedlichen Lastszenarien.
Schlüsselwörter
TPC-A, Benchmark, Datenbank, Java, JDBC, Transaktion, ACID, Durchsatz, Performance, SQL-Server, Optimierung, Client-Server, Prepared Statement, MySQL, Auszahlungstransaktion
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit dokumentiert die Durchführung einer TPC-A Benchmark-Messung, um die Leistungsfähigkeit einer Datenbanktransaktion zu testen.
Was sind die zentralen Themenfelder?
Zentrale Themen sind die Programmierung von Datenbank-Transaktionen in Java, die Durchführung von Lasttests und die Optimierung von DBMS-Einstellungen.
Was ist das primäre Ziel der Untersuchung?
Das Ziel ist die Implementierung einer korrekten Auszahlungstransaktion sowie die Messung und Optimierung des Transaktionsdurchsatzes pro Sekunde.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine experimentelle Methode eingesetzt, bei der unter kontrollierten Bedingungen Lasttests auf einem SQL-Server durchgeführt und die Ergebnisse empirisch ausgewertet werden.
Was wird im Hauptteil behandelt?
Der Hauptteil beschreibt die technische Umsetzung der Transaktionsmethoden in Java und dokumentiert systematische Optimierungsversuche am Datenbanksystem.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird maßgeblich durch Begriffe wie TPC-A Benchmark, Transaktionsdurchsatz, JDBC, Datenbank-Optimierung und SQL-Server-Konfiguration definiert.
Warum wurde eine Rekonfiguration des SQL-Servers als Optimierung gewählt?
Da einfache Cache-Anpassungen innerhalb des DBMS keine signifikanten Geschwindigkeitsvorteile brachten, wurde durch die Umstellung von "Developer" auf "Dedicated Server" die gesamte Hardware-Leistung dem Server zugewiesen.
Welche Rolle spielt die "Einschwingphase" im Programm?
Diese Phase dient dazu, die Festplatten-Zugriffe und DBMS-Prozesse zu initialisieren, damit die eigentliche Messung unter stabilen Bedingungen stattfindet.
- Arbeit zitieren
- Jan Drees (Autor:in), Matthias Ketteler (Autor:in), 2010, Datenbanken und Informationssysteme, München, GRIN Verlag, https://www.hausarbeiten.de/document/189750