Mục lục

1. Giới thiệu

Mục đích của bài viết này là cung cấp cho bạn hình dung về công việc quản trị PostgreSQL Database (Database Administrator – DBA) và giúp định hướng việc học của bạn nếu bạn còn bối rối.

Đọc thêm  Các công việc của một Database Administrator – DBA

 

2. Học các thuật ngữ và khái niệm quan trọng

  • Object model: data types, columns, rows, tables, schemas, databases, queries.
  • Relational model: domains, attributes, tuples, relations, constraints, NULL.
  • Databases high-level concepts: ACID, MVCC, transactions, write-ahead log, query processing.

3. Học cài đặt và khởi động PostgreSQL

  • Cách sử dụng các trình quản lý gói phần mềm trên Linux (APT, YUM, RPM, …)
  • Sử dụng docker (không bắt buộc)
  • Quản lý service PostgreSQL bằng systemd (start, stop, restart, reload).
  • Quản lý service PostgreSQL bằng pg_ctl, pg_ctlcluster.
  • Kết nối vào Postgres bằng psql.
  • Deploy database service trên môi trường cloud như AWS, GCE, Azure, Heroku, DigitalOcean, … (không bắt buộc)
Đọc thêm  Hướng dẫn cài đặt PostgreSQL trên CentOS 7
Đọc thêm  Cài đặt PgAdmin để quản lý PostgreSQL

 

4. Học cách cấu hình PostgreSQL

Học cách cấu hình các thành phần cơ bản trong PostgreSQL. Ở bước này, bạn chưa cần hiểu quá sâu về từng thành phần

  • Cách cấu hình các tham số trong postgresql.conf:
  • Cách cấu hình các tham số quy định sử dụng tài nguyên (Memory, CPU, Session,…)
  • Cách cấu hình Write-ahead Log
  • Hiểu khái niệm về Checkpoints và Background Writer
  • Hiểu và sử dụng Cost-based vacuum and auto-vacuum
  • Cấu hình các kỹ thuật Replication
  • Sử dụng Query planner
  • Cách sử dụng Reporting, logging và statistics
  • Sử dụng các extensions
Đọc thêm  Cấu hình tham số trong PostgreSQL
Đọc thêm  Các tham số cấu hình Memory trong PostgreSQL
Đọc thêm  PostgreSQL WAL là gì?

 

5. Học về bảo mật PostgreSQL

Hiểu về các khái niệm quan trọng trong bảo mật và biết cách triển khai những chính sách bảo mật cơ bản

  • Các hình thức xác thực, role, pg_hba.conf, SSL settings.`
    Quyền: Cách gán/gỡ quyền, quyền mặc định
  • Các chủ đề bảo mật khác:` row-level security, selinux.

 

6. Học các kỹ năng quản trị Database nền tảng:

Luyện tập các kỹ năng triển khai, mở rộng, bảo trì vận hành PostgreSQL và các phần mềm trong cùng hệ sinh thái

  • Replication: streaming replication, logical replication
  • Các công cụ Backup/recovery :
    • Có sẵn khi cài đặt: pg_dump, pg_dumpall, pg_restore, pg_basebackup
    • Từ hãng thứ 3: barman, pgbackrest, pg_probackup, WAL-G
  • Thủ tục kiểm tra tính khả dụng của bản backup
  • Nâng cấp Database
    • Nâng cấp bằng công cụ pg_upgrade
    • Nâng cấp bằng logical replication
  • Connection pooling: Pgbouncer, Pgpool-II, Odyssey, Pgagroal
  • Công cụ giám sát: Prometheus, Zabbix,…
  • High availability và cluster management: Patroni, Repmgr, Stolon, pg_auto_failover, PAF
  • Phần mềm Load Balancing và Service Discovery: Haproxy, Keepalived, Consul, Etcd
  • Triển khai Postgres trên Kubernetes: Simple StatefulSet setup, HELM, operators
  • Resource usage and provisioning, capacity planning
  • Học cách định kỳ vận hành hệ thống một cách tự động
    • Sử dụng 1 ngôn ngữ lập trình đơn giản như Bash, Python, Perl, ..
    • Ansible, Salt, Chef, Puppet
