Mongo 新手,承担分析任务并有一个架构问题。
我来自 SQL Server,我有 4 个表...
stats_landing_table
-------------------
id
post_id
visit_date
country
browser
impressions
stats_geo_table
---------------
id
post_id
date
country
country_count
stats_browser_table
-------------------
id
post_id
date
browser
browser_count
stats_impressions_table
-----------------------
id
post_id
date
impression_count
使用登陆表 - 我每次都将所有数据放入其中 - 没有更新,只是插入。在那里我有一个触发器,它查看其他表并进行适当的更新或插入,然后从登陆表中删除条目。
因此,我需要 FAST 插入/更新,能够返回并基于整个或特定时间范围显示关于帖子周围每个属性(国家、浏览器、印象等)的报告。
使用 Mongo,它归结为我是否应该嵌入或拥有单独的文档,或者我猜是一个完全不同的模式。如果我嵌入,我试图弄清楚如何更新浏览器表之类的内容,同时仍在检查国家/地区并更新展示次数。听起来我需要为每件事单独更新(比如,这个访问者正在使用来自德国的 firefox,而这个是来自芬兰的 firefox - 从我所看到的单个查询中无法做到这一点)。另一种选择是制作不同的文档,但这是同样的问题——我需要为每个集合进行更新——与 SQL Server 单次调用相比,这是很多网络流量。
我愿意接受任何关于如何设计这样的东西的建议,以允许快速的性能更新/插入,同时仍然允许报告。