JSON文档数据库中的键成本(mongodb,elasticsearch)

JSON文档数据库中的键成本(mongodb,elasticsearch),第1张

JSON文档数据库中的键成本(mongodb,elasticsearch)

您正确地注意到文档将具有不同的大小。因此,如果您决定采用第二种模式,则将至少保存

15bytes
每个文档(
60%
用于类似文档)。最终将以类似
140MB
您的
10 million
记录的形式出现。这将为您带来以下优势:

  • 节省硬盘空间。 唯一的问题是,从当前硬盘的价格来看,这几乎没有用。
  • 节省内存。 与硬盘相比,这对于索引编制很有用。在mongodb中,索引的工作集应适合RAM,以实现良好的性能。因此,如果您在这两个字段上都有索引,则不仅可以节省
    140MB
    HDD空间,还可以节省
    140MB
    潜在的RAM空间(实际上很明显)。
  • I / O 。由于输入/输出系统的限制,很多瓶颈都会发生(从磁盘读取/写入的速度受到限制)。对于您的文档,这意味着您可以使用模式2
    twice as many documents
    每1秒读写一次。
  • 网络 。在许多情况下,网络甚至比IO还要慢,并且,如果您的DB服务器位于不同的机器上,则您的应用程序服务器的数据必须通过有线方式发送。您还可以发送两倍的数据。

在介绍了优点之后,我必须告诉您使用小键的缺点:

  • 数据库的可读性。 当您
    db.coll.findOne()
    看到并看到时
    {_id: 1, t: 13423, a: 3, b:0.2}
    ,很难理解这里到底存储了什么。
  • 应用程序的可读性 与数据库相似,但是至少在这里您可以找到解决方案。随着映射逻辑,其转换
    currentDate
    c
    price
    p
    你可以写一个干净的代码,并有一个短暂的架构。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5019860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存