2016-09-07 10 views
1

App Engine Search API(FTS)のインデックスの成長率(一定期間内にどれだけのサイズが増加するか)を予測するにはどうすればよいですか挿入されたエンティティおよび情報の量。このためには、基本的にどのようにインデックスサイズが計算されるのか(それは何に依存するのか)を知りたいと思います。具体的に:Google App Engine - 検索APIのインデックスの伸び

  1. 新しいエンティティを挿入する際、以前の既存のエンティティの数に影響を受け成長(サイズ)は? (すなわち、指数関数的な成長ですか?)例えば、 1000のエンティティがあり、10を挿入すると、インデックスはXバイトで増加します。しかし、もし私が100000個のエンティティを持ち、10を挿入すると、それはXまたはそれ以上のもので増加します(指数関数的に言えば10 * X)。
  2. フィールド(プロパティ)の数は指数関数的にサイズに影響しますか?例えば、 2つのフィールドを持つエンティティAと4つのフィールドを持つエンティティBを持つ場合、エンティティBを追加するとサイズが大きくなり、エンティティAのサイズは2倍かそれ以上ですか?
  3. 統計情報の検索には他にどのような方法がありますか。アプリエンジンのクラウドコンソールに他のツールがありますか?これをプログラムで行うことはできますか?

ありがとうございます。

答えて

0

以下のコードを実行すると、指定したインデックスのサイズを確認できます。

from google.appengine.api import search 

for index in search.get_indexes(fetch_schema=True): 
    logging.info("index %s", index.storage_usage) 
# pseudo code 
amount_of_items_to_add = 100 
x = 0 
for x <= amount_of_items_to_add: 
    search_api_insert_insert(data) 
    x+=1 
#rerun for loop to see how much the size increased 
for index in search.get_indexes(fetch_schema=True): 
    logging.info("index %s", index.storage_usage) 

このコードは明らかに完全な作業例はありませんが、いくつかのデータを受け取り、検索APIに挿入して使用するストレージが増加どのくらい返す簡単な方法を構築することができるはずです。

0

エンティティごとに異なる数のエンティティとインデックスされたプロパティの数についてテストを実行しました.APIによって報告されたインデックスの見積もりの​​伸びが指数関数的ではなく線形です。 しかし、最も興味深い事実は、レポートされたサイズはリアルタイムではほとんどありませんが、インデックスから文書を削除した後、更新には12,24時間かかります。

関連する問題