the evolution of the oracle database - then, now and later (fontys hogeschool, eindhoven)

71
Lucas Jellema (CTO, AMIS) 25 April 2014 The evolution of the Database – role of the database in application architecture

Upload: lucas-jellema

Post on 19-May-2015

523 views

Category:

Technology


4 download

DESCRIPTION

Presentation on the role of the (relational) database in modern enterprise application architecture and on the major themes and development in the evolution of the Oracle Database through the years, up to and including 12c. This presentation was created for and delivered to students in Computer Science at Fontys Hogeschool in Eindhoven on April 25th 2014.

TRANSCRIPT

Page 1: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Lucas Jellema (CTO, AMIS)

25 April 2014

The evolution of the Database – role of the database in application architecture

Page 2: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

2

Two years ago – here at Fontys

Page 3: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

3

Agenda

• Wie of wat is AMIS?• Hoe verging het Chiel na zijn studie in Eindhoven?• Hoe zit het met die Database?• Vragen & Opmerkingen

Page 4: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

AMIS

• Leuke organisatie!• Oracle & Java specialisten (pakweg 90 man & vrouw)• Gevestigd in Nieuwegein• Opgericht in 1991 door studenten van de Universiteit Twente

– A M I S

• Opdrachten in – Heerlen, Joure, Almelo, Nijmegen, Deventer– Utrecht, Den Haag, Amsterdam, Rotterdam– New Caledonia, Mongolië, Canada,

Denemarken, België, Koeweit, Faroër eilanden, Duitsland, Verenigde Staten, …

• Stage-opdrachten– Mail: [email protected]

Page 5: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

The Presenter:Lucas Jellema

• Lives in The Netherlands (close to Amsterdam)

• Started doing Oracle in 1994 with Oracle Consulting (Oracle Designer, Forms, Database)

• Joined AMIS in 2002 – now working as CTO, Consultant (Architect, Technical Lead, Programmer)and Trainer

• Oracle ACE (2005) & ACE Director (2006)• Author of ‘Oracle SOA Suite 11g Handbook’

(Oracle Press, 2010)• Presenter at Oracle OpenWorld, JavaOne and

many Oracle and Java User Group Conferences• Frequent blogger at http://technology.amis.nl• Active with SQL & PL/SQL, Java EE & ADF,

SOA, BPM & more Fusion Middleware

Page 6: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

6

AMIS

• Projecten rond (enterprise) web applicaties en portalen, B2B integratie, “mobilisering”, 24/7 beschikbaarheid, User Experience, business process management

• Klanten waaronder:– Politie Nederland, Randstad, Raad voor de Rechtspraak, NS, ProRail, Eneco– Pensioenfondsen, financiële instellingen, logistieke bedrijven, software producenten

• Technische kreten– Database, Middleware

SOA, BI, IoT,Big Data, UX, HTML 5,(No)SQL, Events,Java, grid, IdM, XML,Cloud, BPM, VM,Provisioning, ScalabilityEngineered Systems

Page 7: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

7

Chiel

Page 8: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

8

THE EVOLUTION OF THE DATABASE – ROLE OF THE DATABASE IN APPLICATION ARCHITECTURE

Page 9: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Overview

• Role of the Database in Modern Architecture • More than a container for data• Evolution of the Oracle Database• Recent Trends around the Database• Q & A

Page 10: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

10

Decentralized Silos to central, consolidated Layers

Page 11: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

11

Decentralized Silos to central, consolidated Layers (2)

Page 12: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

12

Page 13: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

13

Consolidated, Layered Architecture

Data

Business

Interface

Page 14: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

14

Consolidated, Layered Architecture

Data

Business

Interface

Page 15: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

15

Cloud Power

PaaS

Page 16: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

More than a container for data

• “We could also do that in the database”• in the database? Huh?

RDBMS ≈>>

Page 17: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Brief history of Oracle Database

• 1970: Paper “A Relational Model of Data for Large Shared Data Banks” by Ted Codd (IBM)

• 1977: Software Development Laboratories was founded• Late ‘70s – Project “Oracle” – executed by SDL for the CIA• 1979: SDL became Relational Software, Inc. and introduced Oracle V2

