我一直在上传照片和报告给mongodb。 我达到了数据库的大小限制。 如何增加数据库的大小?
db.stats() { "db" : "fieldops", "collections" : 6, "objects" : 20454, "avgObjSize" : 890464.9997066589, "dataSize" : 18213571104, "storageSize" : 18432802736, "numExtents" : 52, "indexes" : 4, "indexSize" : 809424, "fileSize" : 21398290432, "nsSizeMB" : 16, "extentFreeList" : { "num" : 0, "totalSize" : 0 }, "dataFileVersion" : { "major" : 4, "minor" : 22 }, "ok" : 1 }
另外,旁白。 我现在有12,000张照片,每个月都会上传。 我读了MongoDB的data file限制是16000。 我无法find术语表中data file的定义。 这是指我上传到数据库的buffered图片? 所以,一旦发生这种情况,我必须build立一个单独的服务器与碎片? 或者我可以在同一台机器上创build一个碎片?
提前致谢。
我一直在上传照片和报告给mongodb。 我达到了数据库的大小限制。 如何增加数据库的大小?
假设你有可用的磁盘空间,MongoDB会根据需要自动分配额外的磁盘空间。 由于您正在运行MMAP存储引擎(基于您的db.stats()输出),因此,MongoDB将以每个新文件最多2GB的增量预先分配空间(如果碰巧使用smallFiles选项,则每个文件最大为512MB) 。 如果您的数据库当前> 18GB,则至less需要2GB的可用空间(如果临时目录位于同一卷上,则需要一定的空间用于操作系统)。
对集合的文档计数没有限制,除非您碰巧使用了具有指定max限制 (必须小于2 ^ 32)的上限集合。 有MongoDB生产部署与万亿文件(参考: 大规模的MongoDB )。
MongoDB 3.0+有一个存储引擎API,所以可能会有一些限制因存储引擎而异。 例如,使用经典MMAPv1存储引擎的单个mongod 数据大小限制通常是启用日志function时的64 TB数据。 WiredTiger存储引擎(3.0中可选,默认值为3.2+)没有此限制。
每月插入数以万计的文件不应该是一个问题。
有关更多信息,请参阅: MongoDB限制和阈值 。