MongoDB运行机制

MongoDB是一款用C++编写的数据库系统,擅长处理大量数据,官方数据显示其在50GB以上数据量时访问速度远超MySQL。尽管并发读写能力一般,但通过预分配空间机制缓解磁盘压力,每个预分配文件用0填充。每个表和索引对应不同的命名空间,元数据存储于'*.ns'文件。MongoDB支持通过参数'--noprealloc'禁用预分配。
摘要由CSDN通过智能技术生成

MongoDB是用C++开发的,主要解决的是海量数据的访问效率问题。根据官方文档记载,当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求。


数据存储结构

MongoDB内部有预分配空间的机制,每个预分配的文件都用0进行填充,这使MongoDB始终保持额外的空间和空余的数据文件,有效避免了由于数据暴增而带来的磁盘压力过大的问题。如果想避免预分配,可以在mongod启动时,加上参数“--noprealloc”,这样,系统的预分配机制就失效了。


数据文件每分配一次,它的大小都会是上一个数据文件大小的2倍,每个数据文件最大2GB,这样的机制有利于防止较小的数据库浪费过多的磁盘空间,同时又能保证较大的数据库有相应的预留空间使用。

数据库的每张

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值