Optimierung der Datenbankstruktur einer Web-Anwendung zur Analyse von Fertigungsprozessen

Ähnliche Dokumente
Übungen Teil 1: Normalisierung. Dozent: Stefan Maihack Dipl. Ing. (FH)

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen

7. Übung - Datenbanken

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Aufgabe 1) Übung 4: 1.2

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Transaktionsverwaltung

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

10. Datenbank Design 1

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. SEACON 2012 Hamburg

Vorlesung Datenbank-Entwurf Klausur

Relationale Datenbanken Datenbankgrundlagen

SQL structured query language

ICT Power-User und Supporter SIZ 2010 Modul 432: Datenbank mit Access Tanja Bossert, Andrea Weikert. 1. Ausgabe, November 2011

P.A. Bernstein, V. Hadzilacos, N. Goodman

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Einführung in Datenbanksysteme. H. Wünsch

Theorie zur Übung 8 Datenbanken

SS 2011 IBB4C Datenmanagement Fr 15:15 16:45 R Vorlesung #1

Datenbanken. Ein DBS besteht aus zwei Teilen:

Entwurf und Verarbeitung relationaler Datenbanken

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Teil VI. Datenbanken

Die Grundbegriffe Die Daten Die Informationen

Umstellung auf die Version 10.2 mit neuem GUI - ein Erfahrungsbericht - Frankfurter Buchmesse Klopotek User Group

Antwortzeitverhalten von Online Storage Services im Vergleich

Einführung in SQL und MySQL

Definition Informationssystem

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

Data Quality Management: Abgleich großer, redundanter Datenmengen

Big Data und Oracle bringen die Logistik in Bewegung

Einführung in Datenbanken. Definition einer Datenbank. Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt:

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Ausarbeitung im Fach Datenbanken II

Konzept eines Datenbankprototypen Folie 1 Daniel Gander / Gerhard Schrotter

Vom Datenmodell zur Datenbank

Datenbanken 6: Normalisierung

4. Normalisierung von Relationenschemata

Installationsanleitung

Daten, Datenbanken, Datenbankmanagmentsysteme

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester Universität Leipzig 1-1

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Heureka CAQ. Reorganisation 7.0. QDaTech GmbH

MySQL für Datenbankadministratoren

Systemanforderungen für MuseumPlus und emuseumplus

Redmine, das Projekt Management Werkzeug

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

1. Einführung. Datenbanken Grundlagen

Michaela Weiss 01. April Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

6.1 Datenbanksysteme. WS 2012 LV Informatik-I für Verkehrsingenieure. Dr. rer.nat. D. Gütter

3. Bestehende Dateien

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite.

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Vorlesung ) Einführung

Storage-Trends am LRZ. Dr. Christoph Biardzki

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Einführung in Datenbanken

Logische Modellierung von Data Warehouses

Einführung in SQL Datenbanken bearbeiten

eadmin Manual Universitätsstraße Koblenz Deutschland

Stefan Schröder Hard- und Softwareentwicklungen. Anleitung TSImport. Zum Neetzekanal Brietlingen

BI im Dallmayr Delikatessenhaus

Systemanforderungen für MuseumPlus und emuseumplus

Performance-Vergleich zwischen InterSystems Caché und Oracle in einer Data-Mart-Applikation

ISBN: Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

Anfrageoptimierung Logische Optimierung

Verteilte Systeme - 5. Übung

XML in der Oracle Datenbank

OpenOffice - Base G. Laner 1

Neue Features PHOENIX 7. Windows-Client. Web-Client

Matrix42. Use Case - Inventory. Version Februar

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

Inhaltsverzeichnis. jetzt lerne ich

BERUFSPRAKTIKUM UND -VORBEREITUNG

1 Erste Schritte...13

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Entwurf eines normalisierten Datenmodells und einer einheitlichen Auswerte-Schnittstelle

Vorlesung Datenbanken I Endklausur

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme

Allgemeines zu Datenbanken

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck,

Dynamisches Huffman-Verfahren

Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Entwicklung einer Entscheidungssystematik für Data- Mining-Verfahren zur Erhöhung der Planungsgüte in der Produktion

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

U8: SQL Datenbank Daniel Baron 1

Transkript:

