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.
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)
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
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
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
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
- top (htop, atop)
- 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
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 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é.
Bài viết hay quá. Cảm ơn bạn!
Cảm ơn đã ủng hộ mình nha <3
Xin thông tin chi tiết khóa học này ạ.
Hi anh, anh có thông tin khóa học này không anh nhỉ
Dear Hai,
Hiện tại mình chưa có các khóa Postgresql anh em ạ