我正在尝试处理在 AppEngine 的 BlobStore 中存储 blob 所需的数据开销。
假设我保存了一个 1KB 的 blob,在 BlobStore 和 DataStore 中分别会花费我多少字节?
换句话说:实体需要有多大,才值得将其移至 BlobStore?
我正在尝试处理在 AppEngine 的 BlobStore 中存储 blob 所需的数据开销。
假设我保存了一个 1KB 的 blob,在 BlobStore 和 DataStore 中分别会花费我多少字节?
换句话说:实体需要有多大,才值得将其移至 BlobStore?
这个问题的答案没有记录,但您可以做一些猜测工作以获得每个 blob 的最小开销。
创建的每个 blob 都需要一个 blob 信息和一个 blob 键。我相信,blob 密钥是 500 字节。blob-info 具有 content_type(字符串)、创建时间(日期时间)、文件名(字符串)和大小(整数)。我们可以假设每个字符串比它们的长度多使用 1 个字节。此外,假设您不使用可选的文件名或内容类型字段。那么 blob-info 项将分别约为 1 个字节、8 个字节、1 个字节和 8 个字节,总共 18 个字节。
因此,一个 blob 项的最小开销可能是每个 blob 至少 518 个字节,存储在数据存储中。但我们还没有完成,我们仍然需要找出最优定价。
Blob 商店每月的定价为:
= $0.13/G * blob_file_size + 518 bytes * $0.24 / gig
= blob_file_size/1024/1024*.13 + 0.00011856079
而完全在数据存储中的存储定价是:
= blob_file_size/1024/1024*.24
两者成本相同的盈亏平衡点是 1130.2 字节。再多一点,blobstore 会更便宜,少一点,datastore 会更便宜。当然,这是基于 518 字节的最小开销,我敢打赌开销通常会更高,所以经验法则可能是 2kb。