Optimierung der Datenbankstruktur einer Web-Anwendung zur Analyse von Fertigungsprozessen Vortrag Seminararbeit Fabian Ripplinger Aachen, 22.01.2014

Agenda 1 2 3 4 5 Ziel der Arbeit Grundlagen Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 3

Ziel der Arbeit Übergeordnetes Gesamtziel Performance Verbesserung der Datenbankzugriffe in WoPS+ Detaillierte Ziele Verbesserung der Performance durch: Ein anderes Datenbanksystem Eine veränderte Datenbankstruktur Geeignete Indizierung Seite 4

WoPS+ Beschreibung der Software Eingabedaten Web-Tool Auswertungen Auswertungen Simulation Konfiguration Bildquelle: http://cdn.flaticon.com/png/256/1829.png; http://cdns2.freepik.com/free-photo/slots-representing-configuration_318-9479.jpg Seite 5

Agenda 1 2 Ziel der Arbeit Grundlagen 2.1 2.2 2.3 ACID und BASE Normalisierung Indizes 3 4 5 Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 7

ACID und BASE Eigenschaften eines Datenbanksystems ACID Atomicity: Jede Transaktion wird entweder ganz oder gar nicht ausgeführt. Consistency: Die Daten sind zu jeder Zeit konsistent. Isolation: Transaktionen beeinflussen sich nicht gegenseitig. Durability: Die Daten sind garantiert dauerhaft abgespeichert. BASE Basically Available: Die Daten werden auf mehreren Systemen gespeichert. Somit ist eine Version der Daten immer erreichbar. Soft state: Daten können sich verändern, obwohl gerade kein User auf das System zugreift. Eventually Consistent: Nicht jede Version der Daten ist immer auf dem neusten Stand. Relationale DBS NoSQL-DBS Seite 8

Agenda 1 2 Ziel der Arbeit Grundlagen 2.1 2.2 2.3 ACID und BASE Normalisierung Indizes 3 4 5 Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 9

1. Normalform 1. Normalform verletzt CD_ID Albumtitel Interpret Jahr der Gründung Titelliste 4711 Not That Kind Anastacia 1999 {1. Not That Kind, 2. I m Outta Love, 3. Cowboys & Kisses} 4712 Wish You Were Here Pink Floyd 1964 {1. Shine On You Crazy Diamond} 4713 Freak of Nature Anastacia 1999 {1. Paid my Dues} 1. Normalform erfüllt CD_ID Albumtitel Interpret Jahr der Gründung Track Titel 4711 Not That Kind Anastacia 1999 1 Not That Kind 4711 Not That Kind Anastacia 1999 2 I m Outta Love 4711 Not That Kind Anastacia 1999 3 Cowboys & Kisses 4712 Wish You Were Here Pink Floyd 1964 1 Shine On You Crazy Diamond 4713 Freak of Nature Anastacia 1999 1 Paid my Dues Bedingungen: Alle Attribute sind atomar, also nicht weiter zerlegbar. Seite 10

2. Normalform 2. Normalform verletzt CD_ID Albumtitel Interpret Jahr der Gründung Track Titel 4711 Not That Kind Anastacia 1999 1 Not That Kind 4711 Not That Kind Anastacia 1999 2 I m Outta Love 4711 Not That Kind Anastacia 1999 3 Cowboys & Kisses 4712 Wish You Were Here Pink Floyd 1964 1 Shine On You Crazy Diamond 4713 Freak of Nature Anastacia 1999 1 Paid my Dues 2. Normalform erfüllt CD_ID Track Titel 4711 1 Not That Kind 4711 2 I m Outta Love 4711 3 Cowboys & Kisses 4712 1 Shine On You Crazy Diamond 4713 1 Paid my Dues CD_ID Albumtitel Interpret Jahr der Gründung 4711 Not That Kind Anastacia 1999 4712 Wish You Were Here Pink Floyd 1964 4713 Freak of Nature Anastacia 1999 Bedingungen: 1. Normalform erfüllt. Jedes Nichtschlüsselattribut ist voll funktional abhängig vom Primärschlüssel. Seite 11

