Cơ sở dữ liệu 22/09/2026 5 phút

Bảng rất lớn trong PostgreSQL: các đòn bẩy lưu trữ để bảng tỉ dòng vẫn chạy được

Bảng cực lớn cần kết hợp nhiều đòn bẩy lưu trữ. Đo thật: fillfactor=90 cho 43% HOT update (48 MB so với 59 MB), giảm bloat cho bảng ghi nặng; TOAST nén text lặp lại 42 lần và chuyển giá trị khó nén ra ngoài dòng (main chỉ 1 MB, TOAST 195 MB) để heap chính luôn hẹp. Cùng phân vùng và tablespace phân tầng. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Nhân bản đồng bộ vs bất đồng bộ trong PostgreSQL: đổi thông lượng lấy độ bền

Nhân bản sync bắt primary chờ standby xác nhận trước khi commit — không mất dữ liệu khi primary chết, nhưng chậm hơn. Đo thật: dải synchronous_commit từ 5021 xuống 2475 tps, và demo commit treo với wait_event SyncRep khi standby chết. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Cập nhật và xoá hàng loạt trong PostgreSQL: vì sao chia lô chậm hơn mà vẫn nên làm

Một UPDATE/DELETE khổng lồ nhanh hơn về wall-clock nhưng khoá mọi dòng suốt cả giao dịch, dồn hàng trăm MB WAL một cục và phình bảng gần gấp đôi. Đo thật: UPDATE 2 triệu dòng sinh 722 MB WAL và 2 triệu dead tuple; chia lô kèm VACUUM giữ bloat thấp. PostgreSQL 16.

Lập trình Go 22/09/2026 9 phút

WebSocket server thật trong Go: nâng cấp từ HTTP, giao tiếp hai chiều bền vững

WebSocket nâng cấp một kết nối HTTP thành kênh hai chiều mở liên tục cho chat, thông báo đẩy, dữ liệu real-time. Đo thật trong Go 1.23: bắt tay 101 Switching Protocols, gửi/nhận trên một kết nối bền, và một message qua WebSocket nhanh hơn HTTP polling khoảng 23 lần.

Cơ sở dữ liệu 22/09/2026 5 phút

pg_stat_user_tables trong PostgreSQL: tìm bảng thiếu index qua seq scan

pg_stat_user_tables đếm mỗi bảng bị quét tuần tự hay dùng index bao nhiêu lần. Bài này đo thật: một bảng 1 triệu dòng bị 20 truy vấn quét tuần tự đọc 20 triệu dòng, thêm index thì về 0 seq scan. Và vì sao 100% seq scan trên bảng nhỏ lại hoàn toàn bình thường. PostgreSQL 16.