Zum Inhalt springen
  • Von: DOAG Online
  • Datenbank Development
  • 03.02.2014

"Die Best Practices einer Person können der Implementationsalptraum einer anderen sein"

Er ist der Mann hinter AskTom, der Datenbankexperte mit über 25 Jahren Erfahrung, der seit Jahrzehnten die Fragen der Oracle-Community beantwortet. Tom Kyte tourt derzeit mit seinem Programm "Real World Performance Tour" durch Europa. Am 19. Februar macht der Oracle Vice President in München halt. DOAG Online hat sich im Vorfeld mit ihm über die Veranstaltung sowie über die Belange und Sorgen von DBAs und Entwicklern unterhalten.

 

Er ist der Mann hinter AskTom, der Datenbankexperte mit über 25 Jahren Erfahrung, der seit Jahrzehnten die Fragen der Oracle-Community beantwortet. Tom Kyte tourt derzeit mit seinem Programm "Real World Performance Tour" durch Europa. Am 19. Februar macht der Oracle Vice President in München halt. DOAG Online hat sich im Vorfeld mit ihm über die Veranstaltung sowie über die Belange und Sorgen von DBAs und Entwicklern unterhalten. 

Tom Kyte

Die Oracle-Datenbank übt eine gewisse Faszination aus. Warum?

Nun… für mich kommt die Faszination von der konstanten Weiterentwicklung der Software und Datenbank-Umgebung. Ich nutze Oracle seit über 25 Jahren – eigentlich seit der Version 5.1.5c. Die Datenbank ist stets gewachsen; sie hat sich ununterbrochen geändert; sie hat neue Herausforderungen an den Tag gelegt.

Und natürlich hat sie es uns auch ermöglicht, neue Probleme zu lösen! Sie müssen zugeben: Es wird nie langweilig. Was sich die Entwickler hinter der Datenbank-Software nach all den Jahren noch alles ausdenken und implementieren, finde ich immer noch absolut spannend.

Sie sind seit 1993 bei Oracle tätig. Welche Aspekte Ihrer Arbeit finden Sie immer noch aufregend?

Es gibt zwei Dinge in meinem Job, die ich besonders mag, und zwar lernen – ständig lernen – und lehren. 

Weil die Software sich weiterentwickelt und verändert; weil sich auch die Hardware-Umgebung, mit der wir arbeiten, verändert; weil sich die Ansätze und Techniken, die wir zur Verfügung haben, im Laufe der Zeit ändern, kommen wir nie darum herum, dazu zu lernen und umzulernen. Ein Großteil der Dinge, die wir im Jahre 2014 mit einer Selbstverständlichkeit sondergleichen erledigen, sind Sachen, die 2000 noch undenkbar waren. Was wir 2000 machten, hätte man sich im Jahr 1995 gar nicht vorstellen können. Und so weiter…

Die Lehrtätigkeit ist auch sehr erfüllend: Wenn jemand anfängt, etwas zu verstehen, kann man es regelrecht an seiner Reaktion sehen. Wenn sich ein Blick erhellt und ich spüre, dass eine Person es begriffen hat, ist es für mich sehr befriedigend. 

Sie haben Michelle Malcher von der IOUG im Interview gesagt: "Wenn ich nicht in der Software-Branche wäre, würde ich wahrscheinlich Lehrer sein"…

Ja, wie gesagt: Es ist ein tolles Gefühl zu beobachten, dass Menschen etwas begriffen haben. Es impliziert auch, dass diese Personen dann im Berufsleben erfolgreicher sind. Viele Menschen, die früher Asktom.oracle.com intensiv genutzt haben – sozusagen als Lerninstrument – übernehmen jetzt auch Lehrtätigkeiten. Viele der Referenten, denen man heute auf Konferenzen begegnet, waren 2000 selbst noch dabei zu lernen, wie die Dinge funktionieren. Es ist toll, diese Entwicklung zu verfolgen. Damals haben sie noch die Fragen gestellt. Heutzutage beantworten sie sie. 

Wie hat es mit AskTom angefangen?

