Kein Folientitel

Werbung
IQ
Performance, Kosten- und
Energieeffizienz einer
spaltenorientierten Datenbank
Jürgen Bittner
Projektmitarbeiter: Martin Balla, Hans-Jürgen Götze, Jan Lohmann, Steffen Preißler
SQL Projekt AG
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
1
Sybase IQ Server – Langjährig bewährte Technologie

Bereits vor 10 Jahren IQ-Vortrag






Performance bei Auswertung großer Datenmengen
Damals schon war eine Query-Beschleunigung von 1 : 100 und
darüber Normalität
Interessant dabei: sehr gute Ergebnisse mit weitgehend
normaler Hardwareausstattung erreichbar
Weitgehend auch ohne Änderungen des DB-Schemas
SQL GmbH konnte auch kommerzielle Treffer erreichen
Erfolge blieben bei uns zunächst unter den Erwartungen,
warum?
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
2
Heute veränderte Situation
 Die Anforderungen sind gewachsen und wachsen weiter
 Mit den Datenmengen, höheren Anforderungen an
Reaktionsgeschwindigkeit und Real Time in den Anwenderprozessen
wachsen die Performanceanforderungen

Query-Laufzeit für Reporting, Analyse und Ad hoc

Multi-user

Paralleles Aktualisieren
 Kostendruck erfordert genaue Betrachtung der gewünschten Effekte,
aber auch der notwendigen Investition und der laufenden Kosten
 Zunehmendes Gewicht: Energiebedarf von Datenbanken
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
3
Gliederung
Einführung
2. Anforderungsbeispiel
3. Charakteristik Sybase IQ
4. Vorhersagemodell zur Abschätzung
der Hardwareanforderung
5. Zusammenfassung
1.
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
4
Anforderungsbeispiel
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung


System, das die gestellten Performance-Anforderungen nicht
erfüllt

32 CPU – SMP Maschine

20 x HDD im SAN, 2GB HBA Netzanbindung

280 MB/s effektiver IO-Durchsatz
Erreichen der geforderten Query-Laufzeiten?
Erhöhung des IODurchsatzes durch
Hardwareinvestition
SQL Projekt AG
Verringerung des notwendigen
IO-Durchsatzes durch spaltenorientiertes Datenbanksystem
175. Datenbank-Stammtisch 14.11.2012
5
Anwenderbeispiel II
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung

Erhöhung des IO-Durchsatzes durch Hardwareinvestition

4 x 4 CPU – Maschinen

128 x HDD im SAN, 4GB HBA Netzanbindung

2400 MB/s effektiver IO-Durchsatz
857%
282%
Datendurchsatz
E. Verbrauch
Last
5.845 kWh
361%
E. Verbrauch
Leerlauf
4.655 kWh
236%
Investitions
Kosten*
~54.300 €
320%
Jährliche E.
Kosten**
~11.200 €
* Zusätzliche Investition zur bereits bestehenden Hardware
** Energiekosten bei durchschnittlicher Systemauslastung von 40%
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
6
Unser Ziel
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
Erhöhung der Kosten für die Investition
und den Energiebedarf sollte vermieden werden
Vorhersage bzw. Schätzung der Kosten- und Energieeinsparung
durch Anwendung der spaltenorientierten Technologie mit Sybase IQ
im Vergleich mit zeilenorientierter DB-Technologie
für ein gegebenes Anforderungsprofil
Besser qualifizierte Entscheidungen bei der Planung neuer Projekte
bzw. bei der Verkaufsberatung
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
7
Sybase IQ
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
IQ






Query-optimierter SQL Server
Spaltenorientierte Speicherung der Daten, komprimiert
10 Spezielle Indextypen für schnelle Suche und Unterstützung
weiterer Funktionen
Multiplex-Betrieb, mit wachsender Nutzeranzahl lineare
Skalierung mit Servern möglich ohne Performance-Verlust
Paralleles Ändern möglich
Konsequenz der spaltenorientierten Speicherung:
Einzel-INSERT sehr langsam
LOAD und Mengen-INSERT sehr schnell
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
8
Traditionelles RDBMS
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
Mon
Einr
Typ
Land
Prod
Abs
0105
1132
G
SA
Werne
212
 200 Bytes pro Zeile
