PostgreSQL Database Performance Tuning - up1/training-courses GitHub Wiki

PostgreSQL Database Performance Tuning

  • 2 days

Software requirement

  • Docker
  • VS Code

Day 1

  • ทำความเข้าใจเกี่ยวกับ Data model ของการจัดการข้อมูล
    • Relational
    • NoSQL
      • Key-value
      • Document-based
      • Column-based
      • Graph
      • Time-serie
      • Search - Vector
  • หลักการในการออกแบบ Relational Database Model
    • ชุดคำสั่งของ SQL
      • การสร้าง table, constraint
      • การใช้งาน CRUD(Create, READ, Update, Delete) operation
      • การจัดการความสัมพันธ์ระหว่าง table
        • One-to-one
        • One-to-many
        • Many-to-many
      • การใช้งาน Index สำหรับการปรับปรุงประสิทธิภาพของการดึงข้อมูล
    • Normalization vs Denormalization
    • Design for read and Design for write
  • Design for performance with Database
    • House keeping
    • SQL tuning
    • Caching data
    • Database design
    • Partitioning data (pros and cons)
    • Sharding data (pros and cons)
    • Scaling database with architecture
  • Workshop
    • Enable stat and slow query in database
    • Explain and analyze SQL query
    • Tuning performance with indexing and design schema

Day 2

  • Implementation PostgreSQL server
    • Install with architecture
      • Primary and replication
      • Sharding with cluster
    • Essential configuration and tuning
      • Max connection
      • Shared buffers
      • Max memory
      • Effective cache size
      • Checkpoint timeout
      • WAL buffers
    • Enable logging
    • Monitoring Replication
      • Check replication status
      • Failover (Manual)
      • Replication lag