在使用MonogDB构建真实的应用程序并用于生产环境之前,应该注意一些局限,它们大多数都是由于MongoDB使用内存映射文件(memory-mapped file)而
导致的。
首先,MongoDB通常应该运行于64位的机器上。32位系统只能对4 GB内存做寻址。要知道,一般半数的内存都会被操作系统和程序进程占用,就只剩2 GB内存能用
来映射数据文件。因此,如果运行在32位的服务器上,还定义了适当数量的索引,那么数据文件只能被限制在1.5 GB。大多数生产环境系统的要求都高很多,因
此一个64位的系统是必需的。
使用虚拟内存映射的第二个后果是,数据占用的内存会自动按需分配。这样一来,想在共享环境中运行数据库会变得更加麻烦。要把MongoDB用于数据库服务器,
最好是能让它运行在一台专门的服务器上。
最后,运行带复制功能的MongoDB是十分重要的,尤其是没有开启Journaling日志的时候。因为MongoDB使用了内存映射文件,不开启Journaling日志的话,
mongod发生任何意外关闭都会导致数据损坏。因此,这时最好能有一个备份以做故障转移。对任何数据库而言这都是个不错的建议(重要的MySQL部署不做复制是
很轻率的举动),这对没有Journaling日志的MongoDB尤为重要。