- Instant SQL là công cụ xem trước kết quả theo thời gian thực khi viết truy vấn SQL, giúp tăng tốc quá trình soạn thảo và gỡ lỗi truy vấn
- Có thể dễ dàng tách nhỏ và phân tích các CTE phức tạp hoặc công thức cột, đồng thời xem trước ngay các đề xuất chỉnh sửa dựa trên AI, giúp việc viết và sửa truy vấn hiệu quả hơn
- Có sẵn trên MotherDuck và DuckDB Local UI, đồng thời cho phép khám phá theo thời gian thực nhiều nguồn dữ liệu bên ngoài dựa trên DuckDB
- Điều này khả thi nhờ sự kết hợp của các kỹ thuật nâng cao như thiết kế ưu tiên cục bộ của DuckDB, tối ưu hiệu năng, chiến lược bộ nhớ đệm và ánh xạ con trỏ dựa trên AST
- MotherDuck là dịch vụ đám mây DuckDB được quản lý, cung cấp nhiều công cụ cho phân tích dữ liệu
Giới thiệu Instant SQL
- Instant SQL là tính năng mới cập nhật kết quả truy vấn SQL theo thời gian thực ngay khi đang gõ
- Không cần nút chạy riêng, có thể xem trước kết quả với độ trễ 0 giây (zero-latency)
- Hiện đã có trên nền tảng MotherDuck và DuckDB Local UI
Vì sao cần Instant SQL
- Khi viết SQL, cốt lõi không chỉ là cú pháp mà là hiểu dữ liệu và hình thành câu hỏi
- Trước đây, người dùng buộc phải lặp đi lặp lại quy trình chậm: viết truy vấn trong trình soạn thảo văn bản, nhấn nút chạy rồi chờ kết quả
- Instant SQL biến quy trình này thành một luồng khám phá tức thì và tự nhiên
Tính năng chính
-
Xem trước kết quả theo thời gian thực khi đang viết
- Mỗi khi nhập truy vấn SQL, bản xem trước tập kết quả sẽ được cập nhật theo thời gian thực
- Từ các phép biến đổi đơn giản đến tổng hợp phức tạp, việc khám phá dữ liệu có thể diễn ra liền mạch
-
Gỡ lỗi CTE (biểu thức bảng chung) theo thời gian thực
- Có thể nhấp vào CTE để trực quan hóa ngay lập tức
- Mọi thay đổi được phản ánh ngay tới tất cả các nút phụ thuộc, giúp việc gỡ lỗi CTE trở nên rất dễ dàng
-
Phân tách công thức cột phức tạp
- Có thể phân tách công thức từ bảng kết quả để nhanh chóng tìm lỗi trong công thức cột
- Có thể xác định ngay lập tức lỗi trong logic công thức hoặc vấn đề dữ liệu
-
Hỗ trợ nhiều nguồn dữ liệu
- Có thể xem trước trên mọi nguồn mà DuckDB hỗ trợ (bảng DuckDB, tệp parquet trên S3, Postgres, SQLite, MySQL, Iceberg, Delta, v.v.)
- Việc mô hình hóa và khám phá dữ liệu bên ngoài trở nên rất nhanh
-
Xác thực truy vấn nhanh trước khi chạy chính thức
- Sau khi tinh chỉnh truy vấn qua bản xem trước, nếu đã hài lòng thì có thể chạy chính thức
- Giúp rút ngắn đột phá chu kỳ viết SQL - chạy - chờ
-
Kết hợp với tính năng AI
- Khi nhập lệnh ngôn ngữ tự nhiên cho đoạn văn bản đã chọn, AI sẽ đưa ra đề xuất chỉnh sửa
- Có thể xem trước ngay kết quả đề xuất, nhờ đó chấp nhận sửa đổi mà không lo rủi ro sai sót
Điều gì giúp điều này khả thi
-
Công nghệ thực thi truy vấn độ trễ cực thấp
- Nhờ thiết kế ưu tiên cục bộ của DuckDB, có thể nhận kết quả nhanh trực tiếp trên PC
- Kiến trúc thực thi kép của MotherDuck hỗ trợ cả dữ liệu lớn với độ trễ thấp
-
Kỹ thuật viết lại truy vấn
- Tận dụng tiện ích mở rộng JSON của DuckDB để trích xuất và sử dụng AST (cây cú pháp) của truy vấn SELECT
- Thay thế một phần truy vấn bằng dữ liệu mẫu trong bộ nhớ đệm cục bộ để cho phép xem trước nhanh
-
Hệ thống bộ nhớ đệm thông minh
- Sử dụng bộ nhớ đệm dữ liệu được dự đoán trước để kết xuất kết quả ngay khi gõ phím
- Nhờ nhiều chiến lược bộ nhớ đệm khác nhau, kết quả xuất hiện trước cả khi người dùng nhấc tay khỏi bàn phím
-
Ánh xạ con trỏ - cây cú pháp
- Đã phát triển khả năng ánh xạ chính xác vị trí con trỏ của người dùng tới một nút SELECT cụ thể trong AST
- Ngay cả trong truy vấn phức tạp, hệ thống vẫn có thể chọn đúng câu lệnh SELECT mà người dùng đang làm việc để cung cấp bản xem trước
Cách sử dụng Instant SQL
- Có thể dùng ở chế độ "bản xem trước công khai" trên MotherDuck hoặc DuckDB Local UI
- Tính năng chỉnh sửa dựa trên prompt mới cũng được cung cấp cho người dùng MotherDuck
2 bình luận
Cái này thật sự quá thú vị.
Ý kiến trên Hacker News
select * from table limit 10;rồi mới thêm cột và join sau