3. Normalform 3. Normalform verletzt CD_ID Albumtitel Interpret Jahr der Gründung 4711 Not That Kind Anastacia 1999 4712 Wish You Were Here Pink Floyd 1964 4713 Freak of Nature Anastacia 1999 3. Normalform erfüllt Interpret_ID Interpret Jahr der Gründung 311 Anastacia 1999 312 Pink Floyd 1964 CD_ID Albumtitel Interpret_ID 4711 Not That Kind 311 4712 Wish You Were Here 312 4713 Freak of Nature 311 CD_ID Track Titel 4711 1 Not That Kind 4711 2 I m Outta Love 4711 3 Cowboys & Kisses 4712 1 Shine On You Crazy Diamond 4713 1 Paid my Dues Bedingungen: 2. Normalform erfüllt. Kein Nichtschlüsselattribut ist von einem anderen Nichtschlüsselattribut funktional abhängig. Seite 12

Agenda 1 2 Ziel der Arbeit Grundlagen 2.1 2.2 2.3 ACID und BASE Normalisierung Indizes 3 4 5 Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 13

Indizes Gruppierter Index Nur einer pro Tabelle Kann mehrere Spalten enthalten Die Reihenfolge der Spalten ist wichtig Daten werden sortiert abgelegt Nicht gruppierter Index Mehrere pro Tabelle Bezieht sich immer nur auf eine Spalte Wird getrennt von den Daten verwaltet Abgespeichert als B-Baum Indizes können die Suche und das Sortieren nach bestimmten Spalten beschleunigen. Der Verwaltungsaufwand für Indizes ist nicht zu vernachlässigen. Bildquelle: http://use-the-index-luke.com/de/sql/anatomie/index-baum Seite 14

Agenda 1 2 3 Ziel der Arbeit Grundlagen Umsetzung 3.1 3.2 3.3 Wahl der Datenbank Änderungen an der Struktur Indizes 4 5 Ergebnis Zusammenfassung und Ausblick Seite 15

Umsetzung Aufbau System Alle nicht benötigten Programme deaktiviert Datenbank und Tool laufen auf einem System Netzwerk Auslastung hat keinen Einfluss Immer nur ein Client WoPS+ Beispiel Firmendatensatz mit 150.000 Zeilen Gemessen wird die Zeit vom Einlesen der Daten und der nötigen Berechnungen Bildquelle: http://www.downloadclipart.net/large/915-monitor-and-computer-design.png; http://t3n.de/news/wp-content/uploads/2010/07/symbolbild-datenbank.jpg Seite 16

Agenda 1 2 3 Ziel der Arbeit Grundlagen Umsetzung 3.1 3.2 3.3 Wahl der Datenbank Änderungen an der Struktur Indizes 4 5 Ergebnis Zusammenfassung und Ausblick Seite 17

Wahl der Datenbank Oracle und MySQL eignen sich für den Vergleich. Die Wahl ist auf Oracle gefallen Seite 18

Agenda 1 2 3 Ziel der Arbeit Grundlagen Umsetzung 3.1 3.2 3.3 Wahl der Datenbank Änderungen an der Struktur Indizes 4 5 Ergebnis Zusammenfassung und Ausblick Seite 19

Änderungen an der Struktur Arbeitsplan Arbeitsplan_sim Auftrags Nr. Vorgang Arbeitsplatz Hauptzeit User Projekt Nr. ID A_1 10 5 400.0 12 49 1 A_1 20 8 375.0 12 49 2 A_2 10 2 200.0 12 49 3 FK Vorgangsstart Vorgangsende Projekt Szenario Nr. User 1 01.01.2012 05:33 02.01.2012 03:48 49 0 12 1 02.01.2012 06:00 02.01.2012 16:40 49 1 12 2 02.01.2012 03:48 03.01.2012 00:40 49 0 12 2 02.01.2012 16:40 03.01.2012 13:31 49 1 12 3 31.12.2011 17:07 01.01.2012 22:13 49 0 12 3 03.01.2012 00:20 03.01.2012 05:20 49 1 12 Arbeitsplan Auftragsnummer Vorgang Arbeitsplatz Hauptzeit User Projektnummer Vorgangsstart Vorgangsende Szenario Nr. A_1 10 5 400.0 12 49 01.01.2012 05:33 02.01.2012 03:48 0 A_1 10 5 400.0 12 49 02.01.2012 06:00 02.01.2012 16:40 1 A_1 20 8 375.0 12 49 02.01.2012 03:48 03.01.2012 00:40 0 A_1 20 8 375.0 12 49 02.01.2012 16:40 03.01.2012 13:31 1 A_2 10 2 200.0 12 49 31.12.2011 17:07 01.01.2012 22:13 0 A_2 10 2 200.0 12 49 03.01.2012 00:20 03.01.2012 05:20 1 Durch die Denormalisierung können viele Verbundoperationen eingespart werden Seite 20

