1 điểm bởi GN⁺ 2 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • David Steele, người bảo trì duy nhất của pgBackRest, đã tuyên bố trên trang GitHub của dự án rằng ông sẽ dừng mọi công việc, đồng nghĩa bảo trì, sửa lỗi, review PR và phát triển tính năng mới đều sẽ chấm dứt
  • pgBackRest từng là một hạ tầng đáng tin cậy xử lý sao lưu, khôi phục và PITR cho PostgreSQL, nhưng David không còn có thể tiếp tục công việc bảo trì liên tục mà ông đã gánh vác suốt 13 năm mà không được trả công
  • pg_basebackup không có catalog sao lưu, quản lý lưu giữ WAL, lệnh khôi phục hay kiểm tra toàn vẹn tích hợp trên các phiên bản trước PostgreSQL 13, còn pg_dump không có PITR nên khó có thể xem là một chiến lược khôi phục
  • Với các tổ chức đang đánh giá công cụ sao lưu mới, Barman, được bảo trì tích cực và cung cấp lưu trữ WAL, catalog sao lưu, quản lý lưu giữ và khôi phục, được xem là phương án thay thế nghiêm túc nhất
  • Người dùng pgBackRest trong môi trường production chưa rơi vào tình thế nguy cấp ngay lập tức, nhưng khi các bản phát hành PostgreSQL mới xuất hiện và lỗi chưa được vá ngày càng tích tụ thì thời gian để ứng phó sẽ ngày càng ít đi, còn các fork cũng vẫn cần xây dựng lại độ tin cậy

Bối cảnh việc ngừng bảo trì pgBackRest

  • David Steele, người bảo trì duy nhất của pgBackRest, đã thông báo trên trang GitHub của dự án rằng ông sẽ dừng mọi công việc, khiến bảo trì, sửa lỗi, review PR và phát triển tính năng mới sẽ không còn được thực hiện nữa
  • pgBackRest là công cụ sao lưu PostgreSQL có mức độ hoàn thiện cao đến mức được khuyến nghị trong thời gian dài; sinh viên tại Université Lyon I thậm chí có thể thực hiện sao lưu, khôi phục và PITR trong vòng 4 giờ mà không cần kiến thức nền trước đó
  • David đã duy trì pgBackRest suốt 13 năm, và Stephen Frost cùng Stefan Fercot cũng được xem là những cộng tác viên cốt lõi của dự án
  • Crunchy Data từng tài trợ pgBackRest trong thời gian khá dài và tuyển dụng David, nhưng sau khi công ty bị bán lại, David đã tìm kiếm trong nhiều tháng một công việc cho phép ông tiếp tục dự án cũng như nguồn tài trợ độc lập, nhưng không thành công
  • pgBackRest đòi hỏi nỗ lực bảo trì liên tục, nhưng David không còn ở trong hoàn cảnh có thể tiếp tục cung cấp công sức đó mà không được trả công

Vấn đề tính bền vững của hạ tầng mã nguồn mở

  • pgBackRest là một trong những hạ tầng đáng tin cậy nhất trong hệ sinh thái PostgreSQL, được xây dựng suốt 13 năm, nhưng không có công ty nào muốn tuyển dụng David để ông tiếp tục công việc đó
  • Các doanh nghiệp mua RAM và GPU, đầu tư vào sản phẩm AI, nhưng việc trả tiền cho người giúp cứu dữ liệu trong tình huống thảm họa lại bị đẩy xuống mức ưu tiên thấp
  • Nhiều tập đoàn lớn đã tạo ra lợi nhuận đáng kể dựa trên pgBackRest, và nó cũng được triển khai trong môi trường production của các dịch vụ cơ sở dữ liệu sinh lời cao vốn trực tiếp dựa trên hệ sinh thái PostgreSQL
  • README của dự án có liên kết tài trợ, nhưng tại thời điểm David thông báo dừng lại, chỉ còn đúng 1 nhà tài trợ đang hoạt động
  • Mô hình mã nguồn mở chỉ vận hành khi bên tiêu thụ giá trị cũng đóng góp cho việc duy trì; nếu ai cũng cho rằng người khác sẽ trả chi phí bảo trì thì hệ thống đó sẽ sụp đổ

Giá trị mà pgBackRest từng mang lại và giới hạn của các phương án thay thế

  • Khi pgBackRest biến mất, thứ suy yếu không chỉ là một công cụ chạy sao lưu đơn thuần mà là cả chiến lược khôi phục của hạ tầng PostgreSQL
  • pg_basebackup là công cụ được thiết kế để sao chép thư mục cụm đang chạy, và không có catalog sao lưu, quản lý lưu giữ WAL, lệnh khôi phục hay kiểm tra toàn vẹn tích hợp trên các phiên bản trước PostgreSQL 13
  • Magnus Hagander, thành viên nhóm PostgreSQL core đã tạo ra pg_basebackup, đã đồng tình trong cuộc trò chuyện trên Twitter với nhận định rằng: “pg_basebackup nghĩ về backup, nhưng thứ người ta cần là công cụ nghĩ về recovery; backup chỉ là một bước ở giữa quy trình chứ không phải đích đến”
  • pg_basebackup là công cụ tuyệt vời để cấu hình standby, nhưng không phải là một chiến lược khôi phục
  • pg_dump không có PITR, các transaction phát sinh giữa thời điểm bắt đầu dump và thời điểm cần khôi phục sẽ bị mất vĩnh viễn; thời gian khôi phục từ các bản dump lớn cũng rất khó chấp nhận trong tình huống sự cố
  • pg_dump gần với một công cụ xuất dữ liệu hơn là công cụ sao lưu, và gọi nó là công cụ backup có thể tạo ra cảm giác an toàn sai lầm dẫn đến mất dữ liệu thực tế
  • Barman hiện là công cụ được bảo trì tích cực và đã được cải thiện đáng kể, được xem là lựa chọn nghiêm túc nhất cho các tổ chức đang cần một giải pháp thay thế ngay lúc này
  • Barman mang theo gánh nặng kiến trúc do được xây dựng trên những giới hạn của pg_basebackup, nhưng vẫn lấp đầy những khoảng trống cốt lõi như lưu trữ WAL, catalog sao lưu, quản lý lưu giữ và khôi phục

