开发者社区 > 数据库 > 正文

怎么解决对顺序性的要求呢?

怎么解决对顺序性的要求呢?

展开
收起
vncamyi27xznk 2022-01-11 15:29:37 283 0
1 条回答
写回答
取消 提交回答
  •  方法一:业务设计上避免对全局顺序性的要求,改为局部顺序性,比如上面的例子,在某个MachineIp 下,数据仍是按照Timestamp 有序的。即先通过一个字段来打散数据,再按照某种顺序查询。  方法二:业务上采用分桶的方式,分散写入压力,在读取时从每个桶查询再合并。比如采用16 个桶,每次写入时把时间对16 取模,余数放到第一个主键列(0 到15),时间放到第二个主键列。在读取时,从每个桶读取后合并即可。这种方式可以把压力分散到不同的桶上,能有多么分散取决于有多少个桶。在读取时需要对所有桶进行读取,可以采用并行读取的方式进行加速。  方法三:表上仍然采用均匀的方式写入数据,给表建立一个多元索引,通过多元索引进行Timestamp 等字段的有序查询。多元索引在数据分布上本身会进行一次散列,分成多个分片,查询时自动从多个分片合并数据。

    答复内容摘自《玩转 Tablestore 入门与实战》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=7983

    2022-01-11 16:39:49
    赞同 展开评论 打赏
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载