SELECT AVG (Abs), SUM(Abs)/AnzGSA/36
0105
1136
G
MV
Becks
3459
 16
K Seitengröße
FROM
Absatz,
0105
1138
G
SA
Radeb 1128
(SELECT
0105
Berechne
den COUNT(DISTINCT Einr) AS AnzGSA
durchschnittlichen
FROM Absatz Absatz
0105
von „Radeberger“ in GastronomieWHERE Land
= ‘SA‘ AND
0105
Einrichtungen
in Sachsen
je Monat der
letzten 3 Jahre
Typ = ‘G‘)
0105
1141
K
NS
Jever
311
1143
G
SA
Radeb
95
1146
G
BY
Paula
3454
1147
M
NW
Dortm
703
…
…
…
…
…

360 Millionen Zeilen
WHERE Land = ‘SA‘ AND
 Zeilenorientierte
Typ = ‘G‘ AND
Ablage der Daten
…

BeiProd
Zugriff
auf Spalte muss jeweils gesamte Zeile gelesen werden
= ‘Radeb‘

mit Platte z.B. 100MB/sec
24 Minuten !!!
Sehr teuer und unflexibel bei Ad-hoc-Anfragen
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
9
Sybase IQ
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung

Mon
Einr
Typ
Land
Prod
Abs
0105
1132
G
SA
Werne
212
0105
1136
G
MV
Becks
3459
0105
1138
G
SA
Radeb 1128
0105
1141
K
NS
Jever
311
0105
1143
G
SA
Radeb
95
0105
1146
G
BY
Paula
3454
0105
1147
M
NW
Dortm
703
…
…
…
…
…
…
360 Millionen Zeilen

200 Bytes pro Zeile

64 K Seitengröße
Berechne den
durchschnittlichen Absatz
von „Radeberger“ in GastronomieEinrichtungen in Sachsen je Monat der
letzten 3 Jahre

Spaltenorientierte Ablage

Bei Zugriff auf Spalte wird nur diese gelesen
Reduzierung des Disk-I/O im Beispiel
ca. 5 %
bzw. 1,2 min
(ohne Indexnutzung)
ca. 0,1 – 0,2% bzw. 1 – 2 sec (mit Indexnutzung)
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
10
Unser Vorgehen
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Vergleich des Speicherbedarfs eines Anforderungsprofils bei
Sybase ASE (zeilenorientiert) und Sybase IQ durch Ermittlung
des IO-Bedarfs innerhalb eines bestimmten Zeitraums
• Große Herausforderung, solange Daten noch nicht vorhanden
sind : deshalb nur Schätzung, aber mit dem Anspruch gute
Entscheidungen zu unterstützen
• Vorausgesetzt wird:
DB-Schema:
Lastprofil:
SQL Projekt AG
Tabellen mit Zeilenanzahl
Schlüsselspalten, weitere Spalten
Datentypen, Längen, Kardinalitäten
Index-Definitionen (gesondert für ASE und IQ)
Queries mit Häufigkeit der Ausführung innerhalb eines
Zeitraums oder maximale Dauer für einzelne Queries
175. Datenbank-Stammtisch 14.11.2012
11
Modellschema Volumenvorhersage
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
 Datenbank-Schema
 Schätzung der Kardinalitäten
 Volumenschätzung
