Einleitung
Dieser Artikel wird von der DOAG im Rahmen Ihres <a data-cke-saved-href="http://www.doag.org/de/wissen/publikationen/fachzeitschriften-im-web.html" href="http://www.doag.org/de/wissen/publikationen/fachzeitschriften-im-web.html" target="_new>Red Stack Magazins im ersten Halbjahr 2016 veröffentlicht.
Einfluss der Hardware auf die Datenbank Performance
Autor: Christian Pfundtner, DB Masters GmbH
In den letzten Jahren sind viele neue Möglichkeiten durch „neue“ Hardwaretechnologien entstanden – leider sind viele dieser Möglichkeiten noch nicht im Bewusstsein der IT Administratoren und DBAs angekommen. In diesem Artikel wollen wir Ihnen diese Technologien und deren Anwendungsmöglichkeiten kurz vorstellen.
Der richtige I/O…
SSD und Flash gibt es nun schon seit vielen Jahren. Doch in vielen Unternehmen kommen sie praktisch nur in Storage Lösungen vor – und damit wird das Potential dieser Technologie nur in geringem Maß ausgeschöpft. Zwar schaffen Storages mit SSD/Flash Unterstützung durchaus deutlich bessere IOPS Zahlen, aber die Zugriffslatenzen sowie die Bandbreite sind im Vergleich zu lokalen Flash-Speichern – beispielsweise mit NVM Anbindung - deutlich schlechter. So bieten aktuelle, mit NVM im Server angeschlossene Flash Lösungen bis zu 2.8 GByte / Sekunde (ca. 24 GBit/Sec) bei einer Latenz im 50us Bereich. Seitens der Oracle Datenbank gibt es mehrere Ansätze zu deren effizienter Nutzung – beispielsweise:
- Die Nutzung von DB_FLASH_CACHE – die Erweiterung des Buffer Caches um den Flashspeicher.
- Als lokaler Turbo in einer ASM Diskgroup, wobei eine Failgroup die lokale NVM Flash umfasst und eine zweite Failgroup die vorhandene Storage einbindet. Jetzt kann man mit Hilfe des Parameters ASM_PREFERRED_READ_FAIL_GROUPS sicherstellen, dass die lesenden Zugriffe nur noch auf dem lokalen NVM Flash erfolgen.
Flash Laufwerke haben inzwischen die Harddisk auch im Bereich „maximale Kapazität“ geschlagen. Es gibt bereits mehrere Anbieter mit 15TB Flash Drives, wohingegen die Harddisks aktuell maximal 10TB groß sind. Die Preise von Flash-Speichern halbieren sich alle 12-18 Monate, wohingegen die Preise für Harddisks sich kaum verändert – lediglich die maximale Kapazität steigt etwas an.
Voraussichtlich gegen Ende dieses Jahres wird Intel die Verfügbarkeit der neuen 3D-Xpoint Technologie verkünden. Mit 3D-Xpoint steht ein potentieller Nachfolger der Flash Technologie in den Startlöchern, der – laut Marketing – 1000 mal schneller, 1000 mal langlebiger bei 10mal höherer Packungsdichte ermöglichen soll. Weiter Informationen dazu finden Sie bei Intel unter www.intel.com/NVM.
…ist der vermiedene I/O
Noch schneller als Flash ist nur der Hauptspeicher! Mit aktuellen Intel CPUs – beispielsweise der Intel Xeon E5 v4 oder E7 v3 CPUs kann man pro CPU Sockel bis zu 1.5TB Hauptspeicher anbinden. Das ergibt in einem 2 Sockel Server somit immerhin 3TB Hauptspeicher! Wenn man sich dann ansieht, bei wie vielen Datenbanken die ESTD_PCT_OF_DB_TIME_FOR_READS in der View v$db_cache_advice bei deutlich über 30% liegt, stellt sich immer häufiger die Frage, warum die Benutzer immer auf den I/O warten sollen!?
Oracle bietet mit Full Database Cache (ALTER DATABASE FORCE FULL DATABASE CACHING;) die Möglichkeit, die Datenbank praktisch komplett im Hauptspeicher zu betreiben. Damit werde einige Mechanismen wie das Full Table Scan Window für den Buffer Cache, die Buffer Cache LRU oder parallel direkt reads abgeschalten um den Buffer Cache optimal zu nutzen.
Last but not least gehört an dieser Stelle der Oracle In-Memory Column Store erwähnt. Dieser eignet sich ideal für DWH/DSS Datenbanken und bringt dort regelmäßig dramatische Performanceverbesserungen – selbst mit SAP BW haben wir bei einem POC teilweise Faktor 20 und mehr erreicht.
Spezialisierte Server – beispielsweise ein Server von SuperMicro - bietet die Möglichkeit, mit zwei E5-2699v3 Prozessoren mit je 18 Cores und in Summe 1.5TB Memory sowie 24 NVM Ports mit einer Gesamtbandbreite von maximal 32GByte / Sec (knapp 50TB Flashspeicher) zu bestücken. Mit solchen Servern kann man Datenbanken mit extremen Performanceanforderungen (aber nicht so hohen Verfügbarkeitsanforderungen) relativ günstig umsetzen (deutlich unter 100.000 Euro bei Vollausbau – um Faktoren günstiger als andere Lösungen mit ähnlichen Performancedaten).
CPU ist nicht gleich CPU
Was helfen Systeme mit 1024 Threads (Beispiel SPARC M7 bei 4 Sockeln), wenn nur einige 100 Anwender mit der Applikation arbeiten – es werden vermutlich kaum mehr als 10-20 concurrent sessions aktiv sein. Für Anwendungen mit hohen Anforderungen an die Single Thread Performance sind aktuell Intel Xeon CPUs mit über 3.5GHz aktuell am besten geeignet. Für DWH Anwendungen, die sich sehr gut parallelisieren lassen, eignen sich allerdings Systeme mit viele Threads – wie die SPARC M7 oder Power 8 Systeme - am besten.
Das NAS Dilemma
Lange Zeit waren SAN Storage Lösungen das non-plus ultra für Datenbanken. Mit der Einführung von Oracle dNFS, welches nachweislich weniger CPU Ressourcen bei I/Os benötigt, bleibt mehr CPU Leistung für die Verarbeitung von Statements, die vorhandene Server Hardware kann somit besser ausgenutzt werden. Neben der deutlich einfacheren Administration von NFS versus SAN-Anbindung spricht auch der Preis der Infrastruktur deutlich für NAS.
Backup und Archivierung
Die Themenbereiche Backup und „Archivierung von Daten“ werden häufig immer noch durch Bandlösungen abgebildet. Neben der Problematik der relativ kurzen Lebensdauer der einzelnen Medien entsteht hier immer wieder das Problem, dass Restores nur sehr zeitintensiv möglich sind (warten auf das Band, warten auf die richtige Position auf dem Band, sequenzieller Restore vom Band, warten auf das Band mit den Archivelogs, etc).
Weiters sollten folgende Anforderungen unterschieden werden: BACKUP und ARCHIVIEREN.
Bei einem Backup ist es wichtig, dass es unabhängig von der Primären Storage sein muss – beispielsweise durch eine getrennte Backup Storage. Diese Backup Storages benötigen eine hohe Streaming Performance, haben aber kaum Ansprüche an die Zeit zum Positionieren – selbst bei SATA Harddisks liegt diese im Bereich von 10-14ms, ein Wert, der mit Bändern niemals erreicht werden kann. Dabei liefern auch SATA Harddisks beim sequentiellen Lesen zwischen 100 und 200MB /Sekunde.
Herkömmliche Backups eignen sich hingegen nicht als ARCHIVE, da man beispielsweise ein RMAN Backup einer Oracle 12c Datenbank in 10-15 Jahren sicher nicht mehr Restoren kann (aus Mangel an Hardware, auf der Oracle 12c noch laufen wird). Aus diesem Grund ist es essentiell, dass Archivierung in Formaten erfolgt, die auch in 50 oder 100 Jahren noch lesbar sein werden. Aktuell erfüllen nur 3 Formate diese Anforderung: ASCII, PDF 1.4a (Archivierungsvariante) sowie XML und in Zukunft möglicherweise JSON. Die Daten müssen zum Archivieren somit aus der Datenbank extrahiert und entsprechend abgelegt werden. Dazu eignen sich Lösungen wie beispielsweise die von Sony und Panasonic entwickelten Archival Disks mit 300GB Kapazität sicherlich besser als Bänder, die man regelmäßig umkopieren muss. Es stehen auch schon holografische Archivierungsmedien in den Startlöchern auf denen man viele TB mehr oder weniger „unendlich lange“ archivieren kann.
One Size fits all
Wie die Erfahrungen in vielen Kundenprojekten gezeigt haben, scheitert der Einsatz dieser Technologien am „Abteilungsdenken“ in vielen IT Departments. Die Storage Truppe beschafft neue Storage-Lösungen, ohne die Bedarfsanforderungen anderer Abteilungen überhaupt zu erfragen. Die Infrastrukturabteilung weigert sich, Alternativen zu SAN überhaupt zu evaluieren. Die Servergruppe beschafft Server nach dem Schema „F“. Egal, ob ein Datenbank Server oder eine Web Applikation betrieben wird, die Server sind gleich konfiguriert. Auch der Einsatz von Privat Clouds sorgt immer wieder dafür, dass neue Technologien nicht genutzt werden können, weil diese nicht als „Default Template“ abgebildet werden können. Hier hilft es oft nur, dass sich die Anwender (ev. via Management) auf die Beine stellen und ihre Anforderungen durchsetzen – auch wenn dazu die verschiedenen Abteilungen in der IT miteinander reden müssen. Wir haben schon in mehreren Projekten die jeweiligen Abteilungen unterstützt um Performanceverbesserungen im Bereich mehrere Faktoren (teilweise über 10) bei gleichzeitig geringeren Kosten gegenüber der internen IT zu argumentieren und durchzusetzen. Letztendlich sollte ja das Business und nicht die IT sagen, was der Bedarf ist.
Mehr Details zu diesen und weiteren Themen finden Sie auch auf unserem Youtube Channel – am einfachsten erreichen Sie diesen, wenn Sie auf unserer Homepage www.dbmasters.at rechts unten auf das Youtube Symbol klicken.
Wir von DB Masters können Ihnen helfen, Ihre aktuellen Anforderungen an die Oracle Datenbank zu evaluieren, zu spezifizieren und Vorschläge für die Lösung dieser Anforderungen zu erarbeiten. Daneben bieten wir ein umfangreiches Dienstleistungsangebot rund um die Oracle Datenbank.
Weiterführende Informationen
- Im Rahmen des DB Masters Events 2016 haben wir einen Vortrag zu dem Thema gehalten:
Wie neue Hardwaretechnologie die Datenbank Performance beeinflussen.