开发者社区> 问答> 正文

表格存储的数据操作的建议有哪些



拆分属性列访问热度差异大的表


如果行的属性列较多,但是每次操作只访问一部分属性列,可以考虑将表拆分成多个表,将不同访问频率的属性列放到不同的表中。
例如,在商品管理系统中,每行存放商品数量、商品价格和商品简介。商品数量和商品价格均为占用空间较小的 Integer 类型,商品简介是 String 类型占用空间较大。大多数操作仅更新商品数量与商品价格,而不修改商品简介,所以商品简介的修改频率较低。这时候可以考虑将这个表拆分为两个,一个表存储商品数量和商品价格,另一个表存储商品简介。

压缩较大的属性列文本


如果属性列是较大的文本,应用程序可以考虑将属性列压缩之后再以 Binary 类型存储到表格存储中。这样做节省了空间、减少了访问的服务能力单元消耗,从而可以降低使用表格存储的成本。

将数据量超出限制的属性列存储到 OSS 中


表格存储限制单个属性列值不超过 2 MB。如果需要存储单个值超过 2 MB 的需求,如图片、音乐、文件等,可以使用 OSS(Object Storage Service)对其进行存储。[backcolor=transparent] OSS 是阿里云提供的开放存储服务,用以应对海量数据的存储和访问。OSS 的存储单价比表格存储更低,更适合存储文件。
如果应用程序不方便使用 OSS,可以将超过 2 MB 的单个值拆分成多个行,存储在表格存储中。

错误重试加入时间间隔


表格存储可能会遇到软硬件问题,导致应用程序的部分请求失败,并返回可重试的错误(请参见 表格存储的错误信息)。建议应用程序遇到此类错误时等待一段时间后再进行重试,每两次重试之间应该加大时间间隔或引入随机时间间隔,避免重试的请求堆积到一个时间点上引发雪崩效应。

展开
收起
云栖大讲堂 2017-10-25 11:21:34 1659 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载