DuckDB Labs ra mắt DuckLake 1.0: Định dạng Data Lake lưu metadata trong cơ sở dữ liệu SQL
DuckDB Labs vừa phát hành DuckLake 1.0, một định dạng data lake mới lưu trữ metadata của bảng trong cơ sở dữ liệu SQL thay vì phân tán trên nhiều tệp tin trong lưu trữ đối tượng. Phiên bản đầu tiên được triển khai dưới dạng tiện ích mở rộng của DuckDB, bao gồm các tính năng như lưu trữ cập nhật nhỏ, cải thiện sắp xếp và phân vùng, cũng như khả năng tương thích với các tính năng dữ liệu kiểu Iceberg.

DuckDB Labs gần đây đã phát hành DuckLake 1.0, một định dạng data lake được thiết kế để lưu trữ metadata của bảng trong một cơ sở dữ liệu SQL thay vì phân tán chúng trên nhiều tệp tin trong lưu trữ đối tượng (object storage). Phiên bản triển khai đầu tiên hiện đã có sẵn dưới dạng tiện ích mở rộng (extension) của DuckDB, bao gồm các tính năng như lưu trữ các bản cập nhật nhỏ trong danh mục (catalog), các tùy chọn sắp xếp và phân vùng được cải thiện, cũng như khả năng tương thích với các tính năng dữ liệu kiểu Iceberg.
Theo nhóm phát triển DuckDB, việc sử dụng metadata dựa trên tệp tin trong các định dạng lake hiện nay dẫn đến sự phức tạp trong việc điều phối, các thao tác metadata chậm chạp và sự gia tăng của quá nhiều tệp tin nhỏ trong object storage. Trong khi các định dạng phổ biến như Apache Iceberg, Delta Lake và Apache Hudi chủ yếu lưu trữ metadata dưới dạng tệp tin trong object storage—đôi khi thêm các dịch vụ catalog ở phía trên—thì DuckLake chọn cách lưu trữ trực tiếp metadata vào một cơ sở dữ liệu SQL.
Tuyên ngôn và Triển khai
Cách đây khoảng một năm, cái gọi là "Tuyên ngôn DuckLake" đã được công bố, lập luận rằng metadata của lakehouse nên được lưu trữ trong cơ sở dữ liệu thay vì phân tán trên nhiều tệp tin trong object storage. Nhóm phát triển chia sẻ:
"Chúng tôi rất vui mừng thông báo DuckLake v1.0, gần một năm sau khi chúng tôi phát hành bản phác thảo đầu tiên của thông số kỹ thuật này. Đây là bản phát hành sẵn sàng cho sản xuất với đảm bảo tính tương thích ngược. DuckLake v1.0 đi kèm với một thông số kỹ thuật ổn định, một bản triển khai tham chiếu giàu tính năng và tốc độ cao (tiện ích mở rộng ducklake của DuckDB), cũng như lộ trình phát triển trong tương lai."
Các tính năng nổi bật của DuckLake 1.0
DuckLake 1.0 bổ sung một số tính năng nhằm cải thiện hoạt động và hiệu suất của lakehouse:
- Data Inlining (Nhúng dữ liệu): Xử lý các thao tác chèn, cập nhật và xóa nhỏ mà không cần tạo tệp tin mới.
- Sorted Tables (Bảng được sắp xếp): Tăng tốc độ cho các truy vấn có bộ lọc.
- Bucket Partitioning (Phân vùng theo nhóm): Hỗ trợ tốt hơn cho các cột có tính chất cao (high-cardinality columns).
- Hỗ trợ dữ liệu hình học: Cải thiện hỗ trợ cho các kiểu dữ liệu hình học.
- Deletion Vectors: Tương thích với các vector xóa của Iceberg.
Nhóm phát triển lưu ý về tính năng Data Inlining:
"Data Inlining là một trong những tính năng cờ hiệu của DuckLake. Về cơ bản, nó cho phép thực hiện các thao tác chèn, xóa và cập nhật nhỏ trong cơ sở dữ liệu danh mục, tránh sự gia tăng của 'vấn đề tệp tin nhỏ'. DuckLake v1.0 mang lại khả năng nhúng đầy đủ các bản cập nhật và xóa. Tính năng này hiện được bật theo mặc định với ngưỡng mặc định là 10 hàng."
Phản hồi từ cộng đồng và Hệ sinh thái
Trên một chủ đề Reddit phổ biến, người dùng SutMinSnabel4 đã đề xuất:
"Bạn có thể thêm hỗ trợ hạng nhất cho giao thức SMB không? Tôi không có ý nói về hệ thống tệp được gắn cục bộ, vì những thứ đó phụ thuộc vào hệ điều hành. Nó nên hoạt động tốt trong các môi trường doanh nghiệp Windows truyền thống, với DFS, Kerberos và tất cả những thứ liên quan, nhưng cũng nên hoạt động trên máy macOS và Linux (...) Nhiều doanh nghiệp vẫn dựa vào SMB tại chỗ (on-premises)."
Trên Hacker News, Alexander Dahl, kỹ sư nền tảng dữ liệu, nhận xét:
"Rất thú vị! Các con số dường như vượt trội hơn Iceberg. Có ai đã thử nó cho các khối lượng công việc 'thực tế' chưa?"
Hiện tại, các ứng dụng khách DuckLake đã có sẵn cho Apache DataFusion, Apache Spark, Trino và Pandas. MotherDuck cũng cung cấp dịch vụ DuckLake được lưu trữ, quản lý cả cơ sở dữ liệu danh mục và lưu trữ.
Lộ trình tương lai
DuckLake v1.1 dự kiến sẽ thêm các cải tiến như nhúng biến thể (variant inlining) trên các danh mục và tệp Puffin vector xóa đa dạng. Theo lộ trình, DuckLake v2.0 sẽ giới thiệu tính năng tạo nhánh kiểu Git cho các tập dữ liệu và quyền hạn dựa trên vai trò (role-based permissions) tích hợp sẵn.
Kho lưu trữ awesome-ducklake cung cấp các trường hợp sử dụng và thư viện DuckLake. DuckLake 1.0 hiện có sẵn trên GitHub theo giấy phép MIT.
Bài viết liên quan

Công nghệ
Tại sao lại tồn tại cả hai biến môi trường TMP và TEMP, và cái nào mới là đúng?
02 tháng 5, 2026

Phần mềm
SimplePDF Copilot: Trợ lý AI điền biểu mẫu PDF trực tiếp trên trình duyệt với bảo mật tuyệt đối
02 tháng 5, 2026

Công nghệ
Cơ quan giao thông Anh đổ lỗi cho trình duyệt khi trang đặt lịch thi "đứt dây" cả tuần
02 tháng 5, 2026
