桌面应用程序中的MongoDB

时间:2010-03-22 09:56:13

标签: c# .net mongodb

在.NET桌面应用程序中使用MongoDB是个好主意吗?

2 个答案:

答案 0 :(得分:2)

Mongo应该在具有复制功能的服务器上运行。它实际上不是用作桌面应用程序的数据库(除非它们连接到中央服务器上的数据库)。在MongoDB博客上有一个blog post on durability,这是一个常见的问题。

  

当写入发生并且写入命令返回时,我们不能100%   确定从那个时刻开始,   所有其他进程都会看到   仅更新数据。

在每个驱动程序中,应该有一个选项来执行“安全”插入或更新,等待数据库响应。我不知道你打算使用哪个驱动程序(有一些用于.NET,http://github.com/samus/mongodb-csharp是最官方支持的),但是驱动程序没有提供安全选项,你可以运行getLastError命令手动同步事物。

  

MongoDB不会立即确保您的数据在硬盘上。作为一个   结果,你可能会丢失你的数据   如果你的想法已经写好了   服务器在两者之​​间下降   写作和实际存储到硬   驱动。

有一个fsync命令,如果你真的想要,可以在每次操作后运行。同样,Mongo遵循“数字安全”理念,鼓励任何在生产中运行的人至少有一个奴隶进行备份。

答案 1 :(得分:0)

这取决于您想要存储在数据库中的内容。

根据Wikipedia;

  

MongoDB专为解决问题而设计   没有繁重的交易   要求不容易解决   通过传统的RDBMS,包括   需要数据库的问题   跨越许多服务器。

.NET driver可用。 here是帮助您入门的一些信息。 但你首先要问自己;你想要存储什么以及进一步的要求是什么。 (支持存储过程,触发器,预期大小等)