Đọc thêm  Cài đặt PgAdmin để quản lý PostgreSQL

 

7. Các kỹ năng để phát triển Database

Học các nguyên lý và công cụ để phát triển Database

  • Công cụ quản lý version database : liquibase, sqitch, …
  • Data import/export, bulk loading and processing
  • Queues: Skytools PGQ
  • Data partitioning và sharding.
  • Các kỹ thuật chuẩn hóa Database

 

8. Học các công nghệ nâng cao trong Postgres

Hiểu biết sâu sắc về:

  • Kiến trúc Process và Memory.
    • Vacuum processing
    • Buffer management
    • Lock management
    • Physical storage và file layout
    • System catalog
  • Fine-grained tuning: Per-user, per-database settings
  • Storage parameters
  • Tối ưu Database
  • Các chủ đề SQL nâng cao:
    • PL/pgSQL, procedures and functions, triggers
    • Aggregate và window functions
    • Recursive CTE

 

Đọc thêm  Database Cluster trong PostgreSQL là gì
Đọc thêm  Quản lý database trong PostgreSQL

 

9. Học về xử lý sự cố trên PostgreSQL

Bạn cần tìm hiểu các công cụ để thu thập thông tin và khoanh vùng vấn đề khi có sự cố xảy ra

  • Công cụ của hệ điều hành
    • top (htop, atop)
      sysstat
      iotop
  • Postgres system views
    pg_stat_activity
    pg_stat_statements
  • Postgres tools: pgcenter
  • Query analyzing:
    • EXPLAIN
    • Depesz online EXPLAIN visualization tool
    • PEV online EXPLAIN visualization tool
    • Tensor online EXPLAIN visualization tool
  • Log analyzing: pgBadger
  • Ad-hoc analyzing using grep, awk, sed, …
  • External tracing/profiling tools: gdb, strace, perf-tools, ebpf, core dumps
  • Phương thức xử lý sự cố: USE, RED, Golden signals

 

Đọc thêm  Một số lỗi thông thường khi khởi động PostgreSQL

 

10. Index và cách sử dụng index

  • B-tree, Hash, GiST, SP-GiST, GIN, BRIN
  • SQL queries patterns và anti-patterns
  • SQL schema design patterns và anti-patterns

 

11. Kỹ năng thiết kế tổng thể

Hiểu rõ về các use case dành cho PostgreSQL, biết được khi nào thì PostgreSQL là phù hợp

  • Postgres extensions: Greenplum, Timescaledb, Citus, Postgres-XL, etc.
  • Các ưu điểm và nhược điểm của RDBMS
  • Các khác biệt giữa Postgres và các RDBMS khác hay thậm chí các NoSQL database
  • Các kỹ thuật hacking trong PostgreSQL
  • Tham gia cộng đồng PostgreSQL, trở thành 1 thành viên năng nổ đóng góp và giúp đỡ người khác
  • Reviewing patches
  • Viết patches

 

Nguồn: https://dangxuanduy.com/

Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.

KHOÁ DÀNH CHO NGƯỜI MỚI

KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)

CÁC KHOÁ NÂNG CAO:

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD

CÁC KHOÁ COMBO:

COMBO 1: ADMIN 1 + MULTITENANT 12c

COMBO 2: ADMIN 1 + DATA GUARD

COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD

LỊCH HỌC:

Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE 

ĐĂNG KÝ:

https://forms.gle/MtCAoRQFenP886y79

Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

5 1 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
5 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
quanpt
quanpt
2 năm trước

Bài viết hay quá. Cảm ơn bạn!

Hồng Hạnh
Hồng Hạnh
2 năm trước

Xin thông tin chi tiết khóa học này ạ.

hai.do
hai.do
4 tháng trước

Hi anh, anh có thông tin khóa học này không anh nhỉ

5
0
Rất thích suy nghĩ của bạn, hãy bình luận.x