Đang tải nội dung…
Đang tải nội dung…
10 bài viết phù hợp với “Index”
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.
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ự.
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.
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.
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.