由于它提供的速度和可扩展性,我正在启动一个我认为特别适合MongoDB的项目.
我目前感兴趣的模块是与实时聊天.如果我在传统的RDBMS中这样做,我会把它分成:
频道(频道有很多用户)
用户(用户有一个频道,但有很多消息)
消息(消息有用户)
这个用例的目的,我想假设一次有5个通道活动,每个通道每秒最多处理5个消息.
需要快速的特定查询:
获取新消息(基于书签,时间戳或增量计数器?)
将消息发布到频道
验证用户是否可以在频道中发帖
请记住MongoDB的文档限制是4mb,您将如何设计模式?你会是什么样的?有什么问题需要注意吗?