閱讀948 返回首頁    go 阿裏雲


數據操作篇__最佳實踐_表格存儲-阿裏雲

以下將會提供一些關於表格存儲的數據操作的建議。

拆分屬性列訪問熱度差異大的表

如果行的屬性列較多,但是每次操作隻訪問一部分屬性列,可以考慮將表拆分成多個表,將不同訪問頻率的屬性列放到不同的表中。例如,在商品管理係統中,每行存放商品數量、商品價格和商品簡介。商品數量和商品價格均為占用空間較小的 Integer 類型,商品簡介是 String 類型占用空間較大。大多數操作僅更新商品數量與商品價格,而不修改商品簡介,所以商品簡介的修改頻率較低。這時候可以考慮將這個表拆分為兩個,一個表存儲商品數量和商品價格,另一個表存儲商品簡介。

壓縮較大的屬性列文本

如果屬性列是較大的文本,應用程序可以考慮將屬性列壓縮之後再以 Binary 類型存儲到表格存儲中。這樣做節省了空間、減少了訪問的服務能力單元消耗,從而可以降低使用表格存儲的成本。

將數據量超出限製的屬性列存儲到 OSS 中

表格存儲限製單個屬性列值不超過 2 MB 。如果需要存儲單個值超過 2 MB 的需求,如圖片、音樂、文件等,可以使用 OSS(Object Storage Service)對其進行存儲。OSS 是阿裏雲提供的開放存儲服務,用以應對海量數據的存儲和訪問。OSS 的存儲單價比表格存儲更低,更適合存儲文件。

如果應用程序不方便使用 OSS,可以將超過 2 MB 的單個值拆分成多個行存儲在表格存儲中。

錯誤重試加入時間間隔

表格存儲可能會遇到軟硬件問題,導致應用程序的部分請求失敗並返回可重試的錯誤(請參見使用表格存儲的 API)。建議應用程序遇到此類錯誤時等待一段時間後再進行重試,每兩次重試之間應該加大時間間隔或引入隨機時間間隔,避免重試的請求堆積到一個時間點上引發雪崩效應。

最後更新:2016-11-30 17:49:21

  上一篇:go 表操作篇__最佳實踐_表格存儲-阿裏雲
  下一篇:go 使用條件更新__最佳實踐_表格存儲-阿裏雲