(built in PDP-11)– Basic SQL functionality (query, join) but no transactions

• 1982: RSI became Oracle Corporation• 1983: Oracle 3 - rewritten in C, ported to UNIX platforms and extended

with COMMIT and ROLLBACK• 1984: Oracle 4 – read consistency• 1985-1990: Oracle 5, 5.1 and 6: client/server, distributed queries, row

level locking & hot back ups• 1993: Oracle7… more than just a database

Page 18: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)
Page 19: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

PL/SQL VM

(Oracle7, 1993)

PL/SQL VM

Page 20: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

PL/SQL Virtual Machine

• Ever since Oracle7, the Oracle RDBMS contains a PL/SQL Virtual Machine

• That means: write [PL/SQL] once, run anywhere (as long as the RDBMS is running)

• This portability of PL/SQL across platforms is pretty extraordinary!

PL/SQL

Page 21: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

1993 2009

10g7.0 8.0 8i 9i

internet

xml

JVM inside

ANSI/standardsinterMedia

Spatial

OLAP/BI/Analytics

Data Warehouse/ETL

The Grid

11g

PL/SQL:Triggers, Packages

SOA

SOX

Constraints

20011997 2004

Data Mining

Semantic Query

OO

RegExp

‘13

XE

NoSQL

Evolution of the Oracle Database

12c

CBO

RAC

Flashback & Total Recall

Data Guard

R

24/7 EBR

Cloud

Multi-platform porting

Materialized Views & Query Rewrite

SQL2Hadoop

Pattern Matching

Temporal DB

Multitenant

In Memory DB

JSON

Data Masking

Page 22: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Backup and recovery

• Back up is not relevant….• .. unless you have an established and test recovery strategy!• Backup should be done ‘hot and on line’• Recovery should be

– Unnecessary– Online– Focused– Quick

• Oracle Backup & Recovery facilities– Data Guard – (remote)

synchronized Stand By Database

– Flashback Recovery – RMAN

Page 23: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

24/7 – High Availability

• Unplanned Downtime– Real Application Clusters (RAC)– Data Guard Standby Database for fail over– Hot Patching– Back-up Air Conditioning & Power Generator

• Planned Downtime– Online Redefinition– Edition Based Redefinition for zero down time database application upgrades– NoSQL “read ahead & write behind” cache layer

Page 24: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Compression

• When the system’s performance is I/O bound– Reading/writing data from/to storage cannot keep at the same rate as the CPUs

• there is spare capacity in the CPUs to alleviate the I/O burden– Through a reduction in the volume of data to be read and written – by zipping before write and unzipping after read

• The same information gets across in fewer bytes and therefore with less I/O

• It even reduces storagerequirements– Has a green bonus!

Page 25: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Flashback and Total Recall

• Oracle Database has long had two capabilities for ‘remembering’ the old situation regarding records– Uncommitted transactions whose changes are local– Read consistency, even for long running queries

• In 9i, 10g and 11g this featurehas been extended to remember‘the old situation’ for far longer– Undo Data => Flashback Archive

• This allows for – Historical queries– Trend analysis over time– Point-in-time recovery

• At database, schema, tableor even record level

• 12c adds Valid Time Modeling (aka TemporalValidity): database keeps track of begin and enddate of the valid period of records

Page 26: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Valid time aware flashback queries

• Select all employees who were employed at a certain moment in time

• Perform all queries as if we traveled back in time

• Example: Run an end-of-year report in the end of January

SELECT * FROM EMP AS OF TIMESTAMP TO_TIMESTAMP('01-JUN-2012 12.00.01 PM')

EXECUTE DBMS_FLASHBACK_ARCHIVE.enable_at_time ( 'ASOF' , TO_TIMESTAMP('29-MAR-20414 13:14:15') );

Page 27: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Role of the Database in Modern Architecture

• Single Point of …• What goes where …

Page 28: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Reaching out from the database

Database

Page 29: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Java Class processing an HTTP request: The servlet

• The JVM can handle HTTP requests via the Servlet Container• HTTP requests are routed to a custom Java Class that writes the (usually

HTML response)• The Servlet infrastructure handles the actual HTTP response to the

invokerJVM

Servlet

http request

http responseWebLogic Server

