Hardware vs Brainware - Revacom

Software & Informatik
Hardware versus Brainware
Lothar Flatz
Senior Principal Consultant
bbi Software AG
Anatomie eines SQL Befehls
Ich stelle mich vor ...
Wer bin ich?
 über 25 Jahre Oracle Database Erfahrung
(beginnend mit Version 5)
 15 jahre Oracle Mitarbeiter
 Oak Table Mitglied
 Ex-Real World Performance Group
 Oracle ACE
 Signatur Project: PVSS (CERN)
 Patent US 8103658 B2 zusammen mit Björn
Engsig
bbi Software AG
bbi Software AG
• Gründung
1994
• Rechtsform
Aktiengesellschaft in privater Hand
• Standorte
Baar ZG und Oberdorf SO
• Angestellte
10 Mitarbeitende
• Zertifizierung
SQS Zertifiziertes Managementsystem ISO 9001
• Software Beschaffung, Lizenz Management, Software
Paketierung, Beratung, Enterprise Reporting
bbi Software AG
Keine gesalzenen Bananen bitte!
Arbeit an
Performance
Problemen
bbi Software AG
Keine gesalzenen Bananen bitte!
Typische Anfrage auf OTN
„We just migrated to a new dev
environment in Linux REDHAT5, and
now the query is very slow.
I checked toad monitor, it said need to
increase db_buffer_cache and shared
pool too small.“
bbi Software AG
Anatomie eines SQL Befehls
Typical Antwort
“If you want more help here, let's start with some
DATA. Without this, people here can only guess at the
actual cause of your problem, although if enough of us
guess for a long enough time, somebody will undoubtedly
find the right answer eventually.”
Senior DBA, Calagry
bbi Software AG
Keine gesalzenen Bananen bitte!
Reaktion des IT Management
bbi Software AG
Keine gesalzenen Bananen bitte!
Ein Witz, der den Geist anregt
bbi Software AG
8
Keine gesalzenen Bananen bitte!
Was ist «throw away»?
Praktisch erprobt
Oft verwendet zur Optimierung von Join Reihenfolgen
oder Index Optimierung
Nur eine Datenzeile wird behalten
bbi Software AG
9
Keine gesalzenen Bananen bitte!
Eine harte Nuss
Kommt oft im call center vor
Man findet immer viele Datensätze, egal wo man die Suche beginnt
Die Schnittmenge ist klein
Der grösste Teil der gelesenen Datensätze wird weggeworfen
bbi Software AG
10
Keine gesalzenen Bananen bitte!
Suchkriterien kombinieren?
Das wäre der natürliche Ansatz
Die Suchkriterien sind auf unterschiedlichen Tabellen
Kombinierte Suche praktisch schwierig
Person
bbi Software AG
Address
11
Keine gesalzenen Bananen bitte!
Lösungsansätze kombinierte Suche
fast refresh materialized view
Brauchen Rechte und zusätzlichen Platz
fast refresh kritisch im OLTP
bitmap join index
die selben Nachteile wie eine materialized View
zusätzlich noch locking problematisch
text index
“exotische” Lösung
Programmänderung erforderlich wegen anderer Suchoperatoren
Mühsame Aktualisierung
bbi Software AG
12
Keine gesalzenen Bananen bitte!
Index / Tabelle im Cache
Index findet man eher im Speicher als Tabellen
Die Index Blöcke haben meist eine bessere hit ratio als Tabellen Blöcke
Index Einträge sind meist kleiner als die zugehörigen Datensätze
Index Einträge sind nach dem Suchbegriff geclusteret
Der Tabellenzugriff erzeugt 19 mal mehr physischen I/O als der Index Zugriff
bbi Software AG
13
Keine gesalzenen Bananen bitte!
Warum lesen, was man wegwerfen wird ?
+
=
bbi Software AG
14
Keine gesalzenen Bananen bitte!
Simulierter Index Backbone Join
select * from (
select a.city_name, p.last_name, substr(p.data,1,1) p_data,
substr(a.data,1,1) a_data
from ibj.person p,
ibj.address a,
(select /*+ NO_MERGE */ p.rowid p_rowid,
a.rowid a_rowid
from ibj.address a,
ibj.person p
where p.person_id = a.person_id
and a.city_name = 'Bern'
and p.last_name = 'Müller'
) i
where i.p_rowid = p.rowid
and i.a_rowid = a.rowid)
where rownum < 11
/
bbi Software AG
15
Keine gesalzenen Bananen bitte!
Nur ein Traum ?
bbi Software AG
16
Keine gesalzenen Bananen bitte!
Und es geht doch …
„My
Kerry Osborne,
CTO Eniktec,
Oak Table Member
bbi Software AG
favorite new
Oracle Database 12c
feature is the SQL
Translation
Framework. I might
be able to use it to fix
badly written SQL
behind the scenes.”
17
Anatomie eines SQL Befehls
bbi Software AG
Ruessenstrasse 12
6340 Baar ZG (Switzerland)
Phone: +41 (0)41 511 44 00
Direct: +41 (0)78 626 43 31
Fax: +41 (0)41 511 44 07
mailto:[email protected]
http://www.bbi.ch
bbi Software AG
18