我似乎记得旧的数据存储属性每个存储有 2 个数据存储写入操作(DWO),可能还有更多,具体取决于它们的索引方式。
在旧数据存储中,我经常将不需要索引的所有内容存储在 JSON 字符串中,并将其存储为 TextProperty 以保存多次写入。
习惯于直接从数据存储中以 JSON 格式保存和处理所有内容后,在切换到 NDB 以获取新应用程序时,我自然而然地使用了 NDB JsonProperty。
像往常一样,当我第一次检查我的配额限制(典型的免费配额限制用户体验?)时,我对优化变得偏执,并注意到所有数据存储写入(完全由只有 JsonProperties 的模型组成)正在加速很多 DWO 配额。
我立即想知道:GAE DataStore 是否根据 JsonProperty 的结构进行多次写入?或者它只是将整个属性 blob 存储到数据存储中,就像“blob”存储所需的一样少的 DWO?
我认为是后者,并记得在文档中这样读过,但是大量的配额消耗(典型的免费配额限制用户偏执狂?),让我想知道使用 JsonProperty 是否不如使用旧数据存储和保存 JSON 高效作为 TextProperty 的字符串——它们肯定是非结构化的 blob。
如果可以彻底清除这将是一件好事,这样我就可以回到只关注应用程序的“appengine 承诺”。:)