Page 30: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

PL/SQL Package processing an HTTP request: The embedded PL/SQL gateway

• The Database (the PL/SQL VM) can handle HTTP requests via the Embedded PL/SQL Gateway

• HTTP requests are routed to a custom PL/SQL Package that writes the (usually HTML response)

• The EPG infrastructure handles the actual HTTP response to the invoker

http request

http response Custom PL/SQL package

EPG

htp

Page 31: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

The Talking Database

Details on the Employee. Employee name is Smith, his job

is Analyst. He works in department 20…

EMP

Page 32: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

The Talking Database

PL/SQLexposed through

dbms_epg

http

audio/mpeg, binary data

http

Employees Table

1

2

3

45

67

Page 33: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Reaching out from the database

Database

dbms_epg(mod_plsql)

http

XMLDB

httpftp

webdav

utl_http

http

AdvancedQueuing

AQjms

Queue

RESTWeb

Service

File, O/S

JDBC, SQL Net, DB Link

Page 34: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Stock management

Page 35: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Stock management

Page 36: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Do not do it…More often than required

• If it has been produced before…– Reuse before re-produce!

• If it has been shipped before…– Reuse instead of re-ship

• … provided it is still fresh

Web Browser

RDBMS

Java EE Application Server

Page 37: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Do not do it…More often than required

• Save on network trips, context switches and tiers to cross

• Save on ‘reproducing’ same results Web Browser

RDBMS

Java EE Application Server

- JS data (memory)

- Cookies- HTML 5 db

Edge Cache

CacheCluster Fail-Over(Session State)Result StoreWrite Behind Client Result

Cache

Result Cache

Materialized View

Page 38: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Fast Data – Real Time Event processing

• The league of real time events– Continuous stream of a multitude of tiny events with hardly any payload, to

analyze & aggregate– Sent from physical sensors (temperature, pressure, RFID, security gates), process

sensors, Twitter, manufacturing equipment, database triggers, web servers, ESBs, stock trade tickers, sport statistics, RSS, network switches, …

Page 39: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

No SQL

• Replacing Relational Database?– Front End & Middle Tier Cache for read only data provisioning – Non-Transactional processing of large volumes of data

– Not Only SQL– Working closely with ‘back-end’ relational database– Working with Hadoop for off-line, parallel processing

Page 40: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Do not do it…In a suboptimal place

• Do not perform a task in a resource that is not ideally suited for that task– If it directly contributes to overall performance

Page 41: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Do not do it…In a suboptimal place

• Leverage database for what it’s good at– Data Integrity – Primary Key /Unique Key /Foreign Key– Aggregation– Sorting– Data Rule enforcement– Bulk DML and Copy data– Analytical Functions, Model clause, Rollup

• Specialized engines for– HTML rendering and Session Management– Imaging and Document Processing– Match and Search– Speech Recognition– Cryptography– 3D – ….

Page 42: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Recent Trends around the Database

• Self managing => role of DBA• Cloud• Appliances & Engineered Systems (the ExaData machine)

– From I/O bound back to CPU bound

• NoSQL (data gathering) and R (data analysis) ...• 12c

– Multitenant, In Memory Database, Temporal Validity, Data Masking, JSON

Page 43: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Cloud

Page 44: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Cloud

• Automated (self-service) provisioning of database resources• Multi-tenant• Metering and per-usage billing• 24/7 uptime – hot patching, fail-over• Fine grained recovery, upgrade, authorizations• Scalable

• ‘The Oracle Public Cloud’ IaaS

PaaS

SaaS

Page 45: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Appliances & Engineered Systems

