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

Cơ sở dữ liệu tài liệu:Dữ liệu dự phòng, tài liệu tham khảo, v.v. (cụ thể là MongoDB)

Về cơ bản có hai kịch bản: mới .

Dữ liệu mới

Lưu trữ dữ liệu trùng lặp rất dễ dàng. Duy trì dữ liệu trùng lặp là một phần khó khăn. Vì vậy, điều dễ dàng nhất để làm là tránh bảo trì, đơn giản là không lưu trữ bất kỳ dữ liệu trùng lặp nào để bắt đầu. Điều này chủ yếu hữu ích nếu bạn cần dữ liệu mới . Chỉ lưu trữ các tham chiếu và truy vấn bộ sưu tập khi bạn cần truy xuất thông tin.

Trong trường hợp này, bạn sẽ có một số chi phí do các truy vấn bổ sung. Giải pháp thay thế là theo dõi tất cả các vị trí của dữ liệu trùng lặp và cập nhật tất cả các phiên bản trên mỗi bản cập nhật. Điều này cũng liên quan đến chi phí, đặc biệt là trong quan hệ N-to-M như quan hệ bạn đã đề cập. Vì vậy, dù bằng cách nào, bạn sẽ có một số chi phí, nếu bạn yêu cầu dữ liệu mới. Bạn không thể có cả hai điều tốt nhất.

Dữ liệu cũ

Nếu bạn có đủ khả năng để có dữ liệu cũ, mọi thứ sẽ dễ dàng hơn rất nhiều. Để tránh chi phí truy vấn, bạn có thể lưu trữ dữ liệu trùng lặp. Để tránh phải duy trì dữ liệu trùng lặp, bạn sẽ không lưu trữ dữ liệu trùng lặp. Ít nhất là không chủ động .

Trong trường hợp này, bạn cũng sẽ chỉ muốn lưu trữ các tham chiếu giữa các tài liệu. Sau đó, sử dụng công việc thu nhỏ bản đồ định kỳ để tạo dữ liệu trùng lặp. Sau đó, bạn có thể truy vấn kết quả thu nhỏ bản đồ duy nhất, thay vì các bộ sưu tập riêng biệt. Bằng cách này, bạn tránh được chi phí truy vấn nhưng cũng không phải tìm kiếm các thay đổi dữ liệu.

Tóm tắt

Chỉ lưu trữ các tham chiếu đến các tài liệu khác. Nếu bạn có đủ khả năng cung cấp dữ liệu cũ, hãy sử dụng các công việc thu gọn bản đồ định kỳ để tạo dữ liệu trùng lặp. Tránh duy trì dữ liệu trùng lặp; nó phức tạp và dễ xảy ra lỗi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb $ lookup Không hoạt động với _id

  2. Kiểm thử đơn vị với MongoDB

  3. MongoDB $ currentDate

  4. tại sao tôi không thể khởi động mongodb

  5. Nhận tài liệu có các thẻ trong danh sách, được sắp xếp theo tổng số kết quả phù hợp