gpt4 book ai didi

MongoDB 自动递增 ID

转载 作者:可可西里 更新时间:2023-11-01 09:24:45 27 4
gpt4 key购买 nike

MongodDB 中自动生成的 ID 大小为 12 字节,大整数的大小为 8 字节。我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群,但我现在只是在测试。插入只能通过一台服务器(nodejs 服务器)完成,但更新和删除可以使用世界各地运行 native c 应用程序的各种机器和 nodejs 服务器完成。

既然我可以完全控制插入,那么使用自动递增 ID 不是更好吗?

  • 在 1MB 的内存中,你可以保存 87381 个 12 字节的 ID 和 131027 个 8字节 ID。
  • 自动递增 ID 值得吗?有什么好处吗?除了节省内存?
  • 就性能而言,比较 8 字节 ID 不会比 12 字节快字节 id,如果我进行索引,它不会减少大小吗?

我是怎么做到的:

我有这个文件

{id:0 latestId:174845423}

我很少将它递增 1,我的大部分插入都是批量插入,因此 nodejs 服务器修改要在循环中插入的文档,给每个文档一个递增的 id,在插入操作结束时我添加我更新具有最后一个 ID 值的最新 ID。

最佳答案

“自动增量”在使用分布式系统时始终是一个问题,因为它会造成瓶颈:每个新的增量都需要读取以前的数据……就像其他一些并行请求一样。

一般来说,“自增”会限制并行性,特别是在分布式系统上。

关于MongoDB 自动递增 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218651/

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