我正在考虑写入同一数据存储模型的数十个并发作业。无论并发数量多少,数据存储区都会扩展吗?
答案 0 :(得分:2)
数据存储区每秒只能处理任何给定实体的写入次数。如Avoiding datastore contention中所述,尝试过快地写入特定实体会导致争用。如果您希望实体每秒持续更新一次或两次,本文建议对实体进行分片。
数据存储区针对读取进行了优化,但如果您的并发作业正在写入单独的实体(即使它们位于同一模型中),那么您的应用程序可能会扩展 - 它将取决于您的请求处理程序执行所需的时间。 / p>
答案 1 :(得分:2)
实体种类没有争用 - 仅适用于实体组(具有相同父实体的实体)。既然你说你每次都在写一个新的实体,你应该能够任意扩展。
然而,还有一个细微之处:如果您插入高比率的实体(每秒数百个),并且您使用默认的自动生成ID,则可能会出现“热片”,这可能会导致争用。如果您期望插入率很高,则应使用密钥名称,并选择不作为自动生成的ID进行集群的密钥 - 示例将是电子邮件地址或随机生成的UUID。