Schema +
Simulierte
Statistik
ASE
Queryprofil
IQ
Vorhersage
modell
Simulierte Anzahl RIO
Simuliertes Datenvolumen SIO
Mengenabschätzung
Zeilenorientiertes DBS
SQL Projekt AG
Vorhersage Anzahl RIO
Vorhersage Datenvolumen SIO
Vorhersage
Spaltenorientiertes DBS
175. Datenbank-Stammtisch 14.11.2012
12
Berechnung Vergleichsbasis mit Sybase ASE
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Einspeichern der Statistik-Daten
• Übersetzen aller Queries zur Erzeugung der Zugriffspläne
• Auswertung der Zugriffspläne zwecks Ermittlung des geschätzten
IO-Gesamtbedarfs sowie ggf. für einzelne Queries gegliedert in
•
•
•
TableScans (sequenzielles Lesen) in GB
IndexScans • Clustered Index in GB
•
Clustered Index in Anzahl IO
•
Nonclustered Index in Anzahl IO
Index-Key-Zugriffe (Random Zugriffe) in Anzahl IO
Ermittlung des insgesamt zu
lesenden Datenvolumens
(ohne Indexseiten)
SQL Projekt AG
Ermittlung der Gesamtlesezeit
für bestimmte Plattentypen
mit MB/sec bzw. IOPS
175. Datenbank-Stammtisch 14.11.2012
13
Berechnung Vergleichsbasis mit Sybase ASE
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Berechnung der notwendigen Anzahl Platten auf der Basis der
ermittelten Gesamtlesezeit und der geforderten Zeitbegrenzung
• Annahmen:
•
Parallelisierung durch Verteilung der Daten beliebig möglich
• Gleichverteilung der Last im geforderten Zeitraum
• Berechnung der Kosten für Platten und Energie
•
Beispielszenario:
• Datenvolumen Datenbank (GB):
• Datenvolumen gelesen (GB):
• Verhältnis RIO zu SIO:
SQL Projekt AG
1.000
20.000
1 : 100
175. Datenbank-Stammtisch 14.11.2012
14
Anwenderbeispiel
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
HDD
SSD
Kapazität je Platte (GB)
300
200
Durchsatz je Platte (MB/s)
100
200
IOPS je Platte
100
20.000
4
5
129
29
Kapazitätsauslastung in %
2,58%
17,24%
Leistungsauslastung in %
99,55%
99,14%
Gesamtkosten Platten (€)
25.155,00 €
18.241,00 €
7.632,58 €
352,37 €
Energieverbrauch je Stunde (W)
1.712
87
Kosten je Betriebstunde (€)
5,25 €
2,98 €
Benötigte Platten Kapazität
Benötigte Platten IO/Durchsatz
Energiekosten der Platten (€)
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
15
Vergleichsberechnung (Schätzung) Sybase IQ
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Gleiches Vorgehen wie bei ASE über Ermittlung und Auswertung
der Zugriffspläne nicht möglich, weil Statistik erst mit
Vorhandensein der Daten in der DB vorliegt
• Deshalb Schätzung wie sich IO Volumen und – Zeiten reduzieren
im Vergleich zum zeilenorientierten ASE
• Betrachtung verschiedener Eigenschaften des IQ und Versuch
ihrer Bewertung in Bezug auf die definierte Anforderung
• Im Ergebnis dieser Bewertung soll dann wieder eine
Gesamtlesezeit und ein zu lesendes Volumen vorliegen, das eine
Ermittlung des Speicherbedarfs und der Kosten erlaubt
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
16
Vergleichsberechnung (Schätzung) Sybase IQ
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
3 relevante Faktoren werden zur Schätzung benutzt:
• Extraktionskoeffizient (spaltenorientiert)
• Kompressionsrate
• Indexwirkung
• Weitere IQ-spezifische Wirkungen bleiben der späteren
Verfeinerung unseres Schätzverfahrens vorbehalten
z.B. die Wirkung der Pagegröße
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
17
Extraktionskoeffizient
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Sybase IQ liest von jeder Tabelle einer Query nur Seiten der
benutzten Spalten
•
•
•
Annahme, dass typische Queries überwiegend TableScans ausführen und
der IQ Server zunächst keinen Index benutzt
Schätzung für Einsparung dann Extraktionskoeffizient x einer Query q mit
den von der Query benutzten Tabellen
und deren Zeilenanzahl
Für die Menge von Queries des geforderten Zeitraums mit der erwarteten
Anzahl Ausführungen einer Query
Häufig anzunehmender Wert
für xQ = 0,2…0,3
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
18
Kompressionsrate
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Sybase IQ komprimiert die Werte einer Spalte in 2 Schritten:
•
•
Die prinzipielle Darstellung einer Spalte - Fast Projection (FP) –enthält bei
Kardinalität bis 28,16,24 entsprechende 1-, 2-, 3-Byte-Werte sowie eine
Lookup List, und ist somit sehr gut schätzbar
Beim Schreiben einer Spalten-Seite (default 128K) auf die Platte wird
nochmals verdichtet in 1…16 DB Blocks, Quantifizierung schwieriger
•
•
Realisierte Beispiele zeigen Werte für cDB = 0,7…0,05
•
Wenn Genauigkeit gefordert wird, muss spaltenweise geschätzt werden,
dann könnte auch eine Kompressionsrate für
eine anzunehmender
einzelne Query bestimmt
Häufig
Wert
werden
für cDB = 0,5…0,25
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
19
Indexwirkung
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Sybase IQ ermöglicht unterschiedliche Indextypen in
Abhängigkeit von Datentyp und Kardinalität einer Spalte (auch
mehrspaltig)
• Zugriff auf eine Tabelle kann alle verfügbaren Indexe für die in
den Suchprädikaten enthaltenen Spalten benutzen
• Match der Trefferlisten (row id´s) ermöglicht Projektion auf die
weiteren benötigten Spalten der Tabelle
• D.h. Indexzugriff vermeidet Spaltenscan
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
20
Indexwirkung
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
Spaltenscan nur für Projektion und Suchprädikate auf Spalten
ohne geeigneten Index
• Für die Schätzung bedeutet das:
•
•
•
Aus allen Queries sind die bisher geschätzten IO-Volumina zu reduzieren
um die Spaltenscans der Spalten, für die ein Suchprädikat oder andere
Funktion indexgestützt bearbeitet werden kann
Hinzuzufügen sind die entsprechenden Aufwände für Indexzugriffe
Wie genau kann und muss die Schätzung sein ?
•
Pauschaliert oder Query-orientiert ?
Häufig anzunehmender Wert
für iQ = 0,3…0,1
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
21
Resultat
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
•
RQ = xQ · cDB · iQ
Beispiel
RQ = 0,25 x 0,4 x 0,2 = 0,02
Im Beispiel 50-fache Verringerung des zu
lesenden Datenvolumens!
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
22
Beispielszenario
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung
ASE
IQ
Datenvolumen Datenbank (GB)
1.000
500
Datenvolumen gelesen (GB)
20.000
1.000
HDD
Benötigte Platten Kapazität
SSD
HDD
SSD
4
5
3
3
129
29
9
2
Kapazitätsauslastung in %
2,58%
17,24%
18,52%
83,33%
Leistungsauslastung in %
99,55%
99,14%
97,41%
48,24%
Gesamtkosten Platten (€)
25.155,00 €
18.241,00 €
1.755,00 €
1.887,00 €
7.632,58 €
352,37 €
530,82 €
32,89 €
20
3
0,37 €
0,31 €
Benötigte Platten IO/Durchsatz
Energiekosten der Platten (€)
Energieverbrauch je Stunde (W)
Kosten je Betriebstunde (€)
SQL Projekt AG
1.712
5,25 €
87
2,98 €
175. Datenbank-Stammtisch 14.11.2012
23
Zusammenfassung
Einführung > Anforderungsbeispiel > Charakteristik Sybase IQ > Vorhersagemodell > Zusammenfassung



Stetig wachsende Datenmengen mit dem Trend hin zu
Echtzeitanalysen
Suche nach energie-/kosteneffizienter Lösung notwendig
Einsatz von spaltenorientiertem Datenbanksystem Sybase
IQ bietet hohes Einsparungspotential an Hardware

Entwicklung eines Modells zur Vorhersage der benötigten
Hardwareleistung für gegebene Anforderungsprofile
 Möglichkeit zur frühzeitigen Leistungs- und
Hardwareabschätzung am Anfang eines Projektes
SQL Projekt AG
175. Datenbank-Stammtisch 14.11.2012
24
Herunterladen