File backup database nên đặt theo format nào

Chào ạ,

Em thường tạo 1 service cron job định kỳ để lấy data từ database rồi ghi vào file excel bằng cách cho execute câu lệnh select * from từng bảng cho lưu tất cả vào 1 biến rồi cho loop biến đó write từng hàng vào file excel.
Em có 2 thắc mắc muốn được giải đáp ạ:

  • Có nên sử dụng file excel, csv để backup database không? Vì em muốn tất cả các loại CSDL quan hệ đều có thể restore được.
  • nếu dữ liệu lên đến 1 triệu dòng ví dụ bảng log thì select * from như vậy có sao không, có khiến web server bị tràn RAM không? Và làm sao để select từng dòng trong database?
  • Em cảm ơn

Bạn không nói rõ bạn sử dụng phần mềm/ hệ cơ sở dữ liệu nào nên rất khó để nói bạn nên làm gì.

Thường thường không ai dùng cách của bạn trừ khi đang học cần thực hành để hiểu vấn đề gì đó.

Các hệ quản trị cơ sở dữ liệu thuộc loại thông dụng trên thị trường đều có kèm sẵn công cụ để backup đi kèm, nếu nó không có công cụ backup đi kèm (hiếm thấy, ít nhất cũng có cơ chế dòng lệnh) thì có hãng khác viết công cụ sẵn. Sản phẩm/ format tạo ra của những công cụ này cho ra thường là file/ thư mục nén hoặc dạng văn bản thô (như MySQL).

Dám cá là các công cụ này đang tối ưu hơn nhiều so với cái bạn đang. Ví dụ như: lưu dữ liệu dạng binary, kiểm tra tính toàn vẹn, cho phép incremental backup… blah blah.

Tại sao không thử hỏi ChatGPT xem “em nó” trả lời như thế nào? Trước khi lên đây hỏi cái gì cũng nên hỏi ChatGPT trước nhé. Câu bạn đang hỏi nghe có vẻ là bạn đi quá nhanh khi mà kỹ năng của bạn ở mức chưa đọc tài liệu xem DBMS bạn đang dùng có hỗ trợ gì.

2 Likes

cái này bạn làm cá nhân bạn sử dụng hay áp dụng vào công việc của công ty? Mình thấy mấy cái bạn nói làm cá nhân thì được, còn áp dụng cho công việc có nhiều cách khác.

Cái này đọc lướt qua có vẻ hay, nhưng đọc kỹ lại bạn có vấn đề bị leak kiến thức nặng?

1 Like

Em làm cho cá nhân ạ.

Vấn đề là đây ạ, file CSV thì mọi database đều có thể restore được (hơi tốn công mapping data xíu).


Em đã thử generate 1 triệu record cho 1 table và dùng nodejs để select lên lưu vào một biến thì nodejs báo lỗi “heap out of memory” (cũng có thể là do cách config web server)

Em đã làm theo ChatGPT và thành công :grin: Nó nói nếu thuê cloud thì khá đơn giản, vào trang dashboard của bên cho thuê server database rồi trên giao diện ấn nút create backup rồi download về máy là xong. Còn nếu server on premise thì dùng lệnh CLI hoặc database studio để backup

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?