Hacker News
Chúng ta nên tham vọng hơn với phần mềm mình xây dựng
Phần mềmLần đầu xuất hiện 773 điểm701 bình luận
Bài viết kể về việc Michael Malis, người làm dự án pgrust, đang thử viết lại phần mềm cơ sở dữ liệu Postgres bằng Rust. Tác giả nói rằng các dự án như vậy có thể làm phần mềm tốt hơn, dù nhiều người nghi ngờ vì có quá nhiều dự án AI làm ẩu.
Chuyện gì đã xảy ra
Tác giả kể rằng Michael Malis đã nhiều lần nói với ông: chúng ta nên tham vọng hơn khi xây phần mềm. Dự án pgrust của Malis là một lần viết lại Postgres. Nhiều người thấy tên dự án này là nghi ngờ, vì họ nghĩ đây chỉ là một sản phẩm làm vội bằng AI. Tác giả thì tin Malis vì biết anh làm việc cẩn thận. Khi kiểm tra, tác giả thấy pgrust được thử nghiệm rất kỹ.
Các con số và sự kiện chính
- pgrust đã giúp tìm ra nhiều lỗi thật trong Postgres, gồm lỗi số học, lỗi bộ nhớ đệm, lỗi mã hóa và lỗi tràn số tiền.
- Một lỗi có thể làm các thao tác SP-GiST hợp lệ bị hỏng.
- Một lỗi có thể làm JSONPath trả về kết quả sai.
- Tác giả nói ông đã biết những lỗi này khi kiểm tra pgrust để làm ví dụ cho bài viết.
Bối cảnh cho người mới
Postgres là một phần mềm cơ sở dữ liệu, nơi lưu và tìm dữ liệu. Viết lại một phần mềm lớn như vậy từng rất tốn công. Nay, nhờ công cụ AI, người làm có thể thử những dự án lớn hơn. Tác giả cũng nói rằng AI đang giúp các chương trình chạy nhanh hơn, và ông đang nghĩ về những việc máy tính làm chậm, như tìm kiếm trong mã nguồn và biên dịch Rust.
Vì sao điều này quan trọng
Phần mềm kém chất lượng ngày càng nhiều, nên người dùng khó tin những gì họ thấy. Tuy vậy, nếu người làm thử nghiệm kỹ và đo tốc độ đúng cách, một dự án lớn có thể đủ tốt để dùng. Ngay cả khi pgrust không thành công, việc thử này vẫn giúp Postgres tốt hơn qua các lỗi đã được tìm ra. Các kỹ thuật tăng tốc của pgrust cũng có thể được đưa vào những phần mềm khác.
Cần theo dõi điều gì
- Xem pgrust có đạt được mục tiêu về hiệu năng hay không.
- Xem các kỹ thuật tối ưu của pgrust có được đưa vào Postgres hoặc ClickHouse không.
- Xem các lỗi được báo cáo có được Postgres sửa không.
Chú giải
- Postgres
- Phần mềm cơ sở dữ liệu mã nguồn mở, dùng để lưu và truy vấn dữ liệu.
- pgrust
- Dự án viết lại Postgres bằng ngôn ngữ Rust, do Michael Malis thực hiện.
- Rust
- Ngôn ngữ lập trình tập trung vào tốc độ và an toàn bộ nhớ.
- SP-GiST
- Một kiểu chỉ mục trong Postgres, dùng để tìm dữ liệu nhanh hơn.