Home >Database >Mysql Tutorial >MongoDB 问题123

MongoDB 问题123

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:54:481135browse

MongoDB 是非关系型数据库中的一种。 出于某些原因,我们用了Mongo。他们说Mongo的最大特点是快。 不过这种快是以空间换时间的代价而得来的。 这个空间代价包括 1.DB至少占用64M(好像是这个数字,因为我们的DB实际往往只有几M,但却要占用那么多,空间浪费严

MongoDB 是非关系型数据库中的一种。

出于某些原因,我们用了Mongo。他们说Mongo的最大特点是快。

不过这种快是以空间换时间的代价而得来的。

这个空间代价包括

1.DB至少占用64M(好像是这个数字,因为我们的DB实际往往只有几M,但却要占用那么多,空间浪费严重)

2.加载到内存里的数据不会主动释放,虚拟主机,导致服务挂掉了。具体机制不懂,只知道,为了提高速度,香港服务器,Mongo的内存耗费是相当惊人的。

本文主要讲述在实践中碰到的一些Mongo的问题,由于我对Mongo底层的实现机制

不是很了解,有不懂的地方,还希望大牛们能帮解答下。

 

1.就是DB数量对Mongo的性能及稳定性的影响。

我们是单台数据库服务器,网站空间,实践中,当DB数量过万时,整个Mongo就突然变得极不稳定,随时都会挂掉。

挂掉的直接原因 好像是内存不够,由于不是我本人负责的,具体情况我也不知道。

 

2.Mongo的数据释放

除了DB级别的删除,Mongo会直接释放空间,对于其它像Collection 或 Document层的删除,磁盘空间并没有直接释放。

随着岁月的积累,整个磁盘就会布满碎片。他们使用的一种解决方法是Mongo 自带的repair 命令

 

3.加载到内存里的数据

首先是索引,然后是命中的数据块,索引的应该是常驻的。命中的数据块是不是一旦进来就不出去了。

为什么会出现前面所说的性能临界点。可不可以手动设置。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn