Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Eine Semesterarbeit von Sebastian Galenski (2. Semester – WWI 00 B) SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter.

Ähnliche Präsentationen


Präsentation zum Thema: "Eine Semesterarbeit von Sebastian Galenski (2. Semester – WWI 00 B) SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter."—  Präsentation transkript:

1 eine Semesterarbeit von Sebastian Galenski (2. Semester – WWI 00 B) SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt

2 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> Gliederung << 1.Queries – Was ist im folgenden mit Queries gemeint ? 2.Caching – Warum werden Queries gecached ? 3.Techniken 4.Caching auf dem local filesystem 5.Vergleich – mit / ohne dem hier vorgestellten Caching-Verfahren 6.Beispiel – aus der Praxis 7.Fazit – Schluss

3 1. Queries SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B Was ist im folgenden mit Queries gemeint ?

4 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 1. Queries << Ergebnismenge einer Datenbankabfrage Also die Ergebnistabelle, einer SQL-Abfrage aufgebaut wie eine normale Tabelle Entitätsmenge – also eine Ansammlung von Entitäten und deren Attribute

5 2. Caching SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B Warum werden Queries gecached ?

6 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 2. Caching << Bei hoch dynamischen Web-Seiten -> bis zu 15 SQL-Abfragen 3 Gründe um sich ein Caching der Queries zu überlegen: Der Datenbank Server ist entfernt Hoher Traffic Abfragen sind wiederkehrend, sie ändern sich zu bestimmten Zeiten bei einer Interaktion mit dem Redakteur / Admin Diese kosten hauptsächlich Zeit Performance-Gewinn bei der Generierung wird angestrebt

7 3. Techniken SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B

8 SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 3. Techniken << Es gibt zwei generelle Techniken: man kann sich auf den Datenbank-Server verlassen und auf dessen Caching hoffen man programmiert selbst ein Caching mit Hilfe des lokalen Filesystems

9 4. Caching auf dem local filesystem SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B

10 SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 4. Caching auf dem local filesystem << Die Theorie I: Vermittler zwischen Datenbank-Server und Webanwendung SQL-Abfrage und das Wissen über dessen Lifetime an das Cachemodul übergeben Identifier für den entsprechenden CacheFile Datenbankname und MD5-Prüfsumme über das SQL- Statement Datenbank : bzo_anzeigen Tabelle : testanzeigen SQL-Statement : SELECT * FROM testanzeigen Resultierender Cachefile : bzo_anzeigen_54a73ab20628171c7d650745aea5992a.cache

11 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 4. Caching auf dem local filesystem << Die Theorie II: überprüft das Cachefile auf das Datum der letzten Änderung Falls die Lifetime abgelaufen ist: SQL-Abfrage an die Datenbank zurückkommende Ergebnisstabelle serialisieren Falls die Lifetime noch gültig ist: den Inhalt des Cachefiles deserializieren (wandelt den Fliesstext wieder in brauchbare Variablen um)

12 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 4. Caching auf dem local filesystem << Vorteile: es spielt keine Rolle mehr, ob der DB-Server auf der gleichen Maschine oder auf einer entfernte Maschine läuft viele Billigprovider bieten zu ihren Hostingangeboten keine Datenbank an. Kein Problem mehr, einfach die Webanwendung und den Cache dort ablegen und der Cache spielt für die Anwendung im Prinzip den Datenbank-Server

13 5. Vergleich SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B mit / ohne dem hier vorgestellten Caching-Verfahren

14 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 5. Vergleich <<

15 6. Beispiel SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B aus der Praxis http://www.badische-zeitung.de

16 Sebastian Galenski - WWI 00 B SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 6. Beispiel << BZ-Online WebServer auf 3 NetBSD Maschinen im Cluster PHP MySQL entfernt aber im Cluster ohne das Caching: 4.5042 sec mit dem Caching: 0.3081 sec

17 7. Fazit – Schluss SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt Sebastian Galenski - WWI 00 B

18 SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter bekommt >> 7. Fazit – Schluss << Vielen Dank für Ihre Aufmerksamkeit Infos, Download der Cache-Klasse für PHP/MySQL und diese Präsentation finden Sie unter http://qrc.galenski.de


Herunterladen ppt "Eine Semesterarbeit von Sebastian Galenski (2. Semester – WWI 00 B) SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter."

Ähnliche Präsentationen


Google-Anzeigen