数据存储使用cas

2024-10-01 07:36:29 发布

您现在位置:Python中文网/ 问答频道 /正文

RDMS的家伙。假设我有两个实体,必须连接它们并过滤连接。在RDMB SQL中,它类似于:

select *
from entity1 e1, entity2 e2
where e1.id = e2.fk_id
and e1.this = 'that';

据我所知,对于数据存储,我必须在内存中对运行查询的一个GAE实例执行此操作:

  • 使用筛选器this = 'that'从数据存储加载entity1
  • entity2从数据存储加载所有内容(或者在对每个entity1.id运行distinct之后为每个entity1.id加载多个调用)
  • 加入记忆

如果数据集变大(超过我的RAM,特别是当entity2增长并且我同时处理请求时),上面的查询就无法完成。这是对的吗?在

通常的处理方法是:

  • 只需将非标准化的数据存储在huge_entity中(这感觉很不对)?在
  • 跨GAE/join实例分布?(如果是,如何做到这一点?)在
  • 是否使用父密钥来实现此特定目的?在
  • 继续添加更多的内存:)?在
  • 放弃cloudsql的数据存储?在

Tags: 数据实例内存实体idthatthisgae