当前位置:  开发笔记 > 编程语言 > 正文

MongoDB是社区网站的正确数据库吗?

如何解决《MongoDB是社区网站的正确数据库吗?》经验,为你挑选了1个好方法。



1> mnemosyn..:

分别解决每个问题:

    不,那不再是真的了.较旧版本的MongoDB没有日记功能,但是当前版本没有日志功能,而且从第2版开始,默认情况下会激活它.但是,您应该SafeMode在驱动程序级别使用a ,以确保驱动程序和数据库之间的通信成功.

    嵌入式帖子和帖子可能不是最佳选择.我们已经构建了类似的东西,我们使用的是一个平面集合,其中每个帖子都存储了ParentId和ParentThreadId.嵌入有利有弊,但我们决定的论点是:

    a)通常,我们只想在给定线程中获取站点范围内的最新注释或n个最新注释,这两个注释都无法使用嵌入式文档完成.

    b)如果你有很多人同时写同一个主题,你需要注意并发性.这可以解决,但我们觉得使用不能真正干扰的不同物体会更安全,即使你犯了错误

    c)正如Joe指出的那样,你必须在不同的系统中处理全文搜索.

    如果您有大量更新,嵌入式文档就不太适合,因为容器(包含嵌入对象的集合项)将会增长.当它增长时,MongoDB将不得不重新分配它,这可能需要更长的时间并分割数据.

    图3(a).对于朋友的状态更新,使用扇出策略是有道理的.我昨天回答了类似的问题.

    不要使用自动增量数字.默认情况下,这是一个有缺陷的设计,因为它在分布式环境中并不能很好地工作.对于db,无论是存储int0x00000001还是存储值都没有区别0xfa9ac7335.保持数字小是没有意义的.我会选择Mongo ObjectIdGuid/ UUID.前者还包含时间戳btw.

    我没有使用过mongoose,但总的来说,有悲观和乐观锁的典型策略.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有