MongoDB 应用程序常见问题解答提到短字段名称是一种可用于小型文档的技术。这让我想到,“小文件到底是什么?”
我正在使用 pymongo,有什么方法可以编写一些 python 来扫描集合,并了解用于字段描述符的字节与用于实际字段数据的字节的比率?
我对每个文档的基本字节开销也很感兴趣。
MongoDB 应用程序常见问题解答提到短字段名称是一种可用于小型文档的技术。这让我想到,“小文件到底是什么?”
我正在使用 pymongo,有什么方法可以编写一些 python 来扫描集合,并了解用于字段描述符的字节与用于实际字段数据的字节的比率?
我对每个文档的基本字节开销也很感兴趣。
没有内置方法可以获取 BSON 文档中键使用的空间与实际字段值使用的空间的比率。但是,collstats和dbstats命令可以为您提供有关集合和数据库大小的有用信息。以下是如何在 pymongo 中使用它们:
from pymongo import MongoClient
client = MongoClient()
db = client.test
# print collection statistics
print db.command("collstats", "events")
# print database statistics
print db.command("dbstats")
不过,您总是可以破解一些东西以获得一个很好的估计。如果集合中的所有文档都具有相同的架构,那么这样的事情还不错:
现在d是用于存储字段名称的集合的总数据大小的比例。