AppEngine - 写入限制为每秒1次

2 投票
1 回答
708 浏览
提问于 2025-04-16 12:22

我正在考虑使用AppEngine的DataStore作为数据库系统,但我对文档中的这句话感到困惑:

"这使得对单个留言簿的查询能够保持强一致性,但也限制了对留言簿的更改,每秒只能写入1次(这是实体组的支持限制)。"

来源:http://code.google.com/appengine/docs/python/datastore/hr/overview.html

这是否意味着如果我设置的数据模型是这样的:

class Guestbook(db.model)
    guestbook_name = string property
    datecreated = date property

class Message(db.model)
    guestbookOwner = guestbook reference
    messageText = string property
    datecreated = date property

无论我提交什么数据,比如:

mess = Message()
mess.guestbookOwner = guestbook
mess.put()

写入的次数仍然会限制在每秒1次? - 如果这个限制是基于留言簿的引用和新消息的话,我倒是可以接受。

请帮帮我!

谢谢

克里斯

1 个回答

7

嘿,不是的,引用另一个实体和属于同一个实体组是两回事。

实体只有在你明确提供一个 parent 参数的时候,才会属于同一个实体组。这意味着当你创建实体的时候,如果你没有指定父实体,它就不会和其他实体在同一个组里。即使你在一个实体类中引用了另一个实体,也并不意味着你在创建它的时候必须给它一个 parent,所以它不一定要和其他实体在同一个组里。

在高复制模式下,每秒写入的限制是针对实体组的,所以如果你不把实体彼此关联(也就是不指定 parent),那么每个实体就会成为独立的实体组。在这种情况下,每秒写入的限制是针对每个实体的,而不是跨实体的。

撰写回答