Đang tải nội dung…
Đang tải nội dung…
15 bài viết phù hợp với “PostgreSQL”
01Snapshot và WAL stream phải gặp nhau tại một log position nhất quán. Lab cho thấy tạo ranh giới quá muộn làm projection giữ giá cũ.
Ben tưởng commit offset sau khi xử lý là đủ. Một lần crash cho thấy vì sao consumer phải chịu replay và business effect cần idempotency ngay tại nơi ghi.
Lab đo lock của prepared transaction và tái hiện compensation đến trước forward event; state machine chặn tác vụ đến muộn.
10.000 record thật cho thấy tăng partition không tách một key nóng; salting hạ đỉnh nhưng đổi phạm vi bảo toàn thứ tự.
Hai lịch chạy làm cache giữ giá cũ. Logical decoding lưu thay đổi khi consumer tắt và giúp hệ thống hội tụ sau khi nó trở lại.
Deadlock không cần hai bảng. Một lab tái hiện vòng khóa FK trong PostgreSQL, thứ tự khóa ngược và gap lock trong InnoDB.
Bỏ response đầu rồi gửi lại: ledger tăng 200 khi không chống trùng và 100 khi dùng key cùng transaction. Có replay kết quả, payload conflict, phạm vi tài khoản và giới hạn retention.
Lab kiểm tra query thiếu filter, ghi chéo tenant, context rỗng và owner bypass. Giải thích SET LOCAL với connection pool, FORCE RLS và ranh giới của custom tenant context.
Đi qua lỗi dual-write, relay gửi lại và inbox chống trùng bằng PostgreSQL cùng Redis Streams thật. Phân biệt điều lab chứng minh với durability và exactly-once ngoài phạm vi.
Cùng 12 người đọc, cache-aside chạm origin 12 lần còn lease có double-check chạm 1 lần. Phân tích expiry, token, stale data và các lựa chọn giảm stampede.
Tái hiện lost update, đối chiếu atomic UPDATE và optimistic version check. Lab PostgreSQL kiểm tra cả xung đột và điều kiện không đủ tồn kho.
Giữ snapshot ở REPEATABLE READ, cập nhật 40.000 dòng, đo tuple cũ trước và sau khi đóng transaction. Phân biệt dọn phiên bản, tái sử dụng không gian và VACUUM FULL.
Dựng 60.000 dòng trong PostgreSQL, đối chiếu trước và sau khi tạo index, rồi ép đường plan để xem phần công việc còn lại. Có plan JSON, buffer counters và giới hạn phép đo.
Xóa 45.000 trên 50.000 dòng, file vẫn 52 MiB. Chèn lại không tăng file; rebuild mới còn 8 MiB. Một lab tách việc xóa dòng, tái sử dụng page và thu hồi file.
Từ một hiện tượng bất thường trong production đến cơ chế bên trong hệ thống. Đây là cách WhyBit tiếp cận kiến thức Backend Engineering.