0
0
Lập trình
NM

Mangle: Ngôn ngữ lập trình CSDL mới từ Google

Đăng vào 5 tháng trước

• 4 phút đọc

Giới thiệu về Mangle

Google đã giới thiệu Mangle, một ngôn ngữ lập trình mã nguồn mở mới, mở rộng ngôn ngữ lập trình logic cổ điển Datalog cho các cơ sở dữ liệu suy diễn hiện đại.

Được triển khai dưới dạng một gói Go, Mangle được thiết kế để giúp việc truy vấn và lý luận về dữ liệu phân tán trên nhiều nguồn trở nên dễ dàng hơn.

Mangle xây dựng dựa trên Datalog, một ngôn ngữ lập trình logic khai báo có nguồn gốc từ lý thuyết cơ sở dữ liệu. Trong khi Datalog truyền thống mạnh mẽ để biểu diễn các truy vấn phức tạp, nó thường thiếu các tính năng cần thiết cho các ứng dụng thực tế. Mangle đã lấp đầy khoảng trống này bằng cách giới thiệu các mở rộng thực tiễn trong khi vẫn giữ được tính dễ tiếp cận và đơn giản của người tiền nhiệm.

Các Tính Năng Chính và Mở Rộng

Mangle cải tiến Datalog với những tính năng thiết yếu cho phát triển hiện đại, bảo mật và phân tích dữ liệu:

Quy Tắc Đệ Quy

Một trong những đặc điểm nổi bật của Datalog, được hỗ trợ hoàn toàn trong Mangle. Các quy tắc đệ quy cho phép các lập trình viên biểu diễn các mối quan hệ truyền tiếp, như theo dõi cây phụ thuộc của một dự án hoặc ánh xạ quyền truy cập qua một hệ thống phân cấp.

Truy Cập Dữ Liệu Đồng Nhất

Mangle có thể đối xử với nhiều nguồn dữ liệu như một cơ sở dữ liệu logic duy nhất. Nó có thể lấy thông tin từ các tệp, API hoặc cơ sở dữ liệu, cho phép các lập trình viên kết hợp thông tin một cách liền mạch mà không cần lo lắng về nguồn gốc của chúng.

Hàm Tập Hợp và Gọi Hàm

Mangle hỗ trợ các hàm tập hợp (ví dụ: count, sum) và các cuộc gọi hàm bên ngoài. Điều này giúp dễ dàng thực hiện các phép toán và tích hợp các truy vấn logic với mã hoặc logic kinh doanh hiện có.

Kiểm Tra Kiểu Tùy Chọn

Khác với Datalog đơn thuần, Mangle cho phép các lập trình viên tùy chọn thêm tính an toàn kiểu khi cần thiết. Điều này giúp cân bằng giữa tính linh hoạt và độ tin cậy, đặc biệt là cho các dự án lớn.

Ứng Dụng Thực Tiễn

Mangle không chỉ là một công cụ nghiên cứu—nó hữu ích cho các vấn đề thực tế:

Phát Hiện Lỗ Hổng

Các nhóm bảo mật có thể viết quy tắc như 'một dự án bị lỗ hổng nếu nó phụ thuộc vào một thư viện có CVE đã biết'. Mangle có thể quét đệ quy các đồ thị phụ thuộc để đánh dấu các vấn đề. Điều này làm cho nó trở nên tuyệt vời cho bảo mật chuỗi cung ứng phần mềm.

Phân Tích Phụ Thuộc Phần Mềm

Mangle là một lựa chọn tự nhiên cho việc phân tích Bảng Hóa Đơn Phần Mềm (SBOM). Nó có thể giúp thực thi các chính sách phiên bản, phát hiện các thư viện không còn được hỗ trợ, hoặc tìm các dự án dựa vào các phụ thuộc lỗi thời.

Mô Hình Hệ Thống Tri Thức

Mangle hoạt động tốt với các hệ thống tri thức. Bằng cách đại diện cho các thực thể và mối quan hệ dưới dạng các sự thật logic, các lập trình viên có thể khám phá các kết nối ẩn và chạy các lý luận nâng cao trên các tập dữ liệu phức tạp.

Triển Khai và Khả Năng Truy Cập của Lập Trình Viên

Mangle được phát hành dưới dạng thư viện Go. Điều này có nghĩa là các lập trình viên có thể nhúng nó trực tiếp vào các ứng dụng và công cụ—không cần một môi trường chạy hoặc cơ sở dữ liệu riêng biệt. Cách tiếp cận này giữ mọi thứ nhẹ nhàng trong khi đưa truy vấn suy diễn trực tiếp vào tay các lập trình viên.

Đáng chú ý rằng Google rõ ràng đã tuyên bố, “Đây không phải là một sản phẩm được Google hỗ trợ chính thức.” Vậy nên nó vẫn đang trong giai đoạn thử nghiệm, nhưng vẫn là một công cụ mạnh mẽ cho bất kỳ ai khám phá lập trình cơ sở dữ liệu suy diễn.


Tóm lại: Mangle kết hợp sự thanh lịch của Datalog với những tính năng thực tiễn cần thiết ngày nay. Cho dù bạn là một lập trình viên, SRE, hay kỹ sư bảo mật, nó mở ra những cách mới để lý luận về thông tin phân tán phức tạp—từ các lỗ hổng đến các hệ thống tri thức.

👉 Hãy ghé thăm blog của tôi để tìm hiểu thêm!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào