祖先索引是否会消耗更少的存储空间?关于它会消耗多少存储空间?

时间:2016-10-26 17:12:36

标签: python google-app-engine google-cloud-datastore app-engine-ndb

鉴于app引擎中的索引占用了大量存储空间,我想知道哪种设置可以节省更多存储空间。我有一个拥有超过100,000个实体的ndb模型。 index.yaml中自动生成的索引条目如下:

# index.yaml
indexes:
- kind: MyModel
  properties:
  - name: label
  - name: date

- kind: MyModel
  ancestor: yes
  properties:
  - name: label
  - name: date

我想知道保留两个索引是否会对他们使用的存储量产生显着影响。或者我可以通过删除其中一个来节省大约50%的存储空间吗?截至目前,我可以轻松地重构我的代码以使用或不使用祖先查询,因此重构代码不是问题。我只想知道哪条路可以节省更多存储空间。

如果最好删除其中一个,我应该删除哪个会节省更多存储空间?祖先查询的索引,或者不是<?p?

的索引

提前致谢

1 个答案:

答案 0 :(得分:1)

假设您使用自动生成的索引(index.yaml有两种模式:自动和手动),并且首先使用没有祖先,但后来改变了您的方案(因此自动添加了新索引),您应该删除第一个索引:

# index.yaml
- kind: MyModel
  ancestor: yes
  properties:
  - name: label
  - name: date

如果你创建和使用没有祖先的实体,它应该是None,这个索引运行良好。如果您担心空间/速度问题,我建议您手动控制索引。