SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
SQL> SELECT compressed(know_how)
2 FROM database_community
3 FOR user_level='BEGINNER';
12 presentations selected.
Einsteiger-Stream auf der DOAG-Datenbank-Konferenz 2019
Montag, 3. Juni
10:15 Codd & ACID – Ein Ausflug in die Datenbank-
Theorie und -Geschichte
Markus Flechtner, Trivadis GmbH
11:15 Transaktionskonzept und Umsetzung Martin Klier, Performing Databases GmbH
12:15 Überblick und Architektur Martin Klier, Performing Databases GmbH
14:15 DB-Selbstverwaltung – das Data Dictionary Markus Flechtner, Trivadis GmbH
15:15 Die Herausforderungen einer Datenbank Martin Schmitter, RWE Supply+Trading GmbH
16:15 Oracle Multitenant Ulrike Schwinn, Oracle Deutschland B.V. Co. KG
Dienstag, 4. Juni
09:15 RMAN ist einfach Johannes Ahrends, Carajan DB GmbH
10:15 Oracle Client Server Kommunikation Dr. Matthias Mann, Value Transformation
Services GmbH
11:15 Applikationsentwicklung: Microservices, REST
und JSON aus der Datenbank
Robert Marz, its-people GmbH
12:15 Datentransfer mit Oracle-Tools Christian Gohmann, Trivadis GmbH
15:15 Patching Oracle: Was muss ich tun? Martin Bracher, Trivadis AG
16:15 Oracle Cloud Infrastructure: Netzwerk-
Einrichtung für DBAs
Robert Marz, its-people GmbH
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Codd & ACID
Ein Ausflug in die Theorie und Geschichte der relationalen Datenbanken
Markus Flechtner
Trivadis – Unsere Mission.
DOAG-DB Konferenz 2019: Codd & ACID5 26.05.19
Trivadis makes IT easier:
Wir unterstützen unsere Kunden
massgeblich bei der intelligenten
Nutzung von Daten im digitalen
Zeitalter.
Wir reduzieren Komplexität für
unsere Kunden durch herausragende
Technologiekompetenz.
Wir übernehmen Kernaufgaben der
bestehenden und zukünftigen IT
unserer Kunden.
Trivadis – Was uns auszeichnet und unterscheidet.
DOAG-DB Konferenz 2019: Codd & ACID6 26.05.19
Wir verstehen die Business-Prozesse und wirtschaftlichen Herausforderungen
unserer Kunden und unterstützen sie durch IT-Beratung und bei der Entwicklung
ganzheitlicher IT-Lösungen.
Unsere selbstentwickelten, bewährten Produkte und Methoden basieren auf dem
tiefen Know-how in den Kerntechnologien von Microsoft, Oracle und Open Source.
Dies unterscheidet uns von unserem Mitbewerb.
OPEN SOURCE
Trivadis – Unsere wichtigsten Kennzahlen.
DOAG-DB Konferenz 2019: Codd & ACID7 26.05.19
Gründung: 1994.
15 Trivadis Niederlassungen mit
über 650 Mitarbeitenden.
Umsatz CHF 111 Mio. (EUR 96 Mio.).
Über 250 Service Level Agreements.
Mehr als 4'000 Trainingsteilnehmer.
Forschungs- und Entwicklungsbudget:
CHF 5.0 Mio.
Mehr als 1'900 Projekte pro Jahr bei
über 800 Kunden.
Finanziell unabhängig und
nachhaltig profitabel.
Über mich - Markus Flechtner
Principal Consultant, Trivadis, Düsseldorf, seit April 2008
Im Oracle-Umfeld tätig seit den 1990ern:
– Development (Forms, Reports, PL/SQL)
– Support
– Database Administration
Schwerpunkte
– Oracle Real Application Clusters
– Datenbank Upgrade- und Migrationsprojekte
Kursreferent
– O-RAC – Oracle Real Application Clusters
– O-NF-DBA – Oracle Database New Features for the DBA
– O-MT – Oracle Multitenant
– PG4ORA – PostgreSQL für Oracle-DBAs
Blog: markusdba.de
@markusdba
26.05.19 DOAG-DB Konferenz 2019: Codd & ACID8
26.05.19 DOAG-DB Konferenz 2019: Codd & ACID9
Technik allein bringt Sie nicht weiter.
Man muss wissen, wie man sie richtig nutzt.
Eine kurze Geschichte der Datenbanken (1)
DOAG-DB Konferenz 2019: Codd & ACID10 26.05.19
1960er es gibt "Netzwerk-Datenbanken" und "hierarchische Datenbanken"
1970 E.F. Codd veröffentlicht seinen Aufsatz
"A relational Model for Large Shared Data Banks"
1970er Die Entwicklung der relationalen Datenbanksysteme (RDBMS) beginnt
IBM entwickelt "System R" mit Abfragesprache SEQUEL ("Structured
English Query Language")
1977 Die Oracle Corporation wird gegründet, zuerst unter dem Namen
"Software Development Laboratories" (SDL)), 1979 umbenannt in
"Relational Software Inc.", Umbenennung in "Oracle" 1983
1979 Oracle V2 erscheint
Eine kurze Geschichte der Datenbanken (2)
DOAG-DB Konferenz 2019: Codd & ACID11 26.05.19
1983 "ACID" als Akronym für Eigenschaften von Transaktionen wird geprägt
1985 E.F. Codd veröffentlicht die "Codd'schen Regeln"
1998 Die erste "NoSQL"-Datenbank erscheint
2000 Das CAP-Theorem ("Brewers Theorem") wird entwickelt und 2002
bewiesen
Agenda
DOAG-DB Konferenz 2019: Codd & ACID12 26.05.19
1. "In the beginning, there was no SQL .."
2. Und dann kam Codd ..
3. ACID – warum es gut ist, wenn die Datenbank sauer ist
4. "At the end, there is NoSQL again" - was ist mit CAP und BASE?
DOAG-DB Konferenz 2019: Codd & ACID13 26.05.19
"In the beginning,
there was no SQL .."
In den 1960ern …
DOAG-DB Konferenz 2019: Codd & ACID14 26.05.19
Probleme/Einschränkungen
– Daten können nur eingeschränkt miteinander verknüpft werden
– Datenstrukturen und –beziehungen sind teilweise fest definiert
– Verknüpfung zwischen Daten (Inhalten) und der Art und Weise wie sie physisch
abgespeichert werden
Hierarchische Datenbanken Netzwerk-Datenbanken
DOAG-DB Konferenz 2019: Codd & ACID15 26.05.19
Und dann kam Codd ..
.. und die DB-Welt wurde relational
Edgar Frank „Ted“ Codd
DOAG-DB Konferenz 2019: Codd & ACID16 26.05.19
1923 - 2003
Mathematiker
IBM-Mitarbeiter (1976 IBM Fellow)
Veröffentlichte 1970 den Aufsatz
"A relational Model for Large Shared
Data Banks"
è theoretische Grundlagen der RDBMS
è "relationale Algebra"
Quelle: https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
Edgar Frank „Ted“ Codd
DOAG-DB Konferenz 2019: Codd & ACID17 26.05.19
1923 - 2003
Mitarbeiter von IBM
Veröffentlichte 1970 den Aufsatz "A
relational Model for Large Shared
Data Banks"
è theoretische Grundlagen der RDBMS
è "relationale Algebra"
Quelle: https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
Quelle: https://missictteacher.wordpress.com/ocr-computing/edgar-f-codd/
Codd‘sche Regeln (1)
DOAG-DB Konferenz 2019: Codd & ACID18 26.05.19
Veröffentlicht 1985
Im Original 12 Regeln
Regel 0: (ergänzt 1990):
"For any system that is advertised as, or claimed to be, a relational data base
management system, that system must be able to manage data bases entirely
through its relational capabilities."
è Nur ein System, das die folgenden 12 Regeln (vollständig) erfülllt, darf sich
"RDBMS" nennen.
è Es gibt (strenggenommen) kein "RDBMS", dass alle Regeln vollständig erfüllt.
Bild: https://exploredatabase.com/2015/02/codds-twelve-rules.html
Codd‘sche Regeln (2)
DOAG-DB Konferenz 2019: Codd & ACID19 26.05.19
Regel 1:
"All information in a relational data base is represented explicitly at the logical
level and in exactly one way — by values in tables. "
è Alle Daten sind in Tabellen abgelegt. Das Datenmodell ist normalisiert.
Regel 2:
"Each and every datum (atomic value) in a relational data base is guaranteed
to be logically accessible by resorting to a combination of table name, primary
key value and column name."
è Ein Wert kann über Tabellenname, Spaltennamen und Primärschlüssel des
Datensatzes eindeutig identifiziert werden.
Codd‘sche Regeln (3)
DOAG-DB Konferenz 2019: Codd & ACID20 26.05.19
Regel 3:
"Null values (distinct from the empty character string or a string of blank
characters and distinct from zero or any other number) are supported in fully
relational DBMS for representing missing information and inapplicable
information in a systematic way, independent of data type."
è NULL-Werte werden innerhalb eines RDBMS einheitlich verarbeitet
è Definierte Behandlung des Undefinierten
Achtung: wie NULL-Werte innerhalb eines RDBMS verarbeitet werden, kann sich je
nach Implementierung in Feinheiten unterscheiden
SQL> select 'TEST'||null from dual;
'TES
----
TEST
postgres=# select 'TEST'||null;
?column?
----------
(1 row)
Oracle behandelt NULL-
Werte wie Leer-Strings è
Verstoß gegen Regel 3
Codd‘sche Regeln (4)
DOAG-DB Konferenz 2019: Codd & ACID21 26.05.19
Regel 4:
"The data base description is represented at the logical level in the same way
as ordinary data, so that authorized users can apply the same relational
language to its interrogation as they apply to the regular data."
è Auch die Metadaten (Informationen über die Anwendungstabellen) sind in
Tabellen gespeichert è Data Dictionary
Codd‘sche Regeln (5)
DOAG-DB Konferenz 2019: Codd & ACID22 26.05.19
Regel 5:
"A relational system may support several languages and various modes of
terminal use (for example, the fill-in-the-blanks mode). However, there must be
at least one language whose statements are expressible, per some well-
defined syntax, as character strings and that is comprehensive in supporting
all of the following items:
Data definition, View definition, Data manipulation, Integrity Constraints,
Authorization, Transaction Management"
è Es gibt (mindestens) eine "Sprache" für ein RDBMS mit den Komponenten DDL,
DML und DCL.
è Codd definiert SQL nicht, sondern nur die Anforderungen an eine RDBMS-
Sprache. SQL orientiert sich an den Codd'schen Regeln und der relationalen Algebra
Codd'sche Regeln (6)
DOAG-DB Konferenz 2019: Codd & ACID23 26.05.19
Regel 6:
All views that are theoretically updatable are also updatable by the system.
è Ein RDBMS muss "updateable views" ermöglichen
Regel 7:
The capability of handling a base relation or a derived relation as a single
operand applies not only to the retrieval of data but also to the insertion,
update and deletion of data.
è Ein RDBMS muss mengenorientierte Operationen nicht nur für Abfragen
(SELECT), sondern auch für Änderungen (INSERT, UPDATE, DELETE) erlauben.
è SQL ist eine mengenorientierte Sprache, Einzelsatzverarbeitung mit SQL ist
(meist/fast immer) nicht erforderlich
Codd'sche Regeln (7)
DOAG-DB Konferenz 2019: Codd & ACID24 26.05.19
Regel 8:
Application programs and terminal activities remain logically unimpared
whenever any changes are made in either storage representations or access
methods.
è Für den Benutzer ist es nicht wichtig, wo die Daten abgespeichert sind und wie
das DBMS darauf zugreift; das DBMS muss dafür sorgen, dass die richtigen Daten
"gefunden" werden.
Regel 9:
Application programs and terminal activities remain logically unimpared when
information-preserving changes of any kind that theoretically permit
unimpairment are made to the base tables.
è Abfragen müssen nicht geändert werden, wenn sich die Art, wie die Daten
gespeichert werden (Nicht-partitioniert, partitioniert, komprimiert, IOT, …) ändert.
Codd'sche Regeln (8)
DOAG-DB Konferenz 2019: Codd & ACID25 26.05.19
Regel 10:
Integrity constraints specific to a particular relational data base must be
definable in the relational data sublanguage and storable in the catalog, not in
the application programs.
è man kann (und sollte!) Constraints in der Datenbank definieren (und sie werden
von der Datenbank validiert) und nicht in der Applikation!
è die Datenbank ist nicht eine dumme Persistenz-Schicht sondern sie kann viel
mehr!
Regel 11:
A relational DBMS has distribution independence.
è RDBMS müssen auch verteilte Datenbanken ermöglichen / verteilte Abfragen
erlauben, ohne dass die Anwendung dafür geändert werden muss.
Codd'sche Regeln (9)
DOAG-DB Konferenz 2019: Codd & ACID26 26.05.19
Regel 12:
If a relational system has a low-level (single-record-at-a-time) language, that
low level cannot be used to subvert or bypass the integrity rules and
constraints expressed in the higher level relational language (multiple-records-
at-a-time).
è man kann die in der Datenbank definierten referentiellen Integritätsregeln mit
Mitteln der Datenbank nicht umgehen!
DOAG-DB Konferenz 2019: Codd & ACID27 26.05.19
ACID – warum es gut ist, wenn die
Datenbank sauer ist
Was ist "ACID"?
DOAG-DB Konferenz 2019: Codd & ACID28 26.05.19
Anforderungen an Transaktionen in einem Datenbank-Management-System (DBMS)
Was ist eine Transaktion?.. Eine logische zusammenhängende Operation, die
aus mehreren Befehlen bestehen kann
"ACID" steht für
– Atomicity
– Consistency
– Isolation
– Durability
Seit den 1970ern "unbewusst" bei vielen DBMS angewendet
Zuerst als "ACID" formuliert 1983 von Andreas Reuter and Theo Härder
A = Atomicity (Atomarität)
DOAG-DB Konferenz 2019: Codd & ACID29 26.05.19
Eine Transaktion wird entweder ganz oder gar nicht ausgeführt
("either all-or-nothing")
SQL> UPDATE dept SET loc='SEATTLE' WHERE loc='CHICAGO';
SQL> UPDATE emp SET ename='KONG' WHERE ename='KING';
SQL> COMMIT;
DEPTNO DNAME LOC
------ ------ ---------
30 SALES SEATTLE
EMPNO JOB ENAME
------ --------- -----------
7839 PRESIDENT KONG
DEPTNO DNAME LOC
------ ------ ---------
30 SALES CHICAGO
EMPNO JOB ENAME
------ --------- -----------
7839 PRESIDENT KONG
DEPTNO DNAME LOC
------ ------ ---------
30 SALES SEATTLE
EMPNO JOB ENAME
------ --------- -----------
7839 PRESIDENT KING
DEPTNO DNAME LOC
------ ------ ---------
30 SALES CHICAGO
EMPNO JOB ENAME
------ --------- -----------
7839 PRESIDENT KING
Bei der Ausführung hat es einen Fehler gegeben, kein Daten-
satz wurde geändert. DB-theoretisch OK, praktisch eher nicht
C = Consistency (Konsistenz)
DOAG-DB Konferenz 2019: Codd & ACID30 26.05.19
Nach einer Transaktion sind die Daten logisch konsistent.
è die in der Datenbank definierten Integritätsregeln werden eingehalten
– NOT NULL Constraints
– PRIMARY Keys
– UNIQUE Keys
– FOREIGN Keys
– CHECK Constraints
è eine Transaktion, die Integritätsregeln verletzt, schlägt fehl
I = Isolation (1)
DOAG-DB Konferenz 2019: Codd & ACID31 26.05.19
Transaktionen dürfen sich nicht gegenseitig beeinflussen
– Man sieht das, was zu Beginn einer Transaktion COMMITed war."
– Ein Datensatz darf nicht gleichzeitig von 2 Benutzern geändert werden.
– Lesekonsistenz
Was kann passieren?
– Dirty Reads
– Lost Updates
– Non-Repeatable Reads
– Phantom Reads
I = Isolation (2)
DOAG-DB Konferenz 2019: Codd & ACID32 26.05.19
Transaction Isolation Level
– Read Uncommited
– Read Commited (Default bei Oracle)
– Repeatable Read
– Serializable
I = Isolation (3)
DOAG-DB Konferenz 2019: Codd & ACID33 26.05.19
Multi-Version-Concurrency-Control (MVCC)
– Sicherstellen, dass eine Transaktion, das sieht, was zu Beginn der Transaktion
COMMITed war
– è Locking (zwei Transaktionen können nicht gleichzeitig die gleichen Daten
ändern)
– è Bei Änderungen (durch andere Transaktionen) wird der alte Stand gespeichert
– è Oracle: UNDO
D = Durability (Dauerhaftigkeit)
DOAG-DB Konferenz 2019: Codd & ACID34 26.05.19
Auch Systemfehler verändern die Daten nicht.
"Commit complete" è Die Daten sind sicher auf Platte gespeichert.
Oracle gewährleistet "Durability" durch die Redolog-Dateien.
AICD - Zusammengefasst
DOAG-DB Konferenz 2019: Codd & ACID35 26.05.19
Atomicity: All or nothing
Consistency: Rules kept
Isolation: No partials seen
Durability: Doesn’t disappear
Quelle: https://hub.packtpub.com/postgresqls-transaction-model/
DOAG-DB Konferenz 2019: Codd & ACID36 26.05.19
"At the end, there is NoSQL again"
- was ist mit CAP und BASE?
NoSQL („Not only SQL") – Datenbanken
DOAG-DB Konferenz 2019: Codd & ACID37 26.05.19
Ende der 1990er
Zuerst "No SQL" = "kein SQL", später "Not only SQL, nicht nur SQL"
Key-Value-Datenbanken
Graph-Datenbanken
Document-Datenbanken
..
Für Anwendungsfälle, bei denen RDBMS nicht erforderlich oder zu
langsam/aufwändig sind.
CAP-Theorem (Brewers Theorem) – 2000/2002
DOAG-DB Konferenz 2019: Codd & ACID38 26.05.19
In einem verteilten System ist es nicht möglich, die Eigenschaften Konsistenz
(Consistency), Verfügbarkeit (Availability) und Ausfalltoleranz (Partition
Tolerancy) zu garantieren
Consistency:
In einem verteilten System sind alle Replikate
der Daten identisch.
Availability:
Das System ist immer verfügbar, alle Anfragen
werden beantwortet.
(Netzwerk-)Partitionstoleranz:
Das System arbeitet weiter, auch wenn ein
Knoten ausfällt. Quelle: Von Tobias.trelle - Eigenes Werk, CC BY-SA 3.0,
https://commons.wikimedia.org/w/index.php?curid=16302982
BASE
DOAG-DB Konferenz 2019: Codd & ACID39 26.05.19
Konsistenzmodell für verteilte Systeme
Basically Available, Soft state, Eventual consistency
– Konstruiertes Akronym, "BASE" als Gegensatz zu "ACID"
è "Eventuell zeigen alle Abfragen den letzten Stand eines Datensatzes"
"Langfristig" sind alle Knoten konsistent
ACID vs. BASE (1)
DOAG-DB Konferenz 2019: Codd & ACID40 26.05.19
"Consistency" (ACID) != "Consistency" (BASE)
ACID BASE
"starke" Konsistenz "schwache" Konsistenz
Schwerpunkt "Commit" Priorität "Perfomance"
komplexer einfacher
exakt möglicherweise nicht immer exakt
aufwändig & langsam einfacher & schneller
ACID vs. BASE (2) – oder: RDBMS vs. NoSQL
DOAG-DB Konferenz 2019: Codd & ACID41 26.05.19
Beide Modelle haben ihre Berechtigung.
Der Anwendungsfall entscheidet.
Google darf gerne BASE für seine Suchergebnisse nutzen.
Mir ist egal, ob es 999.963 oder 998.763 Treffer für meine Suche gibt.
Aber meine Bank macht das für die Anzeige
meines Kontostandes und für meine Überweisungen hoffentlich nicht.
DOAG-DB Konferenz 2019: Codd & ACID42 26.05.19
Weitere Informationen
§ Edgar F. Codd - "A Relational Model of Data for Large Shared Data Banks." – z.B.
http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
§ Codds 12 Regeln – z.B. http://www.insidesql.org/blogs/frankkalis/2004/07/13/codds-12-regeln oder
https://en.wikipedia.org/wiki/Codd's_12_rules
§ Tom Kyte on Transaction Isolation Levels: https://blogs.oracle.com/oraclemagazine/on-transaction-isolation-levels
§ MOS-Note "Master Note: Oracle Transaction Management (Local) Overview (Doc ID 1506115.1)"
§ How does a relational database work - http://coding-geek.com/how-databases-work/
§ Brewer's CAP Theorem - http://www.julianbrowne.com/article/brewers-cap-theorem
Fragen & Antworten
Markus Flechtner
Principal Consultant
Tel. +49 211 5866 64725
Markus.Flechtner@Trivadis.com
@markusdba https://markusdba.de
Vortrag zum Download verfügbar unter https://www.slideshare.net/markusflechtner
Bitte die Vortragsbewertung nicht vergessen – Danke!
26.05.19 DOAG-DB Konferenz 2019: Codd & ACID43
Heute, 17:15:
Stairway to Heaven - Die Zukunft des DBA
Was begegnet mir auf dem Weg in die Cloud?
Pinwand für Fragen und Anmerkungen im Foyer
=> Antworten gibt es in der Open-Mic-Session

Weitere ähnliche Inhalte

Was ist angesagt?

Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGateIleana Somesan
 
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...Ileana Somesan
 
Replikation im heterogenen Umfeld mit Oracle GoldenGate
Replikation im heterogenen Umfeld mit Oracle GoldenGateReplikation im heterogenen Umfeld mit Oracle GoldenGate
Replikation im heterogenen Umfeld mit Oracle GoldenGateIleana Somesan
 
Trivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cTrivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cStefan Oehrli
 
Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cIleana Somesan
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitIleana Somesan
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichDierk Lenz
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudTrivadis
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Ileana Somesan
 
Middleware Basics für den DBA
Middleware Basics für den DBAMiddleware Basics für den DBA
Middleware Basics für den DBATrivadis
 
Oracle Database Appliance X5-2
Oracle Database Appliance X5-2Oracle Database Appliance X5-2
Oracle Database Appliance X5-2Ileana Somesan
 
Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Trivadis
 
Oracle Database In-Memory Advisor (Deutsch)
Oracle Database In-Memory Advisor (Deutsch)Oracle Database In-Memory Advisor (Deutsch)
Oracle Database In-Memory Advisor (Deutsch)Ileana Somesan
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Dierk Lenz
 
Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Ileana Somesan
 
Heterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankHeterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankUlrike Schwinn
 
Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Andreas Buckenhofer
 
Oracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerOracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerDésirée Pfister
 
Rsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxRsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxTrivadis
 

Was ist angesagt? (20)

Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGate
 
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...
 
Replikation im heterogenen Umfeld mit Oracle GoldenGate
Replikation im heterogenen Umfeld mit Oracle GoldenGateReplikation im heterogenen Umfeld mit Oracle GoldenGate
Replikation im heterogenen Umfeld mit Oracle GoldenGate
 
Trivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cTrivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19c
 
Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12c
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank Hochverfügbarkeit
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
 
Middleware Basics für den DBA
Middleware Basics für den DBAMiddleware Basics für den DBA
Middleware Basics für den DBA
 
Oracle Database Appliance X5-2
Oracle Database Appliance X5-2Oracle Database Appliance X5-2
Oracle Database Appliance X5-2
 
Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?
 
Oracle Database In-Memory Advisor (Deutsch)
Oracle Database In-Memory Advisor (Deutsch)Oracle Database In-Memory Advisor (Deutsch)
Oracle Database In-Memory Advisor (Deutsch)
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?
 
Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011
 
Heterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankHeterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle Datenbank
 
Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)
 
Oracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin BergerOracle Database Backup Service Martin Berger
Oracle Database Backup Service Martin Berger
 
Rsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxRsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für Linux
 

Ähnlich wie Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte

Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data KonnektivitätTrivadis
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Markus Flechtner
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Torsten Winterberg
 
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02Gunther Pippèrr
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?enpit GmbH & Co. KG
 
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13OPITZ CONSULTING Deutschland
 
RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?Capgemini
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
Exchange Server User Group Berlin | Meetup 2019-04-03
Exchange Server User Group Berlin | Meetup 2019-04-03Exchange Server User Group Berlin | Meetup 2019-04-03
Exchange Server User Group Berlin | Meetup 2019-04-03Thomas Stensitzki
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
OPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyOPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyAdrian Wilke
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Trivadis
 
Kataloganreicherung a la lod
Kataloganreicherung a la lodKataloganreicherung a la lod
Kataloganreicherung a la loddr0i
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017oraclebudb
 
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...Fabian Hardt
 
Linked Open Data Pilot Österreich - Beta Launch
Linked Open Data Pilot Österreich - Beta LaunchLinked Open Data Pilot Österreich - Beta Launch
Linked Open Data Pilot Österreich - Beta LaunchMartin Kaltenböck
 

Ähnlich wie Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte (20)

Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
 
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02
Doag 2104 manuskript_hadoop_oracle_integration_gunther_pipperr_v02
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
 
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13
Tipps & Tricks zum Aufbau einer Unternehmenscloud mit CC13
 
RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Exchange Server User Group Berlin | Meetup 2019-04-03
Exchange Server User Group Berlin | Meetup 2019-04-03Exchange Server User Group Berlin | Meetup 2019-04-03
Exchange Server User Group Berlin | Meetup 2019-04-03
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
Advanced DQS Integration
Advanced DQS IntegrationAdvanced DQS Integration
Advanced DQS Integration
 
OPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyOPAL - Open Data Portal Germany
OPAL - Open Data Portal Germany
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
Oracle Data Warehouse Integration Builder - Ein Selbstversuch (DOAG 2013)
 
Kataloganreicherung a la lod
Kataloganreicherung a la lodKataloganreicherung a la lod
Kataloganreicherung a la lod
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...
Data Mesh und Domain Driven Design - rücken Analytics und SD nun doch näher z...
 
Linked Open Data Pilot Österreich - Beta Launch
Linked Open Data Pilot Österreich - Beta LaunchLinked Open Data Pilot Österreich - Beta Launch
Linked Open Data Pilot Österreich - Beta Launch
 

Mehr von Markus Flechtner

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMarkus Flechtner
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cMarkus Flechtner
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenMarkus Flechtner
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cMarkus Flechtner
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-ArchitekturMarkus Flechtner
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorMarkus Flechtner
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2Markus Flechtner
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerMarkus Flechtner
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?Markus Flechtner
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabaseMarkus Flechtner
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cMarkus Flechtner
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issuesMarkus Flechtner
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-DeveloperMarkus Flechtner
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesMarkus Flechtner
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsMarkus Flechtner
 
