2017-02-16 37 views
1

我建了一個Twitter的克隆,以及存儲賈斯汀·比伯的個人資料(一些很有名氣的人有很多的追隨者)被讀出令人難以置信的常行。存儲它的服務器似乎超載。我可以爲該行購買更大的服務器嗎?順便說一句,它不會經常更新。單列熱點

回答

1

簡短的回答是,雲扳手不提供不同的服務器配置,除了增加你的節點數量。

如果你不介意閱讀陳舊的數據,一個方法來增加讀取吞吐量是隻讀的,bounded-staleness交易使用。這將確保您對這些行的讀取可以從擁有這些行的分割的任何副本中提供。

如果你想走得更遠,你可以考慮數據建模的權衡,使得寫入更加昂貴,但讀取便宜。這樣做的一種方法是手動分割該行(例如,通過使用不同的主鍵創建它的N個副本)。當你想閱讀這一行時,客戶可以隨便選一個閱讀。當你更新它時,只需在單個事務中原子地更新所有副本。請注意,這種方法在實踐中很少使用,因爲很少有工作負載真正具有您所描述的特性。

+0

IIUC Twitter實際上會在您發帖時寫入您的每個追隨者的提要。然後,熱點行將是跟隨許多同時發佈的人的人,因爲所有這些更新都會粉碎。比Bieber的粉絲少得多或不太可能。 – Robert