- doag.org · • Sie benutzten dann die restlichen 200k US$ um die erste Version von Oracle zu...

42

Transcript of - doag.org · • Sie benutzten dann die restlichen 200k US$ um die erste Version von Oracle zu...

<Insert Picture Here>

30 Jahre Oracle Datenbank - 30 Jahre SQL StandardJörn BartelsPrincipal Member of Technical StaffOracle Corporation

16. Juni 1977

Kenntnisse des Auditoriums

• Erfahrung mit Oracle Version 4 oder früher?

• Erfahrung mit Oracle Version 5?

• Erfahrung mit Oracle Version 6?

• Erfahrung mit Oracle Version 7?

• Erfahrung mit Oracle Version 8?

• Erfahrung mit Oracle Version 9?

• Erfahrung mit Oracle Version 10?

• Erfahrung mit Oracle Version 11?

<Insert Picture Here>

30 Jahre ...Agenda

• Der Anfang

• System R

• Oracle wird 1977 als SDL gegründet

• V1 – V11

• SQL86 – SQL 2008

Der AnfangDie Papiere von Dr. E. F. „Ted“ Codd

• 1968 entstanden die ersten Ideen, wie das mathematische Relationen Modell auf Datenbanken übertragen werden kann.

• Ted Codd veröffentlicht 1969 sein erstes Papier innerhalb der IBM über einen neuen Weg Daten zu modellieren.

• Ein Jahr später, veröffentlicht er das grundlegende Papier "A Relational Model of Data for Large Shared Data Banks"

Der Anfang”A Relational Model of Data for Large Shared Data Banks”

System R

• IBM beginnt 1973 (endlich) das "System R" Projekt.

• Als Sprache wird "SEQUEL„ verwendet. Der Name soll angeblich die folgende Bedeutung haben: "Structured English-like QUEry Language".

• Ein relationales Entwicklungssystem mit dem Namen "System R" wird 1977 an Pratt & Whitney verkauft. Der erste kommerzielle Erfolg für eine "relationale Datenbank".

System RZitate

• The DML paper did get accepted at SIGMOD. Several years later I got a call from a guy named Larry Ellison who'd read that paper; he basically used some of the ideas from that paper to good advantage.

• Larry called up. He had heard about the System R prototype and he wanted to make sure that his product was fully compatible with it, right down to the error code values. We went and asked Frank, "Can we give our error codes to this guy Ellison and Frank said, "No -those are IBM Confidential."

Don Chamberlin (SQL REUNION 95)

Oracle wird 1977 als SDL gegründet

Oracle wird 1977 als SDL gegründetDie Erwartungen

• In fact, when I started Oracle, the goal was never to have a large company. At best, I hoped we would have fifty people in the company and make a good living. About five years into the company, it became pretty clear that the horizons were unlimited. The only limitations were us.Larry Ellison (Nicole Ricci Interview, 1998)

Oracle wird 1977 als SDL gegründetDie Vorgeschichte (1)

• Larry, Ed Oates und Bob Miner lernten sich bei der Firma Ampex kennen und arbeiteten an einem CIA Projekt mit dem Codenamen “Oracle”

• Larry ging zu Precision Instruments (PI) und erfuhr von einem 400k US$ Projekt, für das sie den Auftrag erhielten.

• Für das Projekt gründeten Sie die Firma “Software Development Labs (SDL). Bob Miner wurde der erste Geschäftsführer, da Larry noch bei PI war.

• Bruce Scott wurde der erste Angestellte.

Oracle wird 1977 als SDL gegründetDie Vorgeschichte (2)

• Von dem Projekt werden 90% in der Hälfte der Zeit (2 Jahre) fertiggestellt.

• Sie benutzten dann die restlichen 200k US$ um die erste Version von Oracle zu schreiben.

• Larry brachte ein Papier über SEQUEL mit.

• Die Funktionalität wurde von Bob Miner und Bruce Scott implementiert, während Ed Oates das PI Projekt fertigstellte.

• 1978 wird die CIA der erste Kunde.

Version 1Gab es nicht

• Es gab nie eine Version 1!

• Es gab auch nie einen Plan für eine Version 1!

• Larry meinte, daß ein vernünftiger Kunde nie eine Version 1 eines Produktes kaufen würde.

• SDL ändert 1979 den Namen in Relational Software Inc. (RSI)

1979 Version 2Die erste Oracle Datenbank

• Die Version wird auf einem 16 Bit Mini Computer, der PDP 11 von Digital Equipment unter RSX in Assembler entwickelt.

• Der Addressraum war 64k groß, daher wurde der Code schon in der Version 2 auf zwei Prozesse aufgeteilt. Client – Server war geboren.

• Die Sprache wird Structured Query Language (SQL) genannt, da SEQUEL einem Urheberrecht unterlag. Es war fast vollständig kompatibel zu IBMs erster relationalen Datenbank SQL/DS. Der einzige Unterschied waren die Fehler Codes, da IBM diese nicht offen legte.

1979 - 1982 Version 2

• Die Interactive Application Facility (IAF) wird entwickelt. IAF ist der Vorgänger von SQL*Forms

