Unlimited Design & Technology

API và tích hợp

Giữ phân trang nhất quán khi dữ liệu thay đổi

Phân trang có thể âm thầm bỏ sót hoặc lặp bản ghi khi dữ liệu đang thay đổi. Hãy chọn thứ tự, cách tiếp tục và quy tắc ảnh chụp phù hợp với việc duyệt dữ liệu hay xuất đầy đủ.

UDT Insights09/02/2021
Một đồng nghiệp theo một dấu con trỏ nổi bật qua các trang có thứ tự cạnh cơ sở dữ liệu đang thay đổi. Một đồng nghiệp đọc sổ hướng dẫn mở.

Tệp xuất có thể đủ số dòng dự kiến nhưng vẫn thiếu bản ghi quan trọng. Khi phía gọi đọc một trang, người khác có thể thêm hoặc xóa dữ liệu. Vì vậy, phân trang cần hợp đồng về tính nhất quán, không chỉ kích thước trang và nút tiếp theo.

Quyết định kết quả phải đại diện cho điều gì

Hỏi khách hàng cần màn hình duyệt trực tiếp, đồng bộ theo khả năng tốt nhất hay tệp xuất cố định. Đây là những sản phẩm khác nhau. Danh sách để xem có thể chấp nhận dịch chuyển. Tệp đối soát có thể cần mốc chốt rõ ràng và giải thích thay đổi sau mốc đó.

GitHub khuyến nghị thứ tự sắp xếp ổn định khi phân trang và lưu ý rằng thêm hoặc xóa vẫn có thể đẩy bản ghi sang trang khác.[6] Đây là cảnh báo hữu ích: chỉ sắp xếp ổn định không tạo ra ảnh chụp dữ liệu. Quy định riêng thứ tự, cách phân biệt giá trị bằng nhau và tính nhất quán để khách hàng biết một lần đọc hết thực sự bao phủ điều gì.

Chọn quy tắc tiếp tục có chủ đích

Với API do nhóm kiểm soát, cân nhắc tiếp tục từ khóa đã sắp xếp cuối cùng thay vì vị trí số học. Ghép trường sắp xếp không duy nhất với khóa phân biệt duy nhất. Xác định yêu cầu tiếp theo xử lý thế nào nếu giá trị sắp xếp của bản ghi thay đổi sau trang trước.

Cursor, tức token để tiếp tục, không tự động là ảnh chụp cơ sở dữ liệu. Nêu rõ nó mang vị trí, bộ lọc, danh tính ảnh chụp hay kết hợp các yếu tố đó. Nên dùng token không yêu cầu phía gọi phân tích cấu trúc, có thời hạn và cách xử lý token lỗi. Với tệp xuất cố định, cân nhắc tác vụ xuất hoặc cơ chế ảnh chụp phía máy chủ. Lựa chọn này tăng chi phí lưu trữ hoặc cơ sở dữ liệu và có thể làm chậm lúc có kết quả.

Giữ trải nghiệm người dùng trung thực khi token hết hạn. Cho phép bắt đầu lại và giải thích tác động đến tính nhất quán, thay vì âm thầm chuyển các trang còn lại sang một tập dữ liệu hoặc góc nhìn khác không liên quan.

Kiểm tra toàn bộ quá trình đọc

Khi dùng API nhà cung cấp, tuân thủ cơ chế tiếp tục được mô tả. GitHub cụ thể khuyến cáo dùng link header của họ thay vì tự dựng truy vấn phân trang.[6] Giữ bộ lọc nhất quán giữa các yêu cầu và lưu đủ mốc để khởi động lại an toàn, không tuyên bố đầy đủ khi chưa chứng minh được.

  • Xác định thứ tự toàn phần với khóa phân biệt rõ ràng.
  • Kiểm thử thêm và xóa trước cũng như sau vị trí hiện tại.
  • Kiểm thử đổi trường sắp xếp, trang rỗng và token hết hạn.
  • Phân biệt loại trùng với bằng chứng rằng không bỏ sót bản ghi.

Ví dụ giả định: đối soát tồn kho

Ví dụ giả định: nhà bán lẻ tải tồn kho trong khi nhân viên vẫn cập nhật số lượng. Nhóm chọn tác vụ xuất có mốc chốt công bố rõ vì việc rà soát tài chính cần số liệu gốc nhất quán. Màn hình vận hành vẫn hiển thị dữ liệu trực tiếp riêng.

Tệp xuất có mã tác vụ và trạng thái hoàn tất. Nếu tải bị ngắt, phía gọi tiếp tục cùng tệp thay vì đọc lại từ danh sách đang thay đổi. Giữ tệp tốn dung lượng và cần quy tắc hết hạn. Trước khi chọn thiết kế này, hãy hỏi người rà soát có thực sự cần số liệu cố định hay màn hình trực tiếp với nhãn rõ ràng đã đủ cho quyết định.

Tài liệu tham khảo

Trao đổi về dự án của bạn

Cùng UDT xác định nhu cầu và bước triển khai tiếp theo.

Liên hệ UDT
Zalo