Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Hitchhiker's Guide to Cloud Native Database...

Sean Scott
December 03, 2023

The Hitchhiker's Guide to Cloud Native Databases: Prepare for the Cloud Native database future! (South Korea - Dec 4)

Sean Scott

December 03, 2023
Tweet

More Decks by Sean Scott

Other Decks in Technology

Transcript

  1. The Hitchhiker's Guide to Cloud Native Databases Prepare for the

    Cloud Native database future APAC Tour '23 December 4, 2023 Seoul, South Korea @ViscosityNA www.viscosityna.com Sean Scott
  2. Database Reliability Engineering Business Continuity ⁘ HA & DR Automation

    ⁘ Observability Real Application Clusters ⁘ Data Guard ⁘ Sharding Containerization ⁘ Terraform ⁘ Ansible Exadata & Engineered Systems AHF ⁘ TFA ⁘ GIMR ⁘ CHA Sean Scott Oracle ACE Director Data on Kubernetes Community Ambassador Managing Principal Consultant Viscosity North America @ViscosityNA www.viscosityna.com
  3. @ViscosityNA www.viscosityna.com Oracle on Docker Running Oracle Databases in Linux

    Containers Free sample chapter: https://oraclesean.com
  4. BOI - SEA 642 km SEA - ICN 8,394 km

    ICN - NRT 1,260 km NRT - MEL 8,144 km MEL - AKL 2,644 km AKL - LAX 10,467 km LAX - BOI 1,085 km 32,635 km
  5. @ViscosityNA www.viscosityna.com On-Prem: Bare Metal and VM Resources directly provisioned

    to workloads Inflexible, scales poorly Capacity based on projected requirements Difficult to move
  6. @ViscosityNA www.viscosityna.com Cloud: Containers Workloads decoupled from resources Scale to

    meet demand Moving within a cloud is easier Moving to different clouds is difficult
  7. @ViscosityNA www.viscosityna.com Three full operating systems bin/lib app 3 Guest

    OS bin/lib app 1 Guest OS bin/lib app 2 Guest OS Hypervisor Host OS Three application/executable directories bin/lib app 3 bin/lib app 1 bin/lib app 2 Container Runtime Host OS
  8. @ViscosityNA www.viscosityna.com Virtual Machines Three full operating systems bin/lib app

    3 Guest OS bin/lib app 1 Guest OS bin/lib app 2 Guest OS Hypervisor Host OS Containers Three application/executable directories bin/lib app 3 bin/lib app 1 bin/lib app 2 Container Runtime Host OS
  9. @ViscosityNA www.viscosityna.com Virtual Machines Three full operating systems bin/lib app

    3 Guest OS bin/lib app 1 Guest OS bin/lib app 2 Guest OS Hypervisor Host OS Containers Three application/executable directories bin/lib app 3 bin/lib app 1 bin/lib app 2 Container Runtime Host OS Extra Capacity!
  10. @ViscosityNA www.viscosityna.com www.viscosityna.com @ViscosityNA 13 Oracle Databases on a Laptop

    2018 MacBook Pro 15", 2.2GHz 6-core Intel Core i7, 16GB, 1TB SSD
  11. @ViscosityNA www.viscosityna.com Virtual Machines: Bootable OS, often heavy Install MS

    Word separately for every document A 100-page book of games & puzzles Containers: Support one application or service One copy of MS Word shared by all documents A sheet of paper with a Tic-Tac-Toe grid
  12. @ViscosityNA www.viscosityna.com A Union Filesystem has three layers: A Merge

    or Union Layer: The service. An Upper Layer: The container. A Lower Layer: The image.
  13. @ViscosityNA www.viscosityna.com The Upper (merge) layer isn't "real." It's a

    perceived (calculated) union of: • The game board & rules • Game play
  14. @ViscosityNA www.viscosityna.com Shift the Image Right Moves fall off the

    game board: Changing an image changes the game!
  15. @ViscosityNA www.viscosityna.com How much space do three containers use? 500MB

    + 500MB + 500MB 1,500MB 500MB 500MB 500MB + 500MB
  16. @ViscosityNA www.viscosityna.com Base Linux OS Oracle 19.3 Home Preinstall RPM

    Oracle 19.20 RU One-off Patches Base Linux OS Oracle 19.3 Home Preinstall RPM Oracle 19.21 RU One-off Patches
  17. @ViscosityNA www.viscosityna.com Base Linux OS Oracle 19.3 Home Preinstall RPM

    Oracle 19.20 RU One-off Patches Oracle 19.21 RU One-off Patches
  18. @ViscosityNA www.viscosityna.com Container Image /etc/oratab /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02

    /u03 oraInventory ORACLE_BASE/audit podman run --name ORCLDB \ --volume /oradata/ORCLDB/inv:/u01/app/oracle/oraInventory \ --volume /oradata/ORCLDB/cfg:/dbconfig \ --volume /oradata/ORCLDB/diag:/ORACLE_BASE/diag \ --volume /oradata/ORCLDB/audit:/ORACLE_BASE/audit \ --volume /oradata/ORCLDB/data:/u02 \ --volume /oradata/ORCLDB/redo:/u03 \ oracle/database:19.20-EE
  19. @ViscosityNA www.viscosityna.com Container Image /etc/oratab /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02

    /u03 oraInventory ORACLE_BASE/audit podman stop ORCLDB podman rm ORCLDB podman run --name ORCLDB \ --volume /oradata/ORCLDB/inv:/u01/app/oracle/oraInventory \ --volume /oradata/ORCLDB/cfg:/dbconfig \ --volume /oradata/ORCLDB/diag:/ORACLE_BASE/diag \ --volume /oradata/ORCLDB/audit:/ORACLE_BASE/audit \ --volume /oradata/ORCLDB/data:/u02 \ --volume /oradata/ORCLDB/redo:/u03 \ oracle/database:19.21-EE