2012-04-15 124 views
0
  1. 在高複製數據存儲的Usage Notes中,它表示實體組每秒鐘限制爲1次寫入。我對此有點困惑。在另一篇文章的Understanding Write Costs部分中,它表明只需存儲一個新的實體可能需要14次寫入。第一篇文章中提到的每秒1次寫入是否與第二篇文章中的寫入相同?如果是這樣,則需要10秒來存儲基本實體?我相信這不可能是正確的?谷歌表示,沒有祖先存儲的實體(作爲根實體)具有最終的一致性。這是否意味着如果一個用戶在沒有祖先的情況下向數據存儲區添加新實體,如果我在之後立即執行查詢,則不能保證它可用。如果是這樣,反正「最終」多久?它可以是幾個小時,還是他們只是說幾秒鐘?Google App Engine實體組寫入限制

回答

2
  1. 寫入極限是1名實體寫入到每秒的數據存儲。寫入成本是每個實體可能需要更新的索引數量,它們是不同的「寫入」 - 它們可能因實體而異,並且與「每秒寫入1次」寫入相比是單獨的測量。

  2. 這是正確的。但請注意,有幾個特定情況下結果非常一致。通過鍵獲取單個實體的GET查詢是非常一致的。祖先查詢是數據存儲強烈一致的另一種情況。 「最終」意味着不要指望它。通常情況下,這是幾秒鐘的時間,但在特殊情況下,比如BigTable平板電腦越來越大,需要拆分,或者平板電腦停機並需要更換,最終可能意味着更長時間。我在郵件列表上看到了一些關於查詢返回舊結果幾個小時的投訴,但這並不常見。

+0

「1個實體每秒寫入數據存儲區」..你的意思是每個實體組每秒寫入1個實體嗎?因此,我可以在一秒鐘內將20個新實體添加到數據存儲中,而不是添加到同一個實體組中,對嗎? – Snowman 2012-04-15 04:10:34

+0

是的,沒錯。 – dragonx 2012-04-15 04:36:41

1
  1. 我不是這個完全確定(我會等待尼克·約翰遜權衡),但我相信,他們指的是1個事務提交每秒/寫。數據存儲上的事務鎖在實體組級別上發揮作用,所以我猜測可以同時工作的(分佈式)事務數量受到限制。

  2. 我認爲您的理解是正確的 - 這源於HR數據存儲將數據寫入幾個不同的數據存儲,並在最後將其複製到所有其他數據存儲的事實。您的第二個查詢可能會發送到尚未獲得更新的數據存儲。不過,從我看到的,'最終'只是幾秒鐘,有時甚至更少。儘管如此,分佈式體系結構的重點在於不依賴於時間間隔。

相關問題