Kích thước tối đa của tài liệu trong MongoDB là bao nhiêu?
Kích thước tài liệu tối đa giúp đảm bảo rằng một tài liệu không thể sử dụng quá nhiều RAM hoặc quá nhiều băng thông trong quá trình truyền. Để lưu trữ tài liệu lớn hơn kích thước tối đa, MongoDB cung cấp GridFS API. Xem và tài liệu dành cho trình điều khiển của bạn để biết thêm thông tin về GridFS Show
MongoDB hỗ trợ không quá 100 cấp độ lồng nhau cho Hạn chế đặt tênTên cơ sở dữ liệu Phân biệt chữ hoa chữ thườngVì tên cơ sở dữ liệu không phân biệt chữ hoa chữ thường trong MongoDB, nên tên cơ sở dữ liệu không thể chỉ khác nhau về chữ hoa chữ thường Hạn chế về tên cơ sở dữ liệu cho WindowsĐối với triển khai MongoDB chạy trên Windows, tên cơ sở dữ liệu không được chứa bất kỳ ký tự nào sau đây /\. "$*<>:|? Ngoài ra, tên cơ sở dữ liệu không thể chứa ký tự null Hạn chế về tên cơ sở dữ liệu cho hệ thống Unix và LinuxĐối với triển khai MongoDB chạy trên hệ thống Unix và Linux, tên cơ sở dữ liệu không được chứa bất kỳ ký tự nào sau đây /\. "$ Ngoài ra, tên cơ sở dữ liệu không thể chứa ký tự null Độ dài của tên cơ sở dữ liệuTên cơ sở dữ liệu không được để trống và phải có ít hơn 64 ký tự Hạn chế về tên bộ sưu tậpTên bộ sưu tập phải bắt đầu bằng dấu gạch dưới hoặc ký tự chữ cái và không được
Nếu tên bộ sưu tập của bạn bao gồm các ký tự đặc biệt, chẳng hạn như ký tự gạch dưới, thì để truy cập bộ sưu tập, hãy sử dụng phương thức trong trình bao hoặc phương thức tương tự cho trình điều khiển của bạn Độ dài tối đa của không gian tên bộ sưu tập, bao gồm tên cơ sở dữ liệu, dấu chấm ( . ) dấu tách và tên bộ sưu tập (i. e. Tên trường không được chứa dấu chấm (i. e. . ) hoặc ký tự rỗng, và chúng không được bắt đầu bằng ký hiệu đô la (i. e. $ ). Xem cách tiếp cận thay thế. không gian tênĐộ dài không gian tênĐộ dài tối đa của không gian tên bộ sưu tập, bao gồm tên cơ sở dữ liệu, dấu chấm ( . ) dấu tách và tên bộ sưu tập (i. e. 参见 Số lượng không gian tên在 3. 0 版更改 Đối với MMAPv1, số lượng không gian tên được giới hạn ở kích thước của tệp không gian tên chia cho 628 Tệp không gian tên 16 megabyte có thể hỗ trợ khoảng 24.000 không gian tên. Mỗi bộ sưu tập và chỉ mục là một không gian tên Công cụ lưu trữ WiredTiger không tuân theo giới hạn này Kích thước của tệp không gian tên在 3. 0 版更改 Đối với công cụ lưu trữ MMAPv1, các tệp không gian tên không được lớn hơn 2047 megabyte Theo mặc định, các tệp không gian tên là 16 megabyte. Bạn có thể định cấu hình kích thước bằng tùy chọn Công cụ lưu trữ WiredTiger không tuân theo giới hạn này 参见 chỉ mụcGiới hạn khóa chỉ mụcTổng kích thước của mục nhập chỉ mục, có thể bao gồm chi phí cấu trúc tùy thuộc vào loại BSON, phải nhỏ hơn 1024 byte 在 2. 6 版更改. MongoDB phiên bản 2. 6 trở lên triển khai thực thi mạnh mẽ hơn giới hạn trên chỉ mục khóa .
Một bộ sưu tập có thể có không quá 64 chỉ mục Tên chỉ mục Độ dàiTên chỉ mục đủ điều kiện, bao gồm không gian tên và dấu phân cách dấu chấm (i. e. Theo mặc định, Không thể có nhiều hơn 31 trường trong một chỉ mục phức hợp Truy vấn không thể sử dụng cả chỉ mục văn bản và không gian địa lýBạn không thể kết hợp truy vấn yêu cầu một toán tử đặc biệt với một toán tử truy vấn yêu cầu một loại chỉ mục đặc biệt khác. Ví dụ: bạn không thể kết hợp truy vấn với toán tử Các trường có Chỉ mục 2dsphere chỉ có thể chứa Hình họcCác trường có chỉ mục 2dsphere phải chứa dữ liệu hình học ở dạng hoặc dữ liệu. Nếu bạn cố gắng chèn một tài liệu có dữ liệu phi hình học vào một 2dsphere trường được lập chỉ mục hoặc xây dựng một 2dsphere< . index on a collection where the indexed field has non-geometry data, the operation will fail. 参见 Các chỉ mục duy nhất giới hạn trong Các giá trị NaN được Công cụ lưu trữ WiredTiger trả về từ Truy vấn được bảo hiểm luôn thuộc loại doubleNếu giá trị của một trường được trả về từ một truy vấn là NaN , loại của trường đó NaN value is always double. Chỉ mục đa phímA không thể hỗ trợ a Dữ liệuSố lượng tài liệu tối đa trong một bộ sưu tập giới hạn在 2. 4 版更改 Nếu bạn chỉ định số lượng tài liệu tối đa cho bộ sưu tập giới hạn bằng cách sử dụng tham số max cho , giới hạn phải nhỏ hơn 232 tài liệu. Nếu bạn không chỉ định số lượng tài liệu tối đa khi tạo bộ sưu tập giới hạn, sẽ không có giới hạn về số lượng tài liệu. Kích thước cơ sở dữ liệuCông cụ lưu trữ MMAPv1 giới hạn mỗi cơ sở dữ liệu không quá 16000 tệp dữ liệu. Điều này có nghĩa là một cơ sở dữ liệu MMAPv1 duy nhất có kích thước tối đa là 32TB. Đặt tùy chọn sẽ giảm giới hạn này xuống 8TB Kích thước dữ liệu在 3. 0 版更改 Khi sử dụng công cụ lưu trữ MMAPv1, một phiên bản đơn lẻ không thể quản lý tập dữ liệu vượt quá không gian địa chỉ bộ nhớ ảo tối đa do hệ điều hành cơ bản cung cấp Giới hạn bộ nhớ ảoHệ điều hànhJournaledNot JournaledLinux64 terabyte128 terabyteWindows Server 2012 R2 và Windows 8. 164 terabyte128 terabyteWindows (nếu không)4 terabyte8 terabyteCông cụ lưu trữ WiredTiger không tuân theo giới hạn này Số lượng Bộ sưu tập trong Cơ sở dữ liệu在 3. 0 版更改 Đối với công cụ lưu trữ MMAPv1, số lượng bộ sưu tập tối đa trong cơ sở dữ liệu là một hàm của kích thước của tệp không gian tên và số lượng chỉ mục của các bộ sưu tập trong cơ sở dữ liệu Công cụ lưu trữ WiredTiger không tuân theo giới hạn này Xem Số của Không gian tên để biết thêm thông tin. Bộ bản saoSố thành viên của một bộ bản sao在 3. 0. 0 版更改 Bộ bản sao có thể có tối đa 50 thành viên. Xem để biết thêm thông tin về khả năng tương thích trình điều khiển cụ thể với các bộ bản sao lớn Số thành viên biểu quyết của một bộ bản saoBộ bản sao có thể có tối đa 7 thành viên biểu quyết. Đối với các bộ bản sao có tổng cộng hơn 7 thành viên, hãy xem Kích thước tối đa của Oplog được tạo tự động在 2. 6 版更改 Nếu bạn không chỉ định rõ ràng kích thước oplog (i. e. với hoặc --oplogSize) MongoDB sẽ tạo một oplog không lớn hơn 50 gigabyte Cụm phân mảnhCác cụm được chia nhỏ có các hạn chế và ngưỡng được mô tả tại đây Sharding hạn chế hoạt độngHoạt động không khả dụng trong môi trường phân mảnhKhông hoạt động với sharding. Sử dụng hoặc thay thế 3. 0 版后已移除. không được dùng nữa. không tương thích với các bộ sưu tập sharded. Bạn có thể sử dụng với các bộ sưu tập chưa được phân đoạn trong cụm phân đoạn không cho phép tham chiếu đến đối tượng db từ hàm. Điều này không phổ biến trong các bộ sưu tập chưa được chia nhỏ. Công cụ sửa đổi bản cập nhật không hoạt động trong môi trường phân mảnh truy vấn không hoạt động trong môi trường sharded Lệnh không được hỗ trợ trong môi trường sharded Các truy vấn được bảo hiểm trong các cụm phân mảnhMột chỉ mục không thể truy vấn trên một bộ sưu tập khi chạy với a nếu chỉ mục không chứa khóa phân đoạn, với ngoại lệ sau đối với _id index: If a query on a sharded collection only specifies a condition on the _id và chỉ trả về _id field, the _id index can cover the query when run against a even if the _id field is not the shard key. 在 3. 0 版更改. Trong các phiên bản trước, một chỉ mục không thể truy vấn một bộ sưu tập khi chạy với một. Sharding Kích thước dữ liệu bộ sưu tập hiện cóMột bộ sưu tập hiện có chỉ có thể được chia nhỏ nếu kích thước của nó không vượt quá giới hạn cụ thể. Các giới hạn này có thể được ước tính dựa trên kích thước trung bình của tất cả các giá trị và kích thước được định cấu hình 重要 Các giới hạn này chỉ áp dụng cho hoạt động phân mảnh ban đầu. Bộ sưu tập được phân mảnh có thể phát triển đến bất kỳ kích thước nào sau khi kích hoạt thành công phân đoạn Sử dụng các công thức sau để tính kích thước bộ sưu tập tối đa theo lý thuyết maxSplits = 16777216 (bytes) / <average size of shard key values in bytes> maxCollectionSize (MB) = maxSplits * (chunkSize / 2) 注解 Kích thước tài liệu tối đa là 16MB hoặc 16777216 byte. Tất cả các chuyển đổi nên sử dụng tỷ lệ cơ sở 2, e. g. 1024 kilobyte = 1 megabyte Nếu maxCollectionSize nhỏ hơn hoặc gần bằng với tập hợp mục tiêu, hãy tăng kích thước khối để đảm bảo phân đoạn ban đầu thành công. Nếu có nghi ngờ về việc liệu kết quả tính toán có quá 'gần' với kích thước bộ sưu tập mục tiêu hay không, thì tốt hơn là nên tăng kích thước khối. Sau khi phân mảnh ban đầu thành công, bạn có thể giảm kích thước khối nếu cần. Nếu sau này bạn giảm kích thước khối, có thể mất thời gian để tất cả các khối chia thành kích thước mới. See 修改集群中数据块的大小 for instructions on modifying chunk size Bảng này minh họa kích thước bộ sưu tập tối đa gần đúng bằng cách sử dụng các công thức được mô tả ở trên Kích thước trung bình của Giá trị khóa phân đoạn512 byte256 byte128 byte64 byteSố lần phân tách tối đa32,76865,536131,072262,144Kích thước bộ sưu tập tối đa (Kích thước khối 64 MB)1 TB2 TB4 TB8 TBKích thước bộ sưu tập tối đa (Kích thước khối 128 MB)2 TB4 TB8 TB16 TBKích thước bộ sưu tập tối đa (Tất cả và hoạt động cho một bộ sưu tập được phân đoạn phải bao gồm hoặc trường _id trong đặc tả truy vấn. và các thao tác không có trường hoặc _id trả về lỗi. Chỉ mục duy nhất trong bộ sưu tập được chia nhỏMongoDB không hỗ trợ các chỉ mục duy nhất trên các phân đoạn, ngoại trừ khi chỉ mục duy nhất chứa khóa phân đoạn đầy đủ làm tiền tố của chỉ mục. Trong những tình huống này, MongoDB sẽ thực thi tính duy nhất trên toàn bộ khóa, không phải một trường duy nhất Thấy cho một cách tiếp cận thay thế Số lượng tài liệu tối đa trên mỗi đoạn để di chuyểnMongoDB không thể di chuyển một đoạn nếu số lượng tài liệu trong đoạn vượt quá 250000 tài liệu hoặc 1. gấp 3 lần kết quả của việc chia cấu hình cho kích thước tài liệu trung bình. bao gồm trường avgObjSize , đại diện cho kích thước tài liệu trung bình trong bộ sưu tập. Hạn chế chính của ShardKích thước khóa mảnhKhóa phân đoạn không thể vượt quá 512 byte Loại chỉ mục khóa phân đoạnChỉ mục có thể là chỉ mục tăng dần trên khóa phân đoạn, chỉ mục tổng hợp bắt đầu bằng khóa phân đoạn và chỉ định thứ tự tăng dần cho khóa phân đoạn hoặc chỉ mục được băm Chỉ mục không thể là chỉ mục chỉ định chỉ mục nhiều phím, chỉ mục văn bản hoặc chỉ mục trên các trường Shard Key là bất biếnNếu bạn phải thay đổi khóa phân đoạn
Sau khi bạn phân đoạn một bộ sưu tập, khóa phân đoạn và các giá trị của khóa phân đoạn là không thay đổi; . e
Đối với các cụm có khối lượng chèn cao, một phím phân đoạn có các phím tăng và giảm đơn điệu có thể ảnh hưởng đến thông lượng chèn. Nếu khóa phân đoạn của bạn là trường _id , hãy lưu ý rằng các giá trị mặc định của _id fields are which have generally increasing values. Khi chèn tài liệu bằng các phím phân đoạn tăng dần đều, tất cả các phần chèn đều giống nhau trên một. Hệ thống cuối cùng sẽ phân chia phạm vi khối nhận tất cả các thao tác ghi và di chuyển nội dung của nó để phân phối dữ liệu đồng đều hơn. Tuy nhiên, tại bất kỳ thời điểm nào, cụm chỉ hướng các hoạt động chèn vào một phân đoạn duy nhất, điều này tạo ra tắc nghẽn thông lượng chèn Nếu các hoạt động trên cụm chủ yếu là hoạt động đọc và cập nhật, giới hạn này có thể không ảnh hưởng đến cụm Để tránh ràng buộc này, hãy sử dụng một hoặc chọn một trường không tăng hoặc giảm một cách đơn điệu 在 2. 4 版更改. và lưu trữ giá trị băm của các khóa có giá trị tăng dần. hoạt độngHoạt động sắp xếpNếu MongoDB không thể sử dụng chỉ mục để lấy tài liệu theo thứ tự sắp xếp được yêu cầu, thì kích thước tổng hợp của tất cả tài liệu trong thao tác sắp xếp, cộng với một chi phí nhỏ, phải nhỏ hơn 32 megabyte Vận hành đường ống tổng hợp在 2. 6 版更改 Giai đoạn quy trình có giới hạn là 100 megabyte RAM. Nếu một giai đoạn vượt quá giới hạn này, MongoDB sẽ tạo ra lỗi. Để cho phép xử lý các tập dữ liệu lớn, hãy sử dụng tùy chọn allowDiskUse để bật các giai đoạn đường ống tổng hợp nhằm ghi dữ liệu vào các tệp tạm thời. 参见 và Truy vấn không gian địa lý 2d không thể sử dụng toán tử $orThấy and 2d 索引原理 Diện tích đa giác GeoJSONĐối với hoặc , nếu bạn chỉ định một đa giác một vòng có diện tích lớn hơn một bán cầu, hãy bao gồm biểu thức; . Đối với tất cả các đa giác GeoJSON khác có diện tích lớn hơn bán cầu hoặc truy vấn cho hình học bổ sung Viết Lệnh Thao tác Giới hạn Kích thướcLệnh ghi có thể chấp nhận không quá 1000 thao tác. Các hoạt động trong trình bao và các phương thức tương đương trong trình điều khiển không có giới hạn này Lượt xemNgoài việc chỉ đọc, các dạng xem có các hạn chế hoạt động sau
← Thông số máy chủ MongoDB Giải thích kết quả → © MongoDB, Inc 2008-2017. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc MongoDB có thể lưu trữ các tệp lớn không?Các đối tượng lớn hay còn gọi là "tệp" được lưu trữ dễ dàng trong MongoDB . Không có vấn đề gì khi lưu trữ video 100MB trong cơ sở dữ liệu. Điều này có một số lợi thế so với các tệp được lưu trữ trong một hệ thống tệp. Không giống như một hệ thống tệp, cơ sở dữ liệu sẽ không gặp vấn đề gì khi xử lý hàng triệu đối tượng.
Kích thước giao dịch tối đa trong MongoDB là bao nhiêu?Giới hạn kích thước Oplog
. Điều này loại bỏ 16 MB giới hạn kích thước tổng cho một giao dịch được áp đặt bởi một mục nhập oplog cho tất cả các hoạt động ghi của nó.
Kích thước mặc định của tài liệu trong MongoDB là gì?Mỗi đoạn sẽ lưu trữ trong các tài liệu riêng biệt, vì vậy kích thước của mỗi tài liệu là 255 KB . Kích thước mặc định của khối GridFS trong MongoDB là 255 KB, theo thứ tự GridFS sẽ chia tài liệu của chúng tôi thành số khối tệp. MongoDB GridFS đang sử dụng hai bộ sưu tập để lưu trữ loại tài liệu này.
MongoDB có thể xử lý dữ liệu lớn không?Do những yêu cầu đặc biệt này, Cơ sở dữ liệu NoSQL (không liên quan), chẳng hạn như MongoDB, là một lựa chọn hiệu quả để lưu trữ dữ liệu lớn . |