2020年下半年高级架构设计师​论文

2020年11月7日我参加了高级架构设计师的考证,以前在私企工作时,时间都比较紧,大家都不太会去关注一系列的考证。2018年到了国企工作,有一定的自由时间,为了不在游戏和头条中荒废度日,我决定去考证,一来可以申请减免个税,二来可以加强理论知识的掌握,给自己充充电。

 

      本次高级架构设计师考证下午论文题目之一:论数据库分库常用算法hash算法,一致性算hash法,range分段算法。考后查询了一下资料,我居然答对了,希望自己能过吧。

 

 1:什么是hash算法

      hash算法是指对某一字段取hash值来确定你的数据应该落在那个分库上,常用的hash算法就是对某一字段求模取余。

 

 1.1:hash算法优点

第一:数据分布相对比较均匀,不容易出现热点和并发访问的瓶颈。

第二:算法简单,一眼就知道数据落入那个分库。使用分库字段进行范围查

          找时,可快速定位分库进行快速查询,有效避免跨分库查询的问题。

 

 1.2:hash算法缺点

第一:后期分库集群扩容时,需要迁移旧的数据很难,往往需要重新计算和

          移动数据,数据抖动太厉害。

第二:容易面临跨库查询的复杂问题(解决这个问题的较好处理方式是针对

          业务的一个唯一标记做hash,保证涉及这个业务的所有数据都落入

          同一个分库来避免跨库操作)。

  

 2:什么是一致性hash算法

      一致性hash算法描述起来比较复杂,大家可以百度下“一致性hash环”,了解其原理也就了解一致性hash算法。本文主要分析下优缺点

2.1:一致性hash算法优点

第一:数据冷热分别均匀,不会出现数据库瓶颈问题

第二:数据集群扩展或者分库宕机,造成的数据抖动较小

 

3:什么是range分段算法

      range分段算法比较简单,就是针对某一数值字段做分段,比如1-1000落入分库1,1001-2000落入分库2,2001-3000落入分库3.....

 

3.1:range分段算法优点

第一:算法简单,一眼就知道数据落入那个分库,使用分库字段进行范围查

         找时,连续分库可快速定位分库进行快速查询,有效避免跨分库查询

         的问题。

第二:表大小可控

第三:利于水平扩展

 

3.2:range分段算法缺点

     缺点亦很明显,数据冷热分布不均衡,热点数据容易产生瓶颈问题。例如按时间字段分库,有些分库存储最近时间段内的数据,可能会被频繁的读写,而有些分库存储的历史数据,则很少被查询。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值