Tập 97: `duy-sql` và data layer — Quản lý dữ liệu an toàn tĩnh

Trạng thái sự thật: Chưa xảy ra — Mục tiêu trung hạn của Hệ sinh thái.

Sau web layer là data layer. Một hệ thống lưu trữ dữ liệu (database engine) viết bằng ngôn ngữ systems truyền thống thường phải đối mặt với hai bóng ma: lỗi hỏng bộ nhớ dẫn đến mất dữ liệu (data corruption) và hiệu năng suy giảm do cơ chế đồng bộ luồng phức tạp.

duy-sql là một dự án nghiên cứu xây dựng database engine mini bằng DUY. Bằng cách sử dụng kiểu dữ liệu owned[T] để biểu diễn quyền sở hữu độc quyền đối với các trang dữ liệu (page cache) và view[T] cho các tiến trình đọc song song, compiler DUY sẽ chứng minh tại compile-time rằng không có tình trạng ghi đè dữ liệu đồng thời (data race) xảy ra.

Đồng thời, hệ thống Effect tĩnh sẽ kiểm soát chặt chẽ các hành vi ghi đĩa. Một hàm thực hiện transaction buộc phải khai báo effect tương ứng, giúp lập trình viên kiểm soát chính xác khi nào dữ liệu thực sự được flush xuống ổ cứng (fsync), đảm bảo tính bền vững (Durability) của hệ thống mà không phải hy sinh hiệu năng do các lệnh sync bừa bãi. Cơ sở dữ liệu sẽ hoạt động với tốc độ tối đa của phần cứng đĩa SSD NVMe mà không lo sợ hỏng cấu trúc file.


Bình luận (0)

Đang tải bình luận...