2015-05-11 25 views
2

我正在为在DocumentDB上运行的多租户应用程序开发分区策略。确定存储在DocumentDB中的JSON文档的大小

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

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

我也在使用DocumentDB Studio,无法确定文档大小。我可以在本地使用记事本,但取决于我的编码设置(ANSI,等等),我得到了各种结果。

我的问题是:

有没有一个准确的方法来确定该文件大小的JSON文件将在DocumentDB因为这样我就可以正确地计算我的应用的资源使用被存储为?

还有一种方法可以通过针对集合的查询获取文档或文档组的大小吗?

回答

0

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

您还需要考虑将索引存储成本增加约10%。

+0

很高兴知道我可以做到。对我来说还是有点不清楚。我的本地操作系统显示文件大小非常大。 6-8kb为一个非常简单的json文档。如果删除空格,则为3-4kb。还有磁盘大小与文件大小属性...我可以假设DocDB使用较小的压缩版本?如果DocDB可以告诉我文件存储的实际大小,我宁愿这样做...... – CodeAbundance

+0

文档存储在删除空白处。您可以预计3-4 kb的文件,大约3,000至4,000个字符。 –

+0

嗯,基于这个,我可以根据平均每个文档大约3kb的文档大小存储每集大约330万个文档。谢谢! – CodeAbundance