Es begann alles im Oktober 1994 – als ich meinen ersten Beitrag im "Internet Usenet Groups" gepostet habe. Usenet war das soziale Netzwerk in den 90ern und davor. Ich habe jedenfalls eine erste Frage beantwortet. Es hat eingeschlagen wie eine Bombe. In den – sagen wir mal – sechs darauffolgenden Jahren habe ich Unmengen von Fragen beantwortet und mit Hunderten von Personen kommuniziert. Mit der Mehrheit bin ich heute noch regelmäßig in Kontakt. Das war der Impuls. 

Dann haben wir Anfang 2000 mit der Webseite asktom.oracle.com angefangen. Und der Rest ist Geschichte. Man könnte es so zusammenfassen: Ich bin bereits seit fast zwanzig Jahren mit Lehren, Erläutern und Dokumentieren beschäftigt…

Jetzt haben Sie auch Twitter

Ja, aber ich nutze Twitter meistens, um auf längere Inhalte aufmerksam zu machen. In 140 Zeichen kann nicht allzu viel gesagt werden!

Welche Art von Problemen werden denn auf AskTom angesprochen?

Überraschenderweise sind es oftmals ähnliche Themen wie vor zwanzig Jahren. Problem Nummer eins bleibt qualitativ minderwertiger Code, der sich schlecht skalieren lässt. Die Fragestellung lautet dann in etwa: "Wie können wir das schneller machen, ohne den Code anzufassen?"

Ich sage dann immer das Gleiche: "Wenn Sie es eins bis zehn Prozent schneller haben wollen, dann werden wir den Code nicht anfassen. Wenn Sie es aber 10 bis 100 Mal schneller haben wollen, dann werden wir den Code anpacken müssen. Das heißt größtenteils: Viel vom existierenden Code löschen und ihn ersetzen.

Die Leser haben in all den Jahren viel von Ihnen gelernt. Was haben Sie im Umkehrschluss von ihnen gelernt?

Alles, was ich weiß. Das ist eine ehrliche Antwort. Am Anfang habe ich vielleicht Fragen gestellt bekommen, für die ich selber für mich keine Antwort hatte. Ich habe recherchiert, getestet, herumgespielt. Dann habe ich meine Entdeckungen geteilt und vielleicht mal auch genauer verfolgt, was andere dazu sagen. Indem ich spielerisch herangegangen bin und mit Hunderten und Tausenden von Entwicklern und DBAs zusammengearbeitet habe und ihre Fragen beantwortet habe, habe ich viel gelernt. 

Und das dauert an. Heute gibt es sicherlich viel weniger Fragen, die ich nicht aus dem Effeff beantworten kann. Aber es kann mal vorkommen. Ich sage es oft: Ich lerne fast jeden einzelnen Tag was Neues über Oracle und Datenbanken allgemeiner. 

Graham Wood

In der IT-Welt sprechen wir viel über sogenannte "Best Practices". Vielleicht weil es positiv klingt. Aber wir alle lernen eine Menge aus schlechten Erfahrungen heraus, aus Fehlern, die man selber macht. Ist es nicht interessanter, über "Worst Practices" zu reden?

Ich für meinen Teil bin nicht dafür, Best Practices im Allgemeinen anzupreisen. Ich habe einen Vortrag mit dem Titel "The Best Way ". Darin geht es genau darum: Ich spreche über Best Practices und über die Gefahr, die sie darstellen können, wenn sie in die falschen Hände geraten. 

Im Normalfall sind Personen, die nach Best Practices suchen, "Neulinge" – also Personen, die lange Zeit kein Development gemacht haben, oder die vielleicht nicht so viele Erfahrungen in dem Bereich haben. Sie wollen wissen, was der beste Weg ist, um etwas zu realisieren. 

Die Wahrheit ist: Wenn es einen einzigen besten Weg gäbe, irgendetwas zu machen, warum sollte die Software mehr als eine Möglichkeit geben, dies zu realisieren? Das wäre ja nicht besonders schlau. 

Im Umkehrschluss kann man sagen: Wenn es mehrere Wege gibt, ein Ziel zu erreichen, dann weil jeder dieser Wege der beste ist. Aber eben unter den entsprechenden Voraussetzungen. Um die Best Practices zu identifizieren und sie sicher zu nutzen, braucht man ein sehr gutes Verständnis der entsprechenden Sachverhalte.

