Microsoft (MSFT) vừa mở mã nguồn pg_durable, một tiện ích mở rộng cho PostgreSQL giúp các nhóm kỹ thuật không còn phải "chắp vá" các tác vụ cron, hàng đợi, tiến trình xử lý và bảng trạng thái để chạy các tác vụ nền đáng tin cậy. Với pg_durable, quy trình được định nghĩa hoàn toàn bằng SQL, mỗi bước được checkpoint tự động. Nếu cơ sở dữ liệu gặp sự cố hoặc khởi động lại, tiến trình sẽ tiếp tục từ điểm dừng cuối cùng thay vì phải làm lại từ đầu.

Thực thi bền vững: xu hướng mới, giờ có sẵn trong cơ sở dữ liệu

Thực thi bền vững đang trở thành mẫu chuẩn trong ngành, thường cần các bộ điều phối riêng như Airflow, Temporal hay Step Functions. pg_durable đưa mô hình này vào ngay bên trong PostgreSQL mà không cần thêm hạ tầng nào. Công cụ này phù hợp với các kỹ sư phụ trợ, DBA, SRE và các đội xây dựng quy trình dữ liệu hoặc AI cần thực thi bền vững theo từng bản ghi, tài liệu hoặc lô xử lý.

Ứng dụng thực tế: từ tạo nhúng AI đến bảo trì tự động

Các kịch bản ứng dụng điển hình bao gồm: quy trình tạo nhúng vector (chia nhỏ dữ liệu, gọi API tạo nhúng, chèn hoặc cập nhật vào pgvector), nạp dữ liệu lớn (tạm ghi, khử trùng lặp, chuyển đổi, xuất bản), bảo trì theo lịch (phát hiện bloat, thông báo, chờ phê duyệt, thực thi), tổng hợp song song (chạy các truy vấn độc lập rồi gộp kết quả) và quy trình gọi API bên ngoài (làm giàu dữ liệu, phân loại, gọi kiểu webhook). Tất cả đều được checkpoint tự động, không sợ gặp sự cố hay khởi động lại.

Giảm tải cho lập trình viên, tăng độ tin cậy cho hệ thống

Trước đây, một lần khởi động lại giữa chừng có thể buộc phải chạy lại toàn bộ tác vụ, một bản ghi lỗi hay một lần gọi API hỏng sẽ dẫn đến dọn dẹp thủ công. pg_durable biến quy trình thành SQL thuần, còn trạng thái thử lại, theo dõi tiến độ và cơ chế checkpoint đều nằm trong Postgres. Một số tiến trình xử lý, bộ tiêu thụ hàng đợi và phần ghép nối với bộ lập lịch có thể biến mất. Khả năng quan sát vận hành đến từ các bảng Postgres như df.instances, dùng chung cơ chế xác thực và sao lưu với dữ liệu sẵn có.

pg_durable phù hợp với các đội ngũ đã lưu trạng thái trong Postgres và muốn đưa năng lực tính toán đến gần dữ liệu. Nó không thay thế được cho những tác vụ đơn giản chỉ cần INSERT ... SELECT, hoặc các yêu cầu xử lý đồng bộ dưới mili-giây. Nhưng với các quy trình phức tạp, đây là bước tiến lớn trong việc đơn giản hóa hệ thống và tăng độ tin cậy.