A.1 选择一个版本

MongoDB所使用的版本管理相当简单:偶数号为稳定版,奇数号为开发版。例如,以2.4开头的版本都是稳定版,如2.4.0、2.4.1、和2.4.15。以2.5开头的则是开发版,如2.5.0、2.5.2和 2.5.10。接下来我们以2.4和2.5版本为例,来演示版本变化的时间线。

  • MongoDB2.4.0发布。这是一项重大发布(major release),有大量的更新日志(changelog);
  • 开发者在开始着手开发2.6版本(下一个重大发布的稳定版本)后,发布了2.5.0版本。这是新的开发分支,与2.4.0版本很相似,但可能包含一两个额外的特性,也可能存在一些漏洞。
  • 随着开发者继续增加新的特性,他们发布了2.5.1和2.5.2等版本。这些版本不应用于生产环境中。
  • 一些小的漏洞修复可能用于旧的2.4分支上(这一做法称为backport),随后发布了2.4.1、2.4.2等版本。开发者会慎重考虑这一做法。稳定版本中很少增加新的特性,通常只进行漏洞修复。
  • 在2.6.0达到所有重大既定目标后,版本2.5.7(或任何最新的开发版本)就会变为2.6.0-rc0。
  • 在对2.6.0-rc0进行大量测试后,一般会发现一些需要修复的小漏洞。开发者修复这些漏洞并发布2.6.0-rc1版本。
  • 开发者重复第6步直到没有新的明显漏洞,然后2.6.0-rc2(或任何此时的最新版本)会重命名为2.6.0。
  • 从第1步重新开始,此时所有版本号增加0.2。

在MongoDB的漏洞追踪系统(https://jira.mongodb.org/secure/Dashboard.jspa)上,存在着核心服务器路线图。查看该路线图,可得知下一个稳定版本的发布时间。

若在生产环境中运行,则应使用稳定版本。如计划在生产环境中使用开发版本,应先在邮件列表(mailing list)或IRC中询问开发者的建议。

如果刚刚开始一个项目的开发,使用开发版本也许是更好的选择。在将其部署至生产环境中时,带有所使用特性的稳定版本可能已经发布了(MongoDB尽量做到每6个月发布一个稳定版本)。然而,可能也会遇到一些系统漏洞,这会使新用户感到非常失望,因此必须对此进行权衡和取舍。