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

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

Sean Scott
December 10, 2023

The Hitchhiker's Guide to Cloud Native Databases - APAC Community Tour '23 - Auckland

Sean Scott

December 10, 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 11, 2023 Auckland, New Zealand @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 Virtual Machines Containers 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 Extra Capacity!
  8. @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
  9. @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
  10. @ViscosityNA www.viscosityna.com The rules and "game board" are expressed as

    Images: minimal filesystems & metadata that deliver services.
  11. @ViscosityNA www.viscosityna.com "Running" an image creates a Union Filesystem and

    starts an isolated process on the host. These are Containers.
  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 500MB 500MB
 + 500MB 
 + 500MB 1,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 Image Layer Container Layer Union Layer Immutable image

    layer Ephemeral container layer Computed union layer Oracle Database software + default configurations Modified configurations + log and audit files Unchanged software + overlaid configuration + added log and audit files
  19. @ViscosityNA www.viscosityna.com Container /etc/oratab /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02 /u03

    oraInventory ORACLE_BASE/audit ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin oraInventory ORACLE_BASE/audit /etc/oratab
  20. @ViscosityNA www.viscosityna.com Container Image /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02 /u03

    oraInventory ORACLE_BASE/audit /etc/oratab 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
  21. @ViscosityNA www.viscosityna.com Container 19.20 Image /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02

    /u03 oraInventory ORACLE_BASE/audit /etc/oratab 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
  22. @ViscosityNA www.viscosityna.com Container 19.21 Image /u01 ORACLE_HOME/dbs ORACLE_BASE/diag ORACLE_HOME/network/admin /u02

    /u03 oraInventory ORACLE_BASE/audit /etc/oratab 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