代码之家  ›  专栏  ›  技术社区  ›  SHSE

桌面应用程序中的MongoDB

  •  3
  • SHSE  · 技术社区  · 16 年前

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

    2 回复  |  直到 16 年前
        1
  •  2
  •   kris    16 年前

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

    当写操作发生并且写命令返回时,我们不能是100%。 当然,从那一刻起, 所有其他进程将看到 仅更新数据。

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

    MongoDB不会立即确保您的数据在硬盘上。作为一个 结果,您可能会丢失 如果你的 服务器在 写入和实际存储到硬盘 驱动器。

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

        2
  •  0
  •   Rhapsody    16 年前

    这取决于您想在数据库中存储什么。

    根据 Wikipedia ;

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

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

    推荐文章