Phản ứng cần thiết với người dùng pgBackRest

  • David dự đoán rằng cuối cùng pgBackRest sẽ được fork; nhờ codebase C vững chắc và kiến trúc đúng đắn, đã có nền tảng để các công ty có năng lực kỹ thuật trong hệ sinh thái PostgreSQL tiếp quản
  • Hiện vẫn chưa có fork nào xuất hiện, và kể cả khi có thì cộng đồng cũng sẽ phải xây dựng lại niềm tin từ đầu
  • Với các tổ chức đang đánh giá công cụ sao lưu lúc này, Barman được khuyến nghị sử dụng
  • Các tổ chức đang dùng pgBackRest trong môi trường production chưa đối mặt rủi ro tức thời, nhưng càng có thêm bản phát hành PostgreSQL mới và càng tích tụ nhiều lỗi chưa vá thì khoảng thời gian có thể phản ứng sẽ càng bị thu hẹp
  • Nếu trong lúc đó phát hiện một lỗi nghiêm trọng của pgBackRest, các công ty có chuyên môn PostgreSQL như Data EgretCybertec có thể hỗ trợ giải quyết vấn đề
  • Sự hỗ trợ từ các đơn vị chuyên môn không phải lời giải dài hạn, mà gần hơn với một lựa chọn giúp câu giờ trong lúc cộng đồng tìm ra bước đi tiếp theo

Cảnh báo còn lại cho hệ sinh thái PostgreSQL

  • pgBackRest không dừng lại vì thất bại kỹ thuật hay xung đột cộng đồng, mà vì ngành công nghiệp đã không trả đủ tiền cho những người xây dựng hạ tầng đáng tin cậy để dẫn tới tình trạng này
  • Trong hệ sinh thái PostgreSQL có rất nhiều người xuất sắc đang làm công việc quan trọng, nhưng công việc đó thường diễn ra trên những cấu trúc tài chính mong manh hoặc thậm chí không tồn tại
  • pgBackRest có thể sẽ không phải là dự án cuối cùng rơi vào hoàn cảnh này
  • Đây cần là dịp để các doanh nghiệp suy nghĩ lại trước khi đối xử với hạ tầng mã nguồn mở như một nguồn tài nguyên miễn phí không đi kèm nghĩa vụ
  • pgBackRest mà David tạo ra là thành quả có thể còn sống lâu hơn chính thời khắc này, và giờ là lúc cộng đồng phải phản ứng tương xứng với tầm vóc đó

1 bình luận

 
Ý kiến trên Lobste.rs
  • Cũng đáng lưu ý là sau khi bài này được đăng, PGX đã fork thành pgxbackup

    • Vậy rốt cuộc là mọi người quyết định fork thay vì tài trợ cho người bảo trì sao? Thật luôn? Có cảm giác như chúng ta đã thoái hóa theo hướng vô ơn như vậy
      Nghĩ lại thì việc người bảo trì quyết định rút lui là lựa chọn đúng đắn
    • Và nó cũng tạo cảm giác như được làm rất vội vàng ngay lập tức, nên xin phép bỏ qua
  • Tôi ngày càng ghét và bất mãn với mô hình mã nguồn mở phổ biến kiểu cho đi mọi thứ miễn phí, rồi sau đó cầu xin và trông chờ những khoản quyên góp tùy hứng ít ỏi từ các công ty trị giá hàng triệu, hàng tỷ đô la
    Với cấu trúc giấy phép khác, có thể tạo ra thế cân bằng công bằng để duy trì hệ sinh thái lành mạnh mà không phải chỉ dựa vào lòng hảo tâm thuần túy
    Mô hình này từng có sức hút nhất định vào thập niên 90, khi lĩnh vực này chưa bị thương mại hóa quá mức như bây giờ, nhưng đến năm 2026 thì rất khó để tiếp tục biện minh cho nó, và tôi cũng không hứng thú với những mộng tưởng "cộng sản" về "cộng đồng"

  • Sau đó đã có tiến triển thêm. README hiện tại của dự án viết như sau:
    “Tình hình giờ đã thay đổi, và có vẻ gần như chắc chắn rằng chúng tôi sẽ có đủ nguồn tài trợ để tiếp tục dự án. Lần này, pgBackRest sẽ được hỗ trợ bởi một liên minh nhà tài trợ, nên việc một thương vụ thâu tóm đơn lẻ sẽ აღარ ảnh hưởng đến khả năng tôi tiếp tục làm việc cho dự án. Chúng tôi cũng sẽ có thể đưa thêm những người bảo trì khác tham gia để chia sẻ khối lượng công việc và đảm bảo tính liên tục trong tương lai”