【问题标题】:Determining size of a JSON document stored in DocumentDB确定存储在 DocumentDB 中的 JSON 文档的大小
【发布时间】:2015-05-11 19:10:35
【问题描述】:

我正在为在 DocumentDB 上运行的多租户应用程序开发分区策略。

由于每个集合只允许 10gb 的存储空间,我正在尝试计算每个租户可以存储多少文档,因此我可以计算出可以放入集合中的租户数量。

我有一个示例 Json 文档,它代表租户可能存储的公共文档。在 Azure 门户上使用文档资源管理器并不能告诉我其中一个文档在磁盘上的大小(只是使用百分比的一般图表)。

我也在使用 DocumentDB Studio,但无法确定那里的文档大小。我可以在本地使用记事本,但根据我的编码设置(ANSI、...等),我会得到不同的结果。

我的问题是:

是否有准确的方法来确定将 Json 文件存储在 DocumentDB 中的文件大小,以便我可以正确计算应用程序的资源使用情况?

还有没有办法通过对集合的查询来获取文档或文档组的大小?

【问题讨论】:

    标签: json azure azure-cosmosdb


    【解决方案1】:

    是的 - 您可以计算文档查询响应的大小,以便包括所有系统属性(例如 _rid、_ts)。您将需要使用 UTF-8 编码来获得正确的大小。

    您还需要额外考虑约 10% 的索引存储成本。

    【讨论】:

    • 很高兴知道我能做到。我仍然有点不清楚如何。我的本地操作系统显示文件大小非常大。一个非常简单的 json 文档需要 6-8kb。如果删除了空格,则为 3-4kb。还有磁盘大小与文件大小属性...我可以假设 DocDB 使用的是较小的压缩版本吗?如果 DocDB 可以告诉我文件存储时的实际大小,我会更喜欢...
    • 文档存储时删除了空格。大约 3,000 - 4,000 个字符的文档可能需要 3-4 kb。
    • 啊,所以基于此,我可以存储每个集合大约 330 万个文档,基于每个文档的平均文档大小约为 3kb。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多