• Pre-configured, installed, plug’n’play• One stop solution in case of issues• Software/hardware mutually optimized (*

– Infini-band, Storage Cells, Flash-memory (between RAM & Disk)

Page 46: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Data Masking

• Gartner reports that: data masking should be mandatory for enterprises using copies of sensitive production data for application development, analytics or training.

• They also believe the market is expanding into production and unstructured data protection.

Page 47: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Data Redaction

• At runtime, you can optionally have the query results modified to reset/scramble/randomize sensitive data– Through ‘data redaction’ policies associated with tables and view and applied at

query time

• Because the data is masked in real-time, Data Redaction is well suited to environments in which data is constantly changing.

• You can create the Data Redaction policies in one central location and easily manage them from there.

SQL engine SQL

POLICY

POLICY

RESULTS

Page 48: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Oracle 12c (released summer 2013)C is for…

Complete

Complementary

Cloud

Consolidation

Container

Crowd

Control

Core

CentralCool Carefree

Classified

Page 49: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

DBA is resource intensive

Page 50: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Managing dozens of databases means…

– Installing– Configuring– Securing– Monitoring– Patching– Upgrading– Backing up

• many database instances on potentially a large number of machines

• Using dedicated resources for each individual database instance– 20 processes– Memory for SGA– Disk space for generic objects such as most of the SYS schema

Page 51: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Multitenant Architecture

Page 52: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Oracle Database Architecture

• Requires memory, processes and database files

ERP

Database Files

BackgroundProcesses

MemoryUtilized

RAM

Page 53: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Oracle Database Architecture

• Separate memory and processes required for each database

ERP

Database Files

MemoryUtilized

BackgroundProcesses

RAM

CRM

Database Files

BackgroundProcesses

MemoryUtilized

RAM

DW

Database Files

BackgroundProcesses

MemoryUtilized

RAM

Page 54: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

New Pluggable Database Architecture

ERP

Database Files

MemoryUtilized

BackgroundProcesses

CRM

Database Files

MemoryUtilized

BackgroundProcesses

RAM

DW

Database Files

MemoryUtilized

BackgroundProcesses

RAMRAM

• Memory and processes required at container level only

Page 55: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

New Pluggable Database Architecture

• Memory and processes required at container level only

RAM ERP CRM DW

BackgroundProcesses

MemoryUtilized Container Database

Page 56: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Multitenant Architecture

Page 57: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Multitenant Architecture

Page 58: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

58

Ease the administration burden

• Installing• Configuring• Securing• Monitoring• Patching• Upgrading• Backing up

Page 59: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Multitenant Architecture

Page 60: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

60

Fast Provisioning

Page 61: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

61

Simplified Patching

Page 62: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

62

Fast Cloning a PDB

PDBs can be cloned from remote CDBs

PDBs can be cloned from within the same CDB

Page 63: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

Manage Many as One with Multitenant

Backup databases as one; recover at pluggable database level

DW

12.1

CRM

12.1

ERP

12.1

One Backup

Point-in-time recoveryAt pluggable database level

Multitenant Container Database

Page 64: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

64

Multitenant Agility

GOLD

SILVER

BRONZE

RAC, Data Guard, Daily Incrementals

Data Guard, Daily Incrementals

Weekly Full Backups

Page 65: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

65

Big News…

Page 66: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

66

Oracle Database In Memory Option

Page 67: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

67

Hybrid, dual-format data storage transparent to application

Page 68: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

68

Oracle Technology Networkhttp://otn.oracle.com

• Gratis download van vrijwel alle Oracle producten• Gebruiken voor studie, onderzoek, prototype development, …• Geen beperking in tijd of functionaliteit• Betalen als je een

systeem in productie(gaat) nemen

• Handig: Pre-BuiltVirtual Machines– PHP– BigData– SOA & BPM– Java EE– BI– Solaris

Page 69: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

69

Oracle XE Database – free!

http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html

Page 70: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

70

Summary

• Database is core of enterprise IT– Persistent when the plug is pulled

• Consolidation is important theme– More efficient usage of hardware resources and

of human resources– Agile scaling – quick, simple, cheap– Cloud as ultimate target– Also: “logical consolidation” – centralize data

• Database is bottleneck – a single point of failure• Logical consistency demands require transactions to use locks on data –

scalability at database level is reduced as a result– CAP theorem – consistency, availability and partition tolerance can not all be

achieved

• Evolution of databases continues rapidly – the relevance of the Database Platform is quite strong today

• IT is a smart career choice – and AMIS is a fun company

Page 71: The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

• Blog: technology.amis.nl– On Oracle, SQL, Java, SOA, BPM & more

• Email: [email protected]

• : lucasjellema

• : www.amis.nl, [email protected] +31 306016000 Edisonbaan 15,

Nieuwegein