在.NET桌面应用程序中使用MongoDB是个好主意吗?
答案 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是帮助您入门的一些信息。 但你首先要问自己;你想要存储什么以及进一步的要求是什么。 (支持存储过程,触发器,预期大小等)