gpt4 book ai didi

php - 用于处理访客数据的 Mongodb Schema

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:45 38 4
gpt4 key购买 nike

我目前正在使用 MongoDB 进行设置并存储访问者信息。例如,假设我有一个日期范围内访问过您网站的每个访问者的信息。我想将该信息存储在数据库中。

目前我将它存储在 mongo 中,如下例所示。我真的有 2 个问题:

  • mongo 是解决此问题的最佳解决方案吗[我考虑过使用 couchdb,mysql 可以,但对于高流量站点,QPS 会成为瓶颈]?
  • 将唯一身份访问者存储在文档中[每个日期都分配给访问者]是个好主意,因为 16mb 是最大文档大小,而不是简单地将每个访问者存储为自己的文档?

架构:

Visitor
Non unique id
Date
Visitors --array[could contain up to millions of visitors[daily visitors]]
source
keyword
city
state
country
page_views
etc.......

最佳答案

Is mongo the best solution for this

没有。原因有很多,但最大的原因是文档的大小。

一段时间后,该文档可能会增长到接近 16MB 的限制。这意味着将它从磁盘加载到您的工作集中不仅耗时而且效率低下。

如您实际采用的那样,每位访问者一份文档会做得更好。

如果您希望您的文档加载速度更快,您实际上希望它们更小,这样磁盘读取就更小,进而 IO 更小,进而使用的资源更少。

此外,由于我怀疑您是否需要所有访问者(将加载单个文档设置),那么您还会有不需要的数据填充 RAM。

像现在这样存储,您可以根据需要选择性地加载访问者,而 IO 开销非常小,因此我保证您采取的替代方案:

Yea, I ended up going with a document per visitor as we will be allowing people to run filters on the users and delete certain visitors

关于php - 用于处理访客数据的 Mongodb Schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372449/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com