1

앱 엔진의 인덱스가 상당한 양의 저장 공간을 차지한다는 사실을 감안할 때 어떤 설정으로 더 많은 저장 용량을 절약 할 수 있는지 궁금합니다. 나는 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 %를 절약 할 수 있습니까? 현재 조상 쿼리를 사용하거나 사용하지 않기 위해 코드를 쉽게 리팩토링 할 수 있으므로 리팩토링 코드는 문제가되지 않습니다. 나는 어느 경로가 더 많은 저장 공간을 절약 할 것인지를 아는 데 전적으로 관심이 있습니다.

그리고 그 중 하나를 제거하는 것이 가장 좋습니다. 제거해야한다면 더 많은 저장 용량을 절약 할 수 있을까요? 상위 쿼리에 대한 색인 또는 그렇지 않은 색인 , 먼저 어떤 조상과 협력, 나중에 (그래서 새로운 인덱스가 자동으로 추가 된) 당신의 계획을 변경 : 당신이 가정 사전

+0

하나만 있으면됩니다. 그리고 일관성이 필요하면 조상이 필요합니다 (거래의 경우). – voscausa

+0

감사합니다. 인덱스를 'ancestor : yes'로 유지하고 다른 인덱스는 삭제합니다. 나는 아직도 색인에 '조상 : 예'를 가지고 얼마나 많은 기억을 잃고 저장하는지 알고 싶지만. –

답변

1

에서

덕분에 자동 생성 된 인덱스를 (자동 및 수동 index.yaml 2 가지 모드가 있습니다)를 사용 만들고 조상과 함께 사용 엔티티가 없음을 없을 것으로 예상되는이 인덱스가 잘 작동하면

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

: 먼저 인덱스를 제거해야합니다. 나는 공간/속도 문제에 대해 걱정한다면 인덱스에 대한 수동 제어를 취하도록 조언합니다.

+0

내 상황을 정확하게 묘사했다. 인덱스는 모두 자동 생성되며 조상을 사용하지 않는 쿼리로 시작했습니다. 답변 해주셔서 감사합니다. @voscausa가 제안한 강력한 일관성을 위해 인덱스를 'ancestor : yes'로 유지하고 다른 인덱스를 삭제합니다. 대략 저장 차이가 'ancestor : yes'가있는 인덱스와없는 인덱스 사이에 있는지 궁금 하지만요. –

관련 문제