MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Xóa tệp nhật ký của mongodb có an toàn không?

TL; DR:Bạn có hai lựa chọn. Sử dụng --smallfiles tùy chọn khởi động khi khởi động MongoDB để giới hạn kích thước của tệp tạp chí là 128MB hoặc tắt tạp chí bằng --nojournal lựa chọn. Sử dụng --nojournal trong quá trình sản xuất thường là một ý tưởng tồi và thường có ý nghĩa khi sử dụng các mối quan tâm viết khác nhau cũng trong quá trình phát triển để bạn không có mã khác nhau trong nhà phát triển và sản phẩm.

Câu trả lời dài :Không, xóa tệp nhật ký không an toàn. Ý tưởng về tạp chí là thế này:

Quá trình ghi xuất hiện. Bây giờ, để làm cho quá trình ghi liên tục (và cơ sở dữ liệu bền), bằng cách nào đó, việc ghi phải vào đĩa.

Thật không may, việc ghi vào đĩa mất nhiều lần so với ghi vào RAM, vì vậy cơ sở dữ liệu đang ở trong tình thế tiến thoái lưỡng nan:không ghi vào đĩa là rất rủi ro, vì việc tắt đột ngột sẽ gây mất dữ liệu. Nhưng việc ghi vào đĩa cho mỗi thao tác ghi đơn lẻ sẽ làm giảm hiệu suất của cơ sở dữ liệu đến mức nó không thể sử dụng được cho các mục đích thực tế.

Bây giờ thay vì ghi vào chính các tệp dữ liệu và thay vì thực hiện nó cho mọi yêu cầu, cơ sở dữ liệu sẽ chỉ cần thêm vào một tệp nhật ký nơi nó lưu trữ tất cả các hoạt động chưa được cam kết với tệp dữ liệu thực tế. Điều này nhanh hơn rất nhiều, bởi vì tệp đã 'nóng' vì nó được đọc và ghi vào mọi lúc, và nó chỉ là một tệp, không phải một loạt tệp và cuối cùng, vì nó ghi tất cả các hoạt động đang chờ xử lý trong một loạt cứ sau 100 mili giây theo mặc định. Đang xóa tệp này khi có thứ gì đó đang tàn phá.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - bao gồm hoặc loại trừ các phần tử nhất định với trình điều khiển c #

  2. MongoDB - Truy vấn một Bộ sưu tập

  3. java.lang.NoClassDefFoundError khi sử dụng trình điều khiển MongoDB

  4. MongoDB - Cập nhật một đối tượng trong Mảng lồng nhau

  5. Tổng quan về MongoDB Atlas:Phần thứ hai