• Das User Friendly Interface (UFI) wird entwickelt. UFI ist der Vorgänger von SQL*Plus.

• Oracle läuft auf der VAX unter VMS im emulation mode.

• Erste Aktivitäten in Europa, in Hamburg wird ein Vertriebsbüro eröffnet.

• RSI bekommt den neuen Namen ORACLE Systems Corporation.

1983 Version 3Die portable Oracle Datenbank

• Jetzt in C codiert, ist Oracle das erste portable 32 Bit RDBMS, das auf Mainframes unter VM und Minicomputern unter VMS und Unix läuft.

• In dieser Version ist jetzt auch das Transaktionskonzept integriert.

• Bruce Scott verlässt Oracle und gründet mit anderen Gupta.

1984 Version 4Die zuverlässige Oracle Datenbank

• Oracle Version 4, mit Support für Lese Konsistenz (read consistency), ist freigegeben.

• Oracle portiert die Datenbank auf den PC. Die MS-DOS Version von Oracle läuft in nur 512K memory.

• Die erste Version, die eine grössere Marktbedeutung erlangt.

(4.1.4)

1985 Version 5Die verteilte Oracle Datenbank

• Database Links erlauben den Zugriff auf entfernte Datenbanken.

• Mit SQL*Net können die Anwendung und die Datenbank auf unterschiedlichen Rechnern sein.

• Oracle geht 1986 an die Börse und hat einen Jahresumsatz von 55 Millionen US$.

• Auf VAX/VMS gibt es mit Version 5.1 die erste Unterstützung eines geclusterten Rechner Netzes. (Vor-Vorgänger von RAC)

• Oracle Deutschland wird 1987 gegründet.

(5.0.20/5.1.17)

1988 Version 6Die skalierbare Oracle Datenbank

• Vollständige Erneuerung des Transaktionskonzeptes

• CBO

• Echtes Row Level Locking

• PL/SQL

• Oracle zieht 1989 in die neuen markanten Gebäude in Redwood Shores.

• Oracle erreicht 1991 auf einer nCUBE 1000 TPC-B Transaktionen pro Sekunde.

(6.0.37)

1988 Version 6Zitate

There were user conferences where I thought

I needed to wear a bulletproof vest. People were really upset with us.

- Randy Baker, Leiter des Oracle Support

1988 Version 6Zitate

Rows in Versions 3 and 4 and 5 were concatenated in blocks - you know: byte, byte, byte, byte, byte, byte,

byte ... with no index or anything. So if you wanted row sequence number twelve, you'd start at the

beginning of the block, and you'd start scanning over

columns, and rows ...; and eventually there'd you'd be, right where you were looking for. So how do you

update a row and make one of the columns bigger? Well, you shift the rest of the block to the right ...

- Roger Bamford, Oracle Chef Entwickler V6(SQL REUNION 95)

1992 Version 7Die programmierbare Oracle Datenbank

• Umfangreiche Verbesserungen• Stored Procedures

• Trigger

• Referential Integrity

• Verteilte Datenbank

• 1994 stirbt Bob Miner an Krebs

(7.0.16)

1992 Version 7.1 – 7.3

• 7.1 (1994)• PL/SQL Funktionen in SQL integriert.

• Symmetrische Replikation

• 7.2 (1995)• 64 Bit Unterstützung

• Inline Views

• 7.3 (1996)• Universal Server

• Hash Joins

(7.1.4/7.2.3/7.3.4)

1997 Version 8

• 8.0 Die "alle Daten" Oracle Datenbank• Partitionierung

• Star Query

• Parallel DML

• Object Erweiterungen

• 8.1 (8i) Die Internet Oracle Datenbank (1998)• Java Stored Procedures

• Materialized Views

• Function Based Index

• Linux Port

(8.0.6)

(8.1.7)

2001 Version 9i Die erweiterbare Oracle Datenbank

• Real Application Clusters (RAC)

• Flashback Query

• XML Unterstützung

(9.2.0.8)

2003 Version 10Die Internet Oracle Datenbank

• 10.1 (10g) • 8 Exabyte (8 millionen Terabyte) Datenbank Grösse

• ASM Volume Management

• 10.2 • Verschlüsselung

• Bind Peeking

2007 Version 11

Normierungsgremien

• DIN NIA-01-32 • Normenausschuss Informationstechnik und Anwendungen

• Datenmanagement und Datenaustausch

• ANSI NCITS H2 • American National Standards Institute

• National Committee for Information Technology Standardization

• ISO/IEC JTC1 SC32 WG3 und WG4• Internationale Standards Organisation

• International Electrotechnical Commission

• Joint Technical Commitee 1

SQL86 – SQL 2008 Die 80er Jahre

• 1978 wird ANSI X3H2 gegründet, um die "CODASYL database commands„ zu standardisieren. Das Gremium beginnt mit der Arbeit an NDL ("Network Database Language").

• 1982 beginnt ANSI X3H2 die Arbeit an einem zweiten Projekt mit dem Namen "RDL" ("Relational Database Language") 3

