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


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Cache – spreekuit: kasjeKastjesBrowser: Client (browser, cookie or Java Script memory; HTML 5 offers persistent, cross session local db like storage)App Server : Edge (WebServer)JVM (and cluster)Cross cluster shared cachedb or memory gridDatabase (not requery at least)
  • Copy data in PL/SQL (rather than bring from DB to Middletier, copy, send back again)
  • Add New in title
  • By managing many as one, we maximize OpEx reduction. Here we see a single backup strategy for the entire container database… with the granularity of a PITR capability at the individual PDB level.
  • The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool, Eindhoven)

    1. 1. Lucas Jellema (CTO, AMIS) 25 April 2014 The evolution of the Database – role of the database in application architecture
    2. 2. 2 Two years ago – here at Fontys
    3. 3. 3 Agenda • Wie of wat is AMIS? • Hoe verging het Chiel na zijn studie in Eindhoven? • Hoe zit het met die Database? • Vragen & Opmerkingen
    4. 4. 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:
    5. 5. 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 • Active with SQL & PL/SQL, Java EE & ADF, SOA, BPM & more Fusion Middleware
    6. 6. 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, Scalability Engineered Systems
    7. 7. 7 Chiel
    9. 9. 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
    10. 10. 10 Decentralized Silos to central, consolidated Layers
    11. 11. 11 Decentralized Silos to central, consolidated Layers (2)
    12. 12. 12
    13. 13. 13 Consolidated, Layered Architecture Data Business Interface
    14. 14. 14 Consolidated, Layered Architecture Data Business Interface
    15. 15. 15 Cloud Power PaaS
    16. 16. More than a container for data • “We could also do that in the database” • in the database? Huh? RDBMS ≈>>
    17. 17. 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
    18. 18. PL/SQL VM (Oracle7, 1993) PL/SQL VM
    19. 19. 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
    20. 20. 993 2009 10g7.0 8.0 8i 9i internet xml JVM inside ANSI/standards interMedia 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
    21. 21. 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
    22. 22. 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
    23. 23. 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 storage requirements – Has a green bonus!
    24. 24. 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 feature has 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, table or even record level • 12c adds Valid Time Modeling (aka Temporal Validity): database keeps track of begin and end date of the valid period of records
    25. 25. 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') );
    26. 26. Role of the Database in Modern Architecture • Single Point of … • What goes where …
    27. 27. Reaching out from the database Database
    28. 28. 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 invoker JVM Servlet WebLogic Server
    29. 29. 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 Custom PL/SQL package E P G htp
    30. 30. The Talking Database Details on the Employee. Employee name is Smith, his job is Analyst. He works in department 20… EMP
    31. 31. The Talking Database PL/SQL exposed through dbms_epg Employees Table 1 2 3 4 5 6 7
    32. 32. Reaching out from the database Database dbms_epg (mod_plsql) http XMLDB http ftp webdav utl_http http Advanced Queuing AQ jms Queue REST Web Service File, O/S JDBC, SQL Net, DB Link
    33. 33. Stock management
    34. 34. Stock management
    35. 35. 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
    36. 36. 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 Cache Cluster Fail-Over (Session State) Result Store Write Behind Client Result Cache Result Cache Materialized View
    37. 37. 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, …
    38. 38. 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
    39. 39. 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
    40. 40. 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 – ….
    41. 41. 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
    42. 42. Cloud
    43. 43. 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
    44. 44. 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)
    45. 45. 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.
    46. 46. 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
    47. 47. Oracle 12c (released summer 2013) C is for… Complete Complementary Cloud Consolidation Container Crowd Control Core Central Cool Carefree Classified
    48. 48. DBA is resource intensive
    49. 49. 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
    50. 50. Multitenant Architecture
    51. 51. Oracle Database Architecture • Requires memory, processes and database files ERP Database Files Background Processes Memory Utilized
    52. 52. Oracle Database Architecture • Separate memory and processes required for each database ERP Database Files Memory Utilized Background Processes CRM Database Files Background Processes Memory Utilized DW Database Files Background Processes Memory Utilized
    53. 53. New Pluggable Database Architecture ERP Database Files Memory Utilized Background Processes CRM Database Files Memory Utilized Background Processes DW Database Files Memory Utilized Background Processes • Memory and processes required at container level only
    54. 54. New Pluggable Database Architecture • Memory and processes required at container level only ERP CRM DW Background Processes Memory Utilized Container Database
    55. 55. Multitenant Architecture
    56. 56. Multitenant Architecture
    57. 57. 58 Ease the administration burden • Installing • Configuring • Securing • Monitoring • Patching • Upgrading • Backing up
    58. 58. Multitenant Architecture
    59. 59. 60 Fast Provisioning
    60. 60. 61 Simplified Patching
    61. 61. 62 Fast Cloning a PDB  PDBs can be cloned from remote CDBs  PDBs can be cloned from within the same CDB
    62. 62. Manage Many as One with Multitenant Backup databases as one; recover at pluggable database level One Backup Point-in-time recovery At pluggable database level
    63. 63. 64 Multitenant Agility GOLD SILVER BRONZE RAC, Data Guard, Daily Incrementals Data Guard, Daily Incrementals Weekly Full Backups
    64. 64. 65 Big News…
    65. 65. 66 Oracle Database In Memory Option
    66. 66. 67 Hybrid, dual-format data storage transparent to application
    67. 67. 68 Oracle Technology Network • 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-Built Virtual Machines – PHP – BigData – SOA & BPM – Java EE – BI – Solaris
    68. 68. 69 Oracle XE Database – free!
    69. 69. 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
    70. 70. • Blog: – On Oracle, SQL, Java, SOA, BPM & more • Email: • : lucasjellema • :, +31 306016000 Edisonbaan 15, Nieuwegein