Personen müssen in der Lage sein, diese Best Practices zu filtrieren und sogar abzulehnen, je nachdem, ob sie für diese Situation gültig sind oder nicht. Es ist sehr wichtig, sich darüber im Klaren zu sein.

Kurzum: Die Best Practices einer Person können der Implementationsalptraum einer anderen sein. Es gibt nicht die eine beste Möglichkeit, etwas zu tun!

Haben Sie einige Favoriten, die Sie mit uns teilen können?

Sagen wir es mal so: Ich habe einen "Worst Practices"-Vortrag. Die Hauptthemen sind: "Wahrscheinlich muss man keine Bind-Variable nutzen" (größtenteils muss mann, aber manchmal nicht). "Wahrscheinlich muss man das Design nicht überdenken, um zu skalieren oder um eine sichere Umgebung zu haben"; "wahrscheinlich waren DBAs und Entwickler nie dazu gedacht, freundlich zueinander zu sein"… Das sind nur einige Themen unter vielen. 

Was sind in Ihren Augen Zukunftsthemen für Datenbankexperten?

Es sind die gleichen wie bisher: Sie brauchen ein gutes Verständnis von dem, wie Datenbanken funktionieren. Damit meine ich die Datenbanken von heute, die Datenbanken, die Anwender nutzen. 

Erlangen Sie ein gutes Verständnis davon, wie Transaktionen laufen und wie sie korrekt anzuwenden sind. Verstehen Sie das enorme Set an Funktionalitäten, das Ihnen zur Verfügung steht und nutzen Sie sie – Sie müssen nichts neuerfinden, wenn es schon vorhanden ist. Kurzum: Lernen Sie, wie die Bits von Software – Betriebssystem, Datenbank, Applikationsserver – zusammen arbeiten und nutzen Sie diese Kenntnisse, um herauszukriegen, was der beste Weg ist, etwas zu realisieren. 

Der Trend geht in Richtung Automatisierung, Selbstmanagement, Selbstverwaltung. Für die einen wäre die logische Konsequenz weniger DBA-Jobs. Andere denken, dass die steigende Komplexität der Technologien ein tieferes Verständnis abverlangt. Welches sind die wichtigsten Herausforderungen für Datenbank-Administratoren und -Entwickler?

Wenn Sie mich fragen… Jedes Mal, wenn wir in der Datenbank etwas automatisieren, fügen wir fünf weitere Features hinzu, denen Aufmerksamkeit und Bedeutung beigemessen werden sollte. 

DBAs sehen nur, dass ihre Nutzerbasis stets wächst. Sie schrumpft nie. Immer mehr Benutzer sind auf Applikationen, auf Datenbanken angewiesen. 

DBAs sehen ihre Datenbanken wachsen – dabei spreche ich sowohl von der Größe der einzelnen Datenbanken als auch von der gesamten Menge. Niemand nimmt eine Datenbank außer Betrieb, niemand verkleinert eine Datenbank. Alle fügen neue Daten hinzu und erstellen neue Datenbanken, die angefüttert werden müssen und Aufmerksamkeit und Pflege brauchen. 

DBAs sehen nur die Verfügbarkeitszeiträume wachsen. Die Datenbanken müssen immer da sein.
Vor zwanzig Jahren – vor dem Internet, wie wir es heute kennen – mussten Anwendungen von Montag bis Freitag von 9 bis 17 Uhr laufen. Normale Betriebe haben vielerorts außerhalb dieser Zeiten die Datenbanken heruntergefahren. Wartungsfenster waren reichlich vorhanden. Heute ist das nicht mehr der Fall. 

Und aus all diesen Gründen kann man sagen: Während einige Dinge immer einfacher wurden (zum Beispiel automatic undo, automatic PGA, system allocated extents, etc.), sind andere Dinge immer komplexer geworden.

Wie will Oracle den DBAs dabei unterstützen, diese Herausforderungen zu meistern? 

Indem wir automatisieren, was automatisiert werden kann. Und indem wir die Software immer "intelligenter" machen. Es bleibt noch eine Menge zu tun, aber all das, was automatisiert werden kann, wird es sein. 

Innerhalb von Oracle sind Sie jetzt für den Oracle Optimizer verantwortlich. Geht der Trend hier auch in Richtung selbstoptimierte Datenbank?

