Base
some concepts
databases 是 mongodb 中数据库的概念,也就是总的 schema
collections/tables 是 mongodb 中表的概念
documents 是 mongodb 中 数据的概念
connection
连接 mongodb 需要使用 mongosh
💩
MongoDB 占用的空间比较大可能是因为以下原因:
MongoDB 会将数据文件和索引文件都加载到内存中,以提高查询性能。当数据量增加时,MongoDB 需要占用更多的磁盘空间来存储这些文件。
MongoDB 在写入新数据时,不会立即清空已经删除的数据所占用的空间。这种方式被称为“延迟清空”机制。虽然这样可以提高写入性能,但也会导致数据文件占用的空间比实际数据要更大。
如果您使用了复制集功能,MongoDB 还会保存每个节点的操作日志(Oplog)。这些日志记录了所有对数据库的修改操作,以便在进行故障恢复时使用。这些日志也会占用一定的磁盘空间。
MongoDB 还有一些特殊的数据类型,如二进制大对象(Binary Large Objects,BLOBs)和 GridFS 等,它们可以存储大型文件,这也会导致 MongoDB 占用的空间比较大。
TIP
为避免形成过多的硬盘碎片,mongodb 每次空间不足时都会申请生成一大块的硬盘空间,而且申请的量从 64M、128M、256M 那 样的指数递增,直到 2G 为单个文件的最大体积。随着数据量的增加,你可以在其数据目录里看到这些整块生成容量不断递增的文件
如果你发现 MongoDB 占用的空间过大,可以考虑进行定期的数据清理、优化或者使用压缩技术等方法来减小空间占用。
mongodb 对每一个文档的操作都是原子的