阅读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 使用条件更新__最佳实践_表格存储-阿里云