Absolut! Der Optimizer wird mit jedem Release ein bisschen intelligenter werden. In Oracle Database 11g haben wir Features wie adaptive cursor sharing oder cardinality feedback in die Toolbox der Optimierungstechniken hinzugefügt. In 12c ist es mit den neuen adaptiven Features noch gewachsen. Und es wird mit jedem Release so weitergehen.

Die Applikation ist die größte Ursache von Performance-Problemen. Woran liegt es?

Es kommt alles auf das Design der Anwendung an. Eine generelle Sache, die ich immer wieder sehe und höre, ist Folgendes: "Wir werden es prozedural machen. Wenn es gut genug für unsere Vorfahren und die Vorfahren unserer Vorfahren war, dann ist es auch für uns gut genug."

Nun hat sich die Lage aber geändert: Heutzutage haben wir es mit Millionen und Milliarden von Sachen zu tun. In der Vergangenheit waren die Daten nicht dermaßen "groß". Größere Datensätze brauchen neue Ansätze, neue Wege, die Dinge zu betrachten. 

Das ist eins der Schlüsselkriterien, über die wir in unserer Roadshow "Real World Performance Day" sprechen – die Dinge, über die wir nachdenken müssen, um valide Alternativen zu finden. 

Andrew Holdsworth

Wann können IT-Fachleute sagen: "Mein IT-Systems ist gut genug"?

Wenn Sie Andrew Holdsworth – einen der Moderatoren vom Real World Performance Day – dazu befragen, wird er mit einem klaren "nie" antworten.

In unserer Real World Performance Tour reden wir über die Voraussetzungen und Ansätze (Neuschreiben von Software), mit denen Sie in der Lage sein sollten, 100 – vielleicht sogar 1.000 Mal schneller zu werden. 

Geben Sie sich mit fünf Mal oder 10 Prozent zufrieden, so lange es noch Luft nach oben gibt und es noch schneller, noch besser geht. 

Sprechen wir doch mal in diesem Zusammenhang ein wenig über Ihren Deutschland-Besuch am 19. Februar. Sie sind viel unterwegs. Ist es nicht sehr anstrengend? 

Wir planen unsere Roadshows ziemlich lange im Voraus. Mit der Organisation der jetzigen Veranstaltungsreihe halten wir in den Niederlanden, Deutschland, Bulgarien, Großbritannien und Lettland an. Die Vorbereitungen haben vor zirka einem Jahr angefangen. Zu diesem Zeitpunkt ist mein Reisekalender bis Ende Juni zu hundert Prozent voll. Bis in den November hinein sind bereits eine Menge Sachen geplant.

Reisen kann anstrengend sein. Aber ich versuche, es in den Griff zu kriegen, indem ich es auf die Hälfte meiner Zeit einschränke und die übrige Hälfte der Zeit zu Hause bleibe. 

Mit Ihren beiden Kollegen Graham Wood und Andrew Holdsworth präsentieren Sie Ihr Programm Real World Performance Tour. Es ist eine interaktive Ganztagsveranstaltung, die von den deutschsprachigen Anwendergruppen mitorganisiert wird. Können Sie uns ein paar Einblicke in die Veranstaltung geben?

Vorschau - Real World Performance TourDas wird ein sehr interessanter Tag werden. Wir brechen mit dem traditionellen, linearen Ablauf ab. Statt einen Vortrag nach dem anderen anzubieten, sind wir alle drei auf der Bühne mit jeweils einem Mikrophon und einer großen Leinwand. Es gibt eine Menge Interaktion. Ich denke, das macht es viel interessanter (die Chancen einzuschlafen sind geringer!) und gibt den Zuschauern unterschiedliche Meinungen wieder. Andrew, Graham und ich, auch wenn wir schon lange bei Oracle arbeiten, haben sehr unterschiedliche Backgrounds und Erfahrungen. Das ist der Grund, weshalb wir die Dinge unter unterschiedlichen Blickwinkeln betrachten und uns auf verschiedene Geschichten berufen. Ich denke, das sind gute Voraussetzungen für einen spannenden Tag.

Wenn Sie neugierig sind, besuchen Sie doch mal folgende Webseite. Dort sehen Sie in einem kostenfreien Auszug, wie wir uns vorstellen und die Themen einführen, über die wir eingehen werden.