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 

私は思っていました。または、それらのうちの1つを削除して消費するストレージの約50%を節約できますか?現時点では、祖先クエリを使用するか使用しないかを簡単にリファクタリングできるため、リファクタリングコードは問題になりません。私は、より多くのストレージを節約できるパスを知ることに専念しています。

これらのうちの1つを削除するのが最善の場合、それを削除すると保存容量が節約できますか?祖先クエリのインデックスまたはそれ以外のインデックスあなたが自動生成されたインデックスを使用すると仮定すると、事前

おかげ

+0

あなたはそのうちの1つが必要です。一貫性が必要な場合は、先祖が必要です(トランザクションの場合)。 – voscausa

+0

ありがとうございます。私は 'ancestor:yes'でインデックスを保持し、もう一方は削除します。私はまだインデックスに「祖先:はい」を持つことによって、どれだけの記憶を失うかを知りたいのですが。 –

答えて

1

は(index.yamlは、2つのモードがあります:自動と手動)を、そして最初の無祖先で働いていたが、後で(ので、新しいインデックスが自動的に追加された)あなたのスキームを変更し、あなたはNoneにすることになって、これインデックスがうまく機能している無祖先を持つエンティティを作成し、使用している場合

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

:あなたが最初のインデックスを削除する必要があります。あなたがスペース/スピードの問題を心配している場合は、インデックスを手動でコントロールするようアドバイスします。

+0

私の状況を正確に記述しました。インデックスは自動的に生成され、祖先を使用しないクエリから始まりました。答えをありがとう。 @voscausaで提案されているように、強い整合性を保つために 'ancestor:yes'でインデックスを保持し、もう一方を削除します。おおよそのストレージの違いが、「祖先:はい」とのインデックスと、それ以外のものとの間にあるのはまだ不思議です。 –

関連する問題