Taming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesTaming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesMarkus Flechtner
 
Oracle Application Containers
Oracle Application ContainersOracle Application Containers
Oracle Application ContainersMarkus Flechtner
 
The three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATThe three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATMarkus Flechtner
 

Mehr von Markus Flechtner (20)

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, please
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19c
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21c
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
OraChk
OraChkOraChk
OraChk
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer Collector
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21c
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issues
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-Developer
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection Issues
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
 
Taming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesTaming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown Profiles
 
Oracle Application Containers
Oracle Application ContainersOracle Application Containers
Oracle Application Containers
 
The three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATThe three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSAT
 

Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte

  • 1. SQL> SELECT compressed(know_how) 2 FROM database_community 3 FOR user_level='BEGINNER'; 12 presentations selected. Einsteiger-Stream auf der DOAG-Datenbank-Konferenz 2019
  • 2. Montag, 3. Juni 10:15 Codd & ACID – Ein Ausflug in die Datenbank- Theorie und -Geschichte Markus Flechtner, Trivadis GmbH 11:15 Transaktionskonzept und Umsetzung Martin Klier, Performing Databases GmbH 12:15 Überblick und Architektur Martin Klier, Performing Databases GmbH 14:15 DB-Selbstverwaltung – das Data Dictionary Markus Flechtner, Trivadis GmbH 15:15 Die Herausforderungen einer Datenbank Martin Schmitter, RWE Supply+Trading GmbH 16:15 Oracle Multitenant Ulrike Schwinn, Oracle Deutschland B.V. Co. KG
  • 3. Dienstag, 4. Juni 09:15 RMAN ist einfach Johannes Ahrends, Carajan DB GmbH 10:15 Oracle Client Server Kommunikation Dr. Matthias Mann, Value Transformation Services GmbH 11:15 Applikationsentwicklung: Microservices, REST und JSON aus der Datenbank Robert Marz, its-people GmbH 12:15 Datentransfer mit Oracle-Tools Christian Gohmann, Trivadis GmbH 15:15 Patching Oracle: Was muss ich tun? Martin Bracher, Trivadis AG 16:15 Oracle Cloud Infrastructure: Netzwerk- Einrichtung für DBAs Robert Marz, its-people GmbH
  • 4. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Codd & ACID Ein Ausflug in die Theorie und Geschichte der relationalen Datenbanken Markus Flechtner
  • 5. Trivadis – Unsere Mission. DOAG-DB Konferenz 2019: Codd & ACID5 26.05.19 Trivadis makes IT easier: Wir unterstützen unsere Kunden massgeblich bei der intelligenten Nutzung von Daten im digitalen Zeitalter. Wir reduzieren Komplexität für unsere Kunden durch herausragende Technologiekompetenz. Wir übernehmen Kernaufgaben der bestehenden und zukünftigen IT unserer Kunden.
  • 6. Trivadis – Was uns auszeichnet und unterscheidet. DOAG-DB Konferenz 2019: Codd & ACID6 26.05.19 Wir verstehen die Business-Prozesse und wirtschaftlichen Herausforderungen unserer Kunden und unterstützen sie durch IT-Beratung und bei der Entwicklung ganzheitlicher IT-Lösungen. Unsere selbstentwickelten, bewährten Produkte und Methoden basieren auf dem tiefen Know-how in den Kerntechnologien von Microsoft, Oracle und Open Source. Dies unterscheidet uns von unserem Mitbewerb. OPEN SOURCE
  • 7. Trivadis – Unsere wichtigsten Kennzahlen. DOAG-DB Konferenz 2019: Codd & ACID7 26.05.19 Gründung: 1994. 15 Trivadis Niederlassungen mit über 650 Mitarbeitenden. Umsatz CHF 111 Mio. (EUR 96 Mio.). Über 250 Service Level Agreements. Mehr als 4'000 Trainingsteilnehmer. Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. Mehr als 1'900 Projekte pro Jahr bei über 800 Kunden. Finanziell unabhängig und nachhaltig profitabel.
  • 8. Über mich - Markus Flechtner Principal Consultant, Trivadis, Düsseldorf, seit April 2008 Im Oracle-Umfeld tätig seit den 1990ern: – Development (Forms, Reports, PL/SQL) – Support – Database Administration Schwerpunkte – Oracle Real Application Clusters – Datenbank Upgrade- und Migrationsprojekte Kursreferent – O-RAC – Oracle Real Application Clusters – O-NF-DBA – Oracle Database New Features for the DBA – O-MT – Oracle Multitenant – PG4ORA – PostgreSQL für Oracle-DBAs Blog: markusdba.de @markusdba 26.05.19 DOAG-DB Konferenz 2019: Codd & ACID8
  • 9. 26.05.19 DOAG-DB Konferenz 2019: Codd & ACID9 Technik allein bringt Sie nicht weiter. Man muss wissen, wie man sie richtig nutzt.
  • 10. Eine kurze Geschichte der Datenbanken (1) DOAG-DB Konferenz 2019: Codd & ACID10 26.05.19 1960er es gibt "Netzwerk-Datenbanken" und "hierarchische Datenbanken" 1970 E.F. Codd veröffentlicht seinen Aufsatz "A relational Model for Large Shared Data Banks" 1970er Die Entwicklung der relationalen Datenbanksysteme (RDBMS) beginnt IBM entwickelt "System R" mit Abfragesprache SEQUEL ("Structured English Query Language") 1977 Die Oracle Corporation wird gegründet, zuerst unter dem Namen "Software Development Laboratories" (SDL)), 1979 umbenannt in "Relational Software Inc.", Umbenennung in "Oracle" 1983 1979 Oracle V2 erscheint
  • 11. Eine kurze Geschichte der Datenbanken (2) DOAG-DB Konferenz 2019: Codd & ACID11 26.05.19 1983 "ACID" als Akronym für Eigenschaften von Transaktionen wird geprägt 1985 E.F. Codd veröffentlicht die "Codd'schen Regeln" 1998 Die erste "NoSQL"-Datenbank erscheint 2000 Das CAP-Theorem ("Brewers Theorem") wird entwickelt und 2002 bewiesen
  • 12. Agenda DOAG-DB Konferenz 2019: Codd & ACID12 26.05.19 1. "In the beginning, there was no SQL .." 2. Und dann kam Codd .. 3. ACID – warum es gut ist, wenn die Datenbank sauer ist 4. "At the end, there is NoSQL again" - was ist mit CAP und BASE?
  • 13. DOAG-DB Konferenz 2019: Codd & ACID13 26.05.19 "In the beginning, there was no SQL .."
  • 14. In den 1960ern … DOAG-DB Konferenz 2019: Codd & ACID14 26.05.19 Probleme/Einschränkungen – Daten können nur eingeschränkt miteinander verknüpft werden – Datenstrukturen und –beziehungen sind teilweise fest definiert – Verknüpfung zwischen Daten (Inhalten) und der Art und Weise wie sie physisch abgespeichert werden Hierarchische Datenbanken Netzwerk-Datenbanken
  • 15. DOAG-DB Konferenz 2019: Codd & ACID15 26.05.19 Und dann kam Codd .. .. und die DB-Welt wurde relational
  • 16. Edgar Frank „Ted“ Codd DOAG-DB Konferenz 2019: Codd & ACID16 26.05.19 1923 - 2003 Mathematiker IBM-Mitarbeiter (1976 IBM Fellow) Veröffentlichte 1970 den Aufsatz "A relational Model for Large Shared Data Banks" è theoretische Grundlagen der RDBMS è "relationale Algebra" Quelle: https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
  • 17. Edgar Frank „Ted“ Codd DOAG-DB Konferenz 2019: Codd & ACID17 26.05.19 1923 - 2003 Mitarbeiter von IBM Veröffentlichte 1970 den Aufsatz "A relational Model for Large Shared Data Banks" è theoretische Grundlagen der RDBMS è "relationale Algebra" Quelle: https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf Quelle: https://missictteacher.wordpress.com/ocr-computing/edgar-f-codd/
  • 18. Codd‘sche Regeln (1) DOAG-DB Konferenz 2019: Codd & ACID18 26.05.19 Veröffentlicht 1985 Im Original 12 Regeln Regel 0: (ergänzt 1990): "For any system that is advertised as, or claimed to be, a relational data base management system, that system must be able to manage data bases entirely through its relational capabilities." è Nur ein System, das die folgenden 12 Regeln (vollständig) erfülllt, darf sich "RDBMS" nennen. è Es gibt (strenggenommen) kein "RDBMS", dass alle Regeln vollständig erfüllt. Bild: https://exploredatabase.com/2015/02/codds-twelve-rules.html
  • 19. Codd‘sche Regeln (2) DOAG-DB Konferenz 2019: Codd & ACID19 26.05.19 Regel 1: "All information in a relational data base is represented explicitly at the logical level and in exactly one way — by values in tables. " è Alle Daten sind in Tabellen abgelegt. Das Datenmodell ist normalisiert. Regel 2: "Each and every datum (atomic value) in a relational data base is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and column name." è Ein Wert kann über Tabellenname, Spaltennamen und Primärschlüssel des Datensatzes eindeutig identifiziert werden.
  • 20. Codd‘sche Regeln (3) DOAG-DB Konferenz 2019: Codd & ACID20 26.05.19 Regel 3: "Null values (distinct from the empty character string or a string of blank characters and distinct from zero or any other number) are supported in fully relational DBMS for representing missing information and inapplicable information in a systematic way, independent of data type." è NULL-Werte werden innerhalb eines RDBMS einheitlich verarbeitet è Definierte Behandlung des Undefinierten Achtung: wie NULL-Werte innerhalb eines RDBMS verarbeitet werden, kann sich je nach Implementierung in Feinheiten unterscheiden SQL> select 'TEST'||null from dual; 'TES ---- TEST postgres=# select 'TEST'||null; ?column? ---------- (1 row) Oracle behandelt NULL- Werte wie Leer-Strings è Verstoß gegen Regel 3
  • 21. Codd‘sche Regeln (4) DOAG-DB Konferenz 2019: Codd & ACID21 26.05.19 Regel 4: "The data base description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data." è Auch die Metadaten (Informationen über die Anwendungstabellen) sind in Tabellen gespeichert è Data Dictionary
  • 22. Codd‘sche Regeln (5) DOAG-DB Konferenz 2019: Codd & ACID22 26.05.19 Regel 5: "A relational system may support several languages and various modes of terminal use (for example, the fill-in-the-blanks mode). However, there must be at least one language whose statements are expressible, per some well- defined syntax, as character strings and that is comprehensive in supporting all of the following items: Data definition, View definition, Data manipulation, Integrity Constraints, Authorization, Transaction Management" è Es gibt (mindestens) eine "Sprache" für ein RDBMS mit den Komponenten DDL, DML und DCL. è Codd definiert SQL nicht, sondern nur die Anforderungen an eine RDBMS- Sprache. SQL orientiert sich an den Codd'schen Regeln und der relationalen Algebra
  • 23. Codd'sche Regeln (6) DOAG-DB Konferenz 2019: Codd & ACID23 26.05.19 Regel 6: All views that are theoretically updatable are also updatable by the system. è Ein RDBMS muss "updateable views" ermöglichen Regel 7: The capability of handling a base relation or a derived relation as a single operand applies not only to the retrieval of data but also to the insertion, update and deletion of data. è Ein RDBMS muss mengenorientierte Operationen nicht nur für Abfragen (SELECT), sondern auch für Änderungen (INSERT, UPDATE, DELETE) erlauben. è SQL ist eine mengenorientierte Sprache, Einzelsatzverarbeitung mit SQL ist (meist/fast immer) nicht erforderlich
  • 24. Codd'sche Regeln (7) DOAG-DB Konferenz 2019: Codd & ACID24 26.05.19 Regel 8: Application programs and terminal activities remain logically unimpared whenever any changes are made in either storage representations or access methods. è Für den Benutzer ist es nicht wichtig, wo die Daten abgespeichert sind und wie das DBMS darauf zugreift; das DBMS muss dafür sorgen, dass die richtigen Daten "gefunden" werden. Regel 9: Application programs and terminal activities remain logically unimpared when information-preserving changes of any kind that theoretically permit unimpairment are made to the base tables. è Abfragen müssen nicht geändert werden, wenn sich die Art, wie die Daten gespeichert werden (Nicht-partitioniert, partitioniert, komprimiert, IOT, …) ändert.
  • 25. Codd'sche Regeln (8) DOAG-DB Konferenz 2019: Codd & ACID25 26.05.19 Regel 10: Integrity constraints specific to a particular relational data base must be definable in the relational data sublanguage and storable in the catalog, not in the application programs. è man kann (und sollte!) Constraints in der Datenbank definieren (und sie werden von der Datenbank validiert) und nicht in der Applikation! è die Datenbank ist nicht eine dumme Persistenz-Schicht sondern sie kann viel mehr! Regel 11: A relational DBMS has distribution independence. è RDBMS müssen auch verteilte Datenbanken ermöglichen / verteilte Abfragen erlauben, ohne dass die Anwendung dafür geändert werden muss.
  • 26. Codd'sche Regeln (9) DOAG-DB Konferenz 2019: Codd & ACID26 26.05.19 Regel 12: If a relational system has a low-level (single-record-at-a-time) language, that low level cannot be used to subvert or bypass the integrity rules and constraints expressed in the higher level relational language (multiple-records- at-a-time). è man kann die in der Datenbank definierten referentiellen Integritätsregeln mit Mitteln der Datenbank nicht umgehen!
  • 27. DOAG-DB Konferenz 2019: Codd & ACID27 26.05.19 ACID – warum es gut ist, wenn die Datenbank sauer ist
  • 28. Was ist "ACID"? DOAG-DB Konferenz 2019: Codd & ACID28 26.05.19 Anforderungen an Transaktionen in einem Datenbank-Management-System (DBMS) Was ist eine Transaktion?.. Eine logische zusammenhängende Operation, die aus mehreren Befehlen bestehen kann "ACID" steht für – Atomicity – Consistency – Isolation – Durability Seit den 1970ern "unbewusst" bei vielen DBMS angewendet Zuerst als "ACID" formuliert 1983 von Andreas Reuter and Theo Härder
  • 29. A = Atomicity (Atomarität) DOAG-DB Konferenz 2019: Codd & ACID29 26.05.19 Eine Transaktion wird entweder ganz oder gar nicht ausgeführt ("either all-or-nothing") SQL> UPDATE dept SET loc='SEATTLE' WHERE loc='CHICAGO'; SQL> UPDATE emp SET ename='KONG' WHERE ename='KING'; SQL> COMMIT; DEPTNO DNAME LOC ------ ------ --------- 30 SALES SEATTLE EMPNO JOB ENAME ------ --------- ----------- 7839 PRESIDENT KONG DEPTNO DNAME LOC ------ ------ --------- 30 SALES CHICAGO EMPNO JOB ENAME ------ --------- ----------- 7839 PRESIDENT KONG DEPTNO DNAME LOC ------ ------ --------- 30 SALES SEATTLE EMPNO JOB ENAME ------ --------- ----------- 7839 PRESIDENT KING DEPTNO DNAME LOC ------ ------ --------- 30 SALES CHICAGO EMPNO JOB ENAME ------ --------- ----------- 7839 PRESIDENT KING Bei der Ausführung hat es einen Fehler gegeben, kein Daten- satz wurde geändert. DB-theoretisch OK, praktisch eher nicht
  • 30. C = Consistency (Konsistenz) DOAG-DB Konferenz 2019: Codd & ACID30 26.05.19 Nach einer Transaktion sind die Daten logisch konsistent. è die in der Datenbank definierten Integritätsregeln werden eingehalten – NOT NULL Constraints – PRIMARY Keys – UNIQUE Keys – FOREIGN Keys – CHECK Constraints è eine Transaktion, die Integritätsregeln verletzt, schlägt fehl
  • 31. I = Isolation (1) DOAG-DB Konferenz 2019: Codd & ACID31 26.05.19 Transaktionen dürfen sich nicht gegenseitig beeinflussen – Man sieht das, was zu Beginn einer Transaktion COMMITed war." – Ein Datensatz darf nicht gleichzeitig von 2 Benutzern geändert werden. – Lesekonsistenz Was kann passieren? – Dirty Reads – Lost Updates – Non-Repeatable Reads – Phantom Reads
  • 32. I = Isolation (2) DOAG-DB Konferenz 2019: Codd & ACID32 26.05.19 Transaction Isolation Level – Read Uncommited – Read Commited (Default bei Oracle) – Repeatable Read – Serializable
  • 33. I = Isolation (3) DOAG-DB Konferenz 2019: Codd & ACID33 26.05.19 Multi-Version-Concurrency-Control (MVCC) – Sicherstellen, dass eine Transaktion, das sieht, was zu Beginn der Transaktion COMMITed war – è Locking (zwei Transaktionen können nicht gleichzeitig die gleichen Daten ändern) – è Bei Änderungen (durch andere Transaktionen) wird der alte Stand gespeichert – è Oracle: UNDO
  • 34. D = Durability (Dauerhaftigkeit) DOAG-DB Konferenz 2019: Codd & ACID34 26.05.19 Auch Systemfehler verändern die Daten nicht. "Commit complete" è Die Daten sind sicher auf Platte gespeichert. Oracle gewährleistet "Durability" durch die Redolog-Dateien.
  • 35. AICD - Zusammengefasst DOAG-DB Konferenz 2019: Codd & ACID35 26.05.19 Atomicity: All or nothing Consistency: Rules kept Isolation: No partials seen Durability: Doesn’t disappear Quelle: https://hub.packtpub.com/postgresqls-transaction-model/
  • 36. DOAG-DB Konferenz 2019: Codd & ACID36 26.05.19 "At the end, there is NoSQL again" - was ist mit CAP und BASE?
  • 37. NoSQL („Not only SQL") – Datenbanken DOAG-DB Konferenz 2019: Codd & ACID37 26.05.19 Ende der 1990er Zuerst "No SQL" = "kein SQL", später "Not only SQL, nicht nur SQL" Key-Value-Datenbanken Graph-Datenbanken Document-Datenbanken .. Für Anwendungsfälle, bei denen RDBMS nicht erforderlich oder zu langsam/aufwändig sind.
  • 38. CAP-Theorem (Brewers Theorem) – 2000/2002 DOAG-DB Konferenz 2019: Codd & ACID38 26.05.19 In einem verteilten System ist es nicht möglich, die Eigenschaften Konsistenz (Consistency), Verfügbarkeit (Availability) und Ausfalltoleranz (Partition Tolerancy) zu garantieren Consistency: In einem verteilten System sind alle Replikate der Daten identisch. Availability: Das System ist immer verfügbar, alle Anfragen werden beantwortet. (Netzwerk-)Partitionstoleranz: Das System arbeitet weiter, auch wenn ein Knoten ausfällt. Quelle: Von Tobias.trelle - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=16302982
  • 39. BASE DOAG-DB Konferenz 2019: Codd & ACID39 26.05.19 Konsistenzmodell für verteilte Systeme Basically Available, Soft state, Eventual consistency – Konstruiertes Akronym, "BASE" als Gegensatz zu "ACID" è "Eventuell zeigen alle Abfragen den letzten Stand eines Datensatzes" "Langfristig" sind alle Knoten konsistent
  • 40. ACID vs. BASE (1) DOAG-DB Konferenz 2019: Codd & ACID40 26.05.19 "Consistency" (ACID) != "Consistency" (BASE) ACID BASE "starke" Konsistenz "schwache" Konsistenz Schwerpunkt "Commit" Priorität "Perfomance" komplexer einfacher exakt möglicherweise nicht immer exakt aufwändig & langsam einfacher & schneller
  • 41. ACID vs. BASE (2) – oder: RDBMS vs. NoSQL DOAG-DB Konferenz 2019: Codd & ACID41 26.05.19 Beide Modelle haben ihre Berechtigung. Der Anwendungsfall entscheidet. Google darf gerne BASE für seine Suchergebnisse nutzen. Mir ist egal, ob es 999.963 oder 998.763 Treffer für meine Suche gibt. Aber meine Bank macht das für die Anzeige meines Kontostandes und für meine Überweisungen hoffentlich nicht.
  • 42. DOAG-DB Konferenz 2019: Codd & ACID42 26.05.19 Weitere Informationen § Edgar F. Codd - "A Relational Model of Data for Large Shared Data Banks." – z.B. http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf § Codds 12 Regeln – z.B. http://www.insidesql.org/blogs/frankkalis/2004/07/13/codds-12-regeln oder https://en.wikipedia.org/wiki/Codd's_12_rules § Tom Kyte on Transaction Isolation Levels: https://blogs.oracle.com/oraclemagazine/on-transaction-isolation-levels § MOS-Note "Master Note: Oracle Transaction Management (Local) Overview (Doc ID 1506115.1)" § How does a relational database work - http://coding-geek.com/how-databases-work/ § Brewer's CAP Theorem - http://www.julianbrowne.com/article/brewers-cap-theorem
  • 43. Fragen & Antworten Markus Flechtner Principal Consultant Tel. +49 211 5866 64725 Markus.Flechtner@Trivadis.com @markusdba https://markusdba.de Vortrag zum Download verfügbar unter https://www.slideshare.net/markusflechtner Bitte die Vortragsbewertung nicht vergessen – Danke! 26.05.19 DOAG-DB Konferenz 2019: Codd & ACID43 Heute, 17:15: Stairway to Heaven - Die Zukunft des DBA Was begegnet mir auf dem Weg in die Cloud? Pinwand für Fragen und Anmerkungen im Foyer => Antworten gibt es in der Open-Mic-Session