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

String internals trong Go: header 16 byte, bất biến, và chi phí ẩn của []byte(s)

String là header 16 byte trỏ vào dữ liệu bất biến, không có cap. Đo thật: substring s[7:13] miễn phí (chia sẻ backing, 0 cấp phát) nhưng chuyển string sang []byte phải copy toàn bộ (21 ns, 1 cấp phát) vì string bất biến còn byte sửa được. Vì sao và khi nào tốn kém. Go 1.23.

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

HOT update trong PostgreSQL: cập nhật một dòng mà không đụng index

HOT (Heap-Only Tuple) cho UPDATE tạo phiên bản mới ngay trong cùng trang, không cập nhật index nào — nếu không đổi cột được index và trang còn chỗ. Đo thật: update cột không index đạt 100 phần trăm HOT giữ index nguyên, update cột có index 0 phần trăm HOT làm index phình. PostgreSQL 16.

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

Bloat trong PostgreSQL: bảng phình vì dòng chết, cách phát hiện và dọn

DELETE và UPDATE để lại dòng chết; VACUUM biến chúng thành chỗ trống nhưng file không nhỏ lại — đó là bloat. Đo thật: xóa 95% dòng nhưng file vẫn 269 MB, và bảng bloat đọc chậm 3,7 lần vì quét cả trang trống. Cách phát hiện bằng pgstattuple và dọn từ VACUUM FULL tới pg_repack. PostgreSQL 16.

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

WAL và checkpoint trong PostgreSQL: vì sao UPDATE 100k dòng sinh 48 MB WAL

Mọi thay đổi ghi vào WAL trước để đảm bảo độ bền; checkpoint dồn các trang bẩn ra đĩa. Đo thật: cùng một UPDATE 100k dòng sinh 48 MB WAL ngay sau checkpoint (2606 full-page image) nhưng chỉ 28 MB khi lặp lại — chênh 20 MB là chi phí full-page image. Và cách đọc checkpoints_req để biết max_wal_size quá nhỏ. PostgreSQL 16.

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

Chọn thuật toán nén: khung quyết định theo bốn tiêu chí, và tổng kết cả loạt

Bài cuối loạt Nén: không có thuật toán nén tốt nhất, chỉ có tốt nhất cho ràng buộc của bạn. Bài này đo thật năm công cụ trên cùng 22MB — lz4 nén/giải nhanh nhất (32ms/9ms), xz nén chặt nhất (7.6x), zstd -19 vừa nhỏ vừa giải nhanh (7.3x, 16ms) — mỗi cái vô địch một tiêu chí khác. Kèm cây quyết định thực dụng và tổng kết 12 phần từ entropy tới chọn thuật toán.