• Ca. 1984 bringt der IBM Repräsentant bei ANSI X3H2, Phil Shaw, einen fast vollständigen nur leicht angepassten user guide von SQL/DS zu einem Meeting von X3H2 und schlägt diesen als Ersatz für RDL vor. Diese Sprache war natürlich SQL. 4

SQL86 – SQL 2008 Die 80er Jahre

• Die erste SQL Version wird in den USA 1986 von ANSI veröffentlicht. 5

• Die erste internationale SQL Version wird 1987 von ISO veröffentlicht. 6

• 1989 wird "SQL-89„ endlich fertig. Die einzige Änderung zu SQL-86 ist die Einführung von Referential Integrity.

• 1986 -- 1992 – Entwicklung des ersten „vollständigen“SQL Standards – SQL2

Die Ausgaben

2008SQL2008

2003SQL2003

1999SQL3

1992SQL2

1989SQL89

1986 ANSI / 1987 ISOSQL86

VeröffentlichungStandard

Die Teile

2003XML14

2000JRT13

1996Schemata11

1998OLB10

2000MED9

1996PSM4

1995CLI3

1995Foundation2

1995Framework1

ErschienenBezeichnungTeil

SQL86 – SQL 2008 Die 90er Jahre

• 1992 wurde SQL2 veröffentlicht. 7

• Die Entwicklung von „object orientiertem SQL“, das auch als „SQL3“ bekannt wurde, geschah in den Jahren 1991 – 1999.

• 1995 wurde der Standard aufgeteilt und Teil 3: Call-Level Interface (SQL/CLI) wurde veröffentlicht.

• 1996 wurde Teil 4: Persistent Stored Modules (SQL/PSM) veröffentlicht. 7.3

• 1998 erscheint Teil 10: Object-Language Bindings (SQL/OLB). 8

• 1999 - ISO stellt ISO/IEC 9075-1:1999 (SQL3) fertig. 8.1

SQL86 – SQL 2008 Das dritte Jahrtausend

• 2000 wurden die folgenden Teile veröffentlicht: 9, 9.2

• Teil 9: Management of External Data (SQL/MED)

• Teil 10: Object Language Bindings (SQL/OLB)

• Teil 13: SQL Routines and Types Using the JavaTM Programming Language (SQL/JRT)

• 2003 wurde dann wieder ein vollständiger Satz des ISO/IEC 9075 Standards mit den Teilen 1, 2, 3, 4, 9, 10, 11, 13, und 14 veröffentlicht 10.1

• 2005 wird vom Teil 14: SQL/XML die zweite Ausgabe veröffentlicht. 10.2

• Nächstes Jahr wird dann SQL 2008 erscheinen.

Aufruf für die Abgabe von Kommentaren

• Die einzelnen Schritte eines Standards werden veröffentlicht, und es ist jedermann aufgefordert, Kritik oder Erweiterungsvorschläge einzureichen.

• In Deutschland werden diese vom Ausschuss DIN NIA-01-32 gesammelt und an die SC32 weitergegeben.

• Auf den zweimal jährlich stattfindenden Treffen werden diese dann Diskutiert und in den Standard Vorschlag eingearbeitet.

Aktuelle Entwicklungen

• SQL2008 – Ist die nächste geplante Veröffentlichung des Standards.

• SQL/XML – Ist der mit Abstand aktivste Teil des Standards

• Security – Hier ist eine verstärkte Aktivität zu erkennen, die insbesondere von den Mitabeitern aus Japan getragen wird.

• Auditing – Auch hier zeigen sich neue Entwicklungen.

Mitarbeit im Standard

• Die Arbeitsgrupp NIA-01-32 trifft sich zweimal jährlich.

• um die aktuellen Papiere zu besprechen,

• eingegangene Kommentare zu sichten und weiter zu geben

• sowie eigene Papiere zu begutachten und als Deutsche Beitrag an SC32 weiter zu geben.

• Weitere Informationen zur Mitarbeit im Standard:http://www.nia.din.de/gremium=na043-01-32aa

Mitarbeit im Standard

• Weitere Mitarbeiter sind willkommen.

• Ansprechpartner:Herr Cord WischhöferBurggrafenstr. 610787 BerlinTel: +49 30 2601-2535Fax: +49 30 2601-42535 email: [email protected]

Weiterführende Informationen

• The Difference Between God and Larry Ellison, 1997 von Mike Wilson• Softwar: An Intimate Portrait of Larry Ellison and Oracle,

2003 von Matthew Symonds • Oracle Timeline: http://www.oracle.com/timeline/index.html• Profit Magazin: May 2007

http://www.oracle.com/profit/archives/may07_index.html• Oracle Magazin: July/August 2007

http://www.oracle.com/technology/oramag/oracle/07-jul/o4730.html• The 1995 SQL Reunion: People, Projects, and Politics,

Edited by Paul McJones http://ftp.digital.com/pub/DEC/SRC/technical-notes/SRC-1997-018-html/sqlr95.html

• E. F. „Ted“ Codd: A Relational Model of Data for Large Shared Data Banks, Reprinted from Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. http://info.acm.org/classics/nov95/s1p3.html