Giới hạn trong MongoDB là gì?

Chúng tôi có thể tạo các bộ sưu tập trong mongoDb mà chúng tôi có thể áp dụng giới hạn kích thước. Những loại bộ sưu tập đặc biệt này được gọi là Bộ sưu tập được giới hạn. Đây là một loại hàng đợi vòng tròn, trong đó nếu đạt đến giới hạn kích thước được phân bổ, nó sẽ tạo khoảng trống cho các tài liệu mới bằng cách ghi đè lên các tài liệu cũ nhất trong bộ sưu tập

Cách tạo Capped Collections
db.createCollection[nameOfCollection, {capped: Boolean, autoIndexId: Boolean, size: Number, max : Number}]
Ở đây các tham số chỉ định

  • nameOfCollection. tên bộ sưu tập giới hạn
  • tùy chọn "giới hạn". đặt thành true trong trường hợp tạo bộ sưu tập giới hạn
  • tùy chọn "kích thước". chỉ định giới hạn kích thước cho bộ sưu tập theo byte [bắt buộc trong trường hợp bộ sưu tập bị giới hạn]
  • tùy chọn “tối đa”. chỉ định giới hạn về số lượng tài liệu tối đa được phép trong bộ sưu tập [tùy chọn kích thước được ưu tiên hơn tùy chọn tối đa]
  • tùy chọn “autoIndexId”. đặt thành false trong trường hợp bộ sưu tập bị giới hạn để tắt tính năng tạo chỉ mục tự động

Ví dụ: hãy tạo một bộ sưu tập giới hạn có tên là “demo”
[email protected]:/data/uncap # mongodump -d mydb -c myexample connected to: 127.0.0.1:27017 Sun Feb 5 00:02:28.879 DATABASE: mydb to dump/mydb Sun Feb 5 00:02:28.880 mydb.myexample to dump/mydb/myexample.bson Sun Feb 5 00:02:31.004 Collection File Writing Progress: 868400/67569879 1% [objects] ... Sun Feb 5 00:24:13.004 Collection File Writing Progress: 67480900/67569879 99% [objects] Sun Feb 5 00:24:14.203 67569879 objects Sun Feb 5 00:24:14.203 Metadata for mydb.myexample to dump/mydb/myexample.metadata.json

ii. Siêu tệp ở định dạng JSON

Bây giờ, kết xuất cũng bao gồm một tệp siêu dữ liệu ở định dạng JSON

cat dump/mydb/myexample.metadata.json
  {
    "options": {
    "capped": true,
    "size": 107374182400
   },
    "indexes": [
      {
        "v": 1,
        "key": {
        "_id": 1
      },
      "ns": "mydb.mycoll",
      "name": "_id_"
    }
  ]
}

iii. Bỏ phần “tùy chọn”

Bây giờ, sau phần này, hãy xóa phần “tùy chọn” hiển thị kích thước bộ sưu tập giới hạn

PROD [email protected]:/data/uncap # mongorestore -d mydb -c myexample_tmp dump/mydb/myexample.bson
connected to: 127.0.0.1:27018
Sun Feb 5 00:29:41.473 dump/mydb/myexample.bson
Sun Feb 5 00:29:41.473 going into namespace [mydb.myexample_tmp]
Sun Feb 5 00:29:44.060 Progress: 51202216/106169934834 0% [bytes]
Sun Feb 5 00:29:47.007 Progress: 106497873/106169934834 0% [bytes]
Sun Feb 5 01:57:19.065 Progress: 106159626025/106169934834 99% [bytes]
67569879 objects found
Sun Feb 5 01:57:19.637 Creating index: { key: { _id: 1 }, ns: "mydb.myexample_tmp", name: "_id_" }

iv. Tạo chỉ số cho chúng tôi

Sau này nó tự động tạo chỉ số cho chúng ta. Kiểm tra nó sau này

________số 8_______

v. Bỏ bộ sưu tập cũ và đổi tên

Sau đó, thả bộ sưu tập cũ và đổi tên bộ sưu tập mới

db.myexample.drop[]

db.myexample_tmp.renameCollection['myexample']
db.myexample.count[]
9876543210

Ưu điểm của Capped Collections

Đây là một số lợi ích

  • Truy vấn không cần chỉ mục để trả về tài liệu theo thứ tự chèn do nó cung cấp thông lượng chèn cao hơn
  • Các bộ sưu tập được giới hạn cho phép các bản cập nhật phù hợp với kích thước tài liệu gốc, giúp chúng tôi đảm bảo rằng tài liệu không thay đổi vị trí của nó trên đĩa
  • Nó rất hữu ích để giữ các tệp nhật ký

Nhược điểm của Capped Collections

Sau đây là những hạn chế của các bộ sưu tập được giới hạn trong MongoDB

  • Nếu cập nhật tài liệu vượt quá kích thước ban đầu của bộ sưu tập, thao tác cập nhật không thành công
  • Không thể xóa tài liệu khỏi bộ sưu tập giới hạn. Để xóa tất cả các bản ghi khỏi bộ sưu tập được giới hạn, hãy sử dụng lệnh sau
>db.createCollection["cappedLogCollection",{capped:true,size:10000,max:1000}]
0
  • Không thể phân chia một bộ sưu tập giới hạn

Ứng dụng của Capped Collection

Một số ứng dụng của bộ sưu tập giới hạn như sau

  • ghi nhật ký ứng dụng
  • Lịch sử
  • thông tin kiểm toán

Bản tóm tắt

Do đó, chúng tôi đã nghiên cứu tất cả về MongoDB capped collections – cách tạo, chuyển đổi, kiểm tra, ưu điểm, nhược điểm. Cuối cùng, chúng ta đã tìm hiểu về mongodump và mongorestore là hai lệnh được sử dụng để mở khóa bộ sưu tập

Mong. bạn thấy nó hữu ích. Nếu bạn có bất kỳ câu hỏi nào, vui lòng chia sẻ với chúng tôi. Chắc chắn, chúng tôi sẽ lấy lại cho bạn

Bộ sưu tập có giới hạn và chưa giới hạn trong MongoDB là gì?

Các bộ sưu tập được giới hạn là các bộ sưu tập có kích thước cố định hỗ trợ các hoạt động có thông lượng cao giúp chèn và truy xuất tài liệu dựa trên thứ tự chèn .

Khi nào nên sử dụng bộ sưu tập giới hạn trong MongoDB?

Các bộ sưu tập được giới hạn là tốt nhất để lưu trữ thông tin nhật ký, dữ liệu bộ đệm hoặc bất kỳ dữ liệu dung lượng lớn nào khác .

Làm cách nào để xóa bộ sưu tập giới hạn trong MongoDB?

Bạn không thể xóa tài liệu khỏi bộ sưu tập giới hạn . Nó chỉ có thể bị xóa tự động khi chèn tài liệu mới khi kích thước được phân bổ cho bộ sưu tập đã hết. Sau khi đọc các tài liệu từ một bộ sưu tập được giới hạn, MongoDB trả về cùng một tài liệu theo thứ tự chúng có trên đĩa.

Kích thước tối đa của bộ sưu tập giới hạn trong MongoDB là bao nhiêu?

Kích thước của bộ sưu tập giới hạn chứa một lượng nhỏ không gian cho chi phí nội bộ và nếu giá trị của trường kích thước nhỏ hơn hoặc bằng 4096, thì dung lượng của bộ sưu tập là 4096 byte

Bài Viết Liên Quan

Toplist mới

Bài mới nhất

Chủ Đề