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.
Auf einen Blick
- Eigene Durchsatzmessungen mit 1, 5 und 10 Clients
- Vollständiger Quellcode des Transaktionsprogramms im Anhang
- Test einer Serverrekonfiguration von Developer Maschine auf Dedicated Mysl Server Maschine
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 und Themen
Die Arbeit dokumentiert die Entwicklung eines Java-Programms zur Messung des Durchsatzes von Auszahlungstransaktionen und untersucht, wie sich unterschiedliche Clientzahlen und Änderungen an der Datenbankserverkonfiguration auf den Durchsatz auswirken.
- Umsetzung einer Auszahlungstransaktion mit Java und JDBC
- Aktualisierung von Konten, Geldautomaten und Zweigstellen sowie Protokollierung
- Messung von Transaktionen pro Sekunde bei unterschiedlicher Clientzahl
- Einsatz vorbereiteter Datenbankanweisungen
- Erprobung von Puffer-, Cache- und Servereinstellungen
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.
Zwei Variablen mit Zeiten werden definiert. Die eine beinhaltet die Startzeit und die andere wird bei jedem Schleifendurchlauf aktualisiert. Damit kann man festlegen wie lange die Schleife laufen soll.
Während der While- Schleife werden die Methoden „selectBranchid()“, „updateBranches()“, „updateTellers()“, „updateAccounts()“, „insertHistory()“ aufgerufen, die die Transaktionen durchführen. In der Schleife werden drei verschiedene Phasen durchlaufen, die „Einschwingphase“, die „Messphase“ und die „Ausschwingphase“. Die „Einschwingphase“ dient dazu, der Festplatte Zeit zu geben, richtig anzulaufen und alle Prozesse im DBMS zu aktivieren. Außerdem stellt sie sicher, dass bei einer Messung mit mehreren Clients, alle gleichzeitig aktiv sind. Sie dauert 4 Minuten. Während der Messphase werden die Transaktionen, durch die Zählervariable „i“, 5 Minuten lang gezählt. Die„Ausschwingphase“ dauert 1 Minute. Nachdem die Schleife endet werden die Gesamtzahl der Transaktionen, sowie die Transaktionen pro Sekunde, während der Messung, ausgegeben.
Zusammenfassung der Kapitel
1. Aufgabenstellung: Das Kapitel beschreibt die Anforderungen an eine Auszahlungstransaktion und ein Benchmark-Programm. Vorgesehen sind Messungen mit unterschiedlichen Clientzahlen sowie Versuche zur Durchsatzverbesserung.
2. Vorgehen: Die Autoren erläutern die Entwicklungsumgebung, den Aufbau des Java-Programms und die einzelnen Methoden für Datenbankzugriffe und Transaktionsprotokollierung.
3. Optimierungen: Dieses Kapitel dokumentiert Versuche mit Cache- und Puffereinstellungen sowie die Rekonfiguration des Datenbankservers.
4. Messergebnisse: Die abschließenden Messwerte werden für einen, fünf und zehn Clients anhand der Gesamtzahl der Transaktionen und des Durchsatzes dargestellt.
Schlüsselwörter
TPC-A, Benchmark, Datenbanksystem, Transaktion, Durchsatz, Java, JDBC, MySQL, Auszahlungstransaktion, Client, Datenbankoptimierung, vorbereitete Anweisung, Serverkonfiguration
Häufig gestellte Fragen
Worum geht es in der Arbeit?
Die Arbeit dokumentiert ein Programm zur Ausführung und Messung von Datenbanktransaktionen sowie Versuche zur Verbesserung des Durchsatzes.
Welche Themen stehen im Mittelpunkt?
Im Mittelpunkt stehen die Implementierung einer Auszahlungstransaktion, die Messung bei unterschiedlichen Clientzahlen und die Optimierung der Datenbankkonfiguration.
Was ist das Ziel der Untersuchung?
Untersucht wird, wie viele Transaktionen das Datenbanksystem unter verschiedenen Last- und Konfigurationsbedingungen verarbeitet und wie sich der Durchsatz verbessern lässt.
Welche Methode wird verwendet?
Die Autoren implementieren ein Java-basiertes Benchmark-Programm und führen eigene Durchsatzmessungen mit verschiedenen Clientzahlen und Servereinstellungen durch.
Was behandelt der Hauptteil?
Der Hauptteil erklärt die Programmstruktur und die Datenbankmethoden und beschreibt anschließend die getesteten Optimierungen und Messungen.
Welche Schlüsselwörter charakterisieren die Arbeit?
Zu den zentralen Begriffen gehören TPC-A, Datenbanktransaktion, Java, JDBC, MySQL, Durchsatz und Serverkonfiguration.
Wie ist ein Messlauf zeitlich aufgebaut?
Auf eine vierminütige Einschwingphase folgen fünf Minuten Messzeit und eine einminütige Ausschwingphase.
Welche Datenbankrelationen werden bei der Auszahlung angesprochen?
Die Transaktion betrifft die Relationen ACCOUNTS, HISTORY, TELLERS und BRANCHES.
Welche Servereinstellungen werden erprobt?
Die Arbeit betrachtet unter anderem Puffer- und Cache-Einstellungen sowie die Umstellung des Servertyps auf eine dedizierte MySQL-Serverkonfiguration.
Welches praktische Programmmaterial enthält die Arbeit?
Der Anhang enthält den Quellcode des Transaktionsprogramms.
- Arbeit zitieren
- Jan Drees (Autor:in), Matthias Ketteler (Autor:in), 2010, Datenbanken und Informationssysteme, München, GRIN Verlag, https://www.grin.com/document/189750