单服务器耐用性意味着什么?

时间:2013-03-12 06:10:52

标签: mongodb durability nosql

有人可以详细解释单服务器的耐用性吗?我在浏览MongoDB概念时遇到过它。

2 个答案:

答案 0 :(得分:6)

完整的单服务器持久性是ACID范例的一部分,更具体地说是;耐久性(http://en.wikipedia.org/wiki/ACID#Durability)。

它要求如果服务器在单个服务器环境中关闭,它将不会丢失其数据或损坏。

由于对日志和磁盘的延迟写入的性质,MongoDB仅部分遵守ACID持久性规则。尽管此窗口很小(例如60毫秒),但在单个服务器环境中丢失一些操作的可能性仍然很小,除非您在应用程序中使用日志确认写入。

如果日志确认写入失败,您将能够重播日志,以确保唯一丢失的操作是在失败之前无法到达服务器的操作。

如果在没有日志确认写入的情况下发生故障,则可能会在60毫秒的窗口内丢失所有操作,您只能决定这对您来说意味着什么;在单一服务器环境中,您的网站可能太小而无法关注。

答案 1 :(得分:1)

这意味着独立服务器(不是副本集的一部分)至少提供一些保证以持久的方式持久保存数据。在引入此功能之前,您必须使用副本集来确保如果服务器出现故障,它不会丢失您的数据。