Agenda 1 2 3 Ziel der Arbeit Grundlagen Umsetzung 3.1 3.2 3.3 Wahl der Datenbank Änderungen an der Struktur Indizes 4 5 Ergebnis Zusammenfassung und Ausblick Seite 21

Indizes Benutzer Firmendatensätze Simulierte Szenarien Szenario User Projekt Projekt Szenario Szenario Szenario Ein gruppierte Index mit den Spalten User-ID, Projekt-ID und Szenario-ID erscheint sinnvoll. Weitere nicht gruppierte Indizes werden nicht benötigt. Seite 22

Agenda 1 2 3 4 5 Ziel der Arbeit Grundlagen Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 23

in Sekunden Ergebnis der Arbeit Wechsel zu Oracle Leere Datenbank Gefüllte Datenbank 300 250 (50 Firmensätze) 200 150 -Werte in Sekunden -Werte in Sekunden Ausgangssituation 174 (100%) 242 (100%) 100 50 0 Durchschnitt Standardabweichung Oracle Datenbank 179 (102,87%) 247 (102,1%) Der Wechsel zu einer Oracle Datenbank brachte keinen großen Unterschied. Die Ergebnisse waren im Mittel sogar etwas schlechter als vorher. Seite 24

in Sekunden Ergebnis der Arbeit Wechsel zur neuen Datenbankstruktur Leere Datenbank Gefüllte Datenbank 300 250 (50 Firmensätze) 200 150 -Werte in Sekunden -Werte in Sekunden Ausgangssituation 174 (100%) 242 (100%) 100 50 0 Durchschnitt Standardabweichung Veränderte Struktur 133 (76,44%) 162 (66,94%) Die Veränderungen an der Datenbankstruktur ergaben eine Verbesserung von ca. 33%. Außerdem ist die Standardabweichung niedriger. Seite 25

in Sekunden Ergebnis der Arbeit Veränderungen an der Indizierung Leere Datenbank Gefüllte Datenbank (50 Firmensätze) -Werte in Sekunden -Werte in Sekunden Ausgangssituation 174 (130,83%) 242 (149,38%) 300 250 200 150 100 50 0 Durchschnitt Standardabweichung Veränderte Struktur 133 (100%) 162 (100%) Veränderte Indizierung 155(116,54%) 173 (106,8%) Der Verwaltungsaufwand der Indizes ist deutlich messbar. Mit steigender Datenmenge erhöht sich der Nutzen von Indizes. Seite 26

Agenda 1 2 3 4 5 Ziel der Arbeit Grundlagen Umsetzung Ergebnis Zusammenfassung und Ausblick Seite 27

Zusammenfassung und Ausblick Ein Wechsel zu einer Oracle Datenbank lohnt sich in unserem Beispiel nicht. Da MySQL ebenfalls den Anforderungen entsprach, sollte es im Anschluss ebenfalls getestet werden. Denormalisierung der Tabellen Arbeitsplan und Fauf beschleunigt den Vorgang. Dafür muss mehr auf die Konsistenz geachtet werden. Mit der Indizierung waren die Messungen etwas langsamer. Jedoch sollte es bei größeren Datenmengen schneller werden. Seite 28

Herzlichen Dank! Fabian Ripplinger

Quellen http://use-the-index-luke.com/de/sql/anatomie/index-baum http://cdn.flaticon.com/png/256/1829.png http://cdns2.freepik.com/free-photo/slots-representing-configuration_318-9479.jpg http://t3n.de/news/wp-content/uploads/2010/07/symbolbild-datenbank.jpg http://www.downloadclipart.net/large/915-monitor-and-computer-design.png Seite 30