当前位置: 首页 > news >正文

制作免费制作个人网站怎么做小型公众号开发

制作免费制作个人网站怎么做,小型公众号开发,手机app界面设计网站,asp 微信网站“开局一问#xff1a;分库分表行为中#xff0c;一致性哈希到底用处大不大#xff1f;装B脑图现在是大数据的时代#xff0c;其中一个体现就是数据量非常庞大。当然大数据的概念绝非是数据量就可以定义的#xff0c;我自己给大数据下的定义是#xff1a;无处不在的大量数… “开局一问分库分表行为中一致性哈希到底用处大不大装B脑图现在是大数据的时代其中一个体现就是数据量非常庞大。当然大数据的概念绝非是数据量就可以定义的我自己给大数据下的定义是无处不在的大量数据这些数据是要经过收集加工转化然后输出具有业务意义的数据比如现在人物画像。回归主题那到底什么样的场景下才开始分库分表呢数据量大存储压力大提高写操作IO提高读操作IO“这里多啰嗦一句如果你的分库分表存储最终还是落在一个物理磁盘上其实整体IO的提高并不明显应该把分出的库分区表散落在多个物理磁盘利用并行IO来提高性能。设计到分库分表策略我建议选择有业务意义的键值作为分的依据。举个例子拿用户信息来说如果业务中多数是根据用户ID来取用户信息的场景那应该利用用户id作为分的策略主键。接下来的部分就以用户信息的场景来举例说明。分库分表行为属于变动性行为因为随着数据量的不断增大分库分表的策略会随着改变最简单的例子现在分了10个表当数据量到达10个表的巅峰容量时候就需要继续分这就是变动因子。最致命的是这个变动因子会影响已有数据的定位。现在有很多缓存的应用场景和分库分表思想类似但是却又有本质的区别因为缓存数据不需要持久化所以就算是定位错了重新加载即可数据库可就不一样了简单哈希有用吗分库分表最简单的策略就是对业务数据键取模%以余数来作为导向。带来的问题也显而易见数据很有可能分布不均匀数据量迁移量大所以真实的落地项目中用简单哈希分库分表的很少这就诞生了简单哈希无用论。一致性哈希一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希DHT实现算法设计目标是为了解决因特网中的热点(Hot spot)问题。一致性hash算法提出了在动态变化的Cache环境中断定哈希算法好坏的四个定义平衡性(Balance)平衡性是指哈希的结果可以尽量分布到全部的缓冲中去这样可使得全部的缓冲空间都获得利用。不少哈希算法都可以知足这一条件。单调性(Monotonicity)单调性是指若是已经有一些内容经过哈希分派到了相应的缓冲中又有新的缓冲加入到系统中。哈希的结果应可以保证原有已分配的内容能够被映射到原有的或者新的缓冲中去而不会被映射到旧的缓冲集合中的其余缓冲区。分散性(Spread)在分布式环境中终端有可能看不到全部的缓冲而是只能看到其中的一部分。当终端但愿经过哈希过程将内容映射到缓冲上时因为不一样终端所见的缓冲范围有可能不一样从而致使哈希的结果不一致最终的结果是相同的内容被不一样的终端映射到不一样的缓冲区中。这种状况显然是应该避免的由于它致使相同内容被存储到不一样缓冲中去下降了系统存储的效率。分散性的定义就是上述状况发生的严重程度。好的哈希算法应可以尽可能避免不一致的状况发生也就是尽可能下降分散性。负载(Load)负载问题其实是从另外一个角度看待分散性问题。既然不一样的终端可能将相同的内容映射到不一样的缓冲区中那么对于一个特定的缓冲区而言也可能被不一样的用户映射为不一样 的内容。与分散性同样这种状况也是应当避免的所以好的哈希算法应可以尽可能下降缓冲的负荷。看完上边这几条比较官方的介绍应该大体了解了一致性哈希的特性用作分库分表场景下也无可厚非对比简单哈希它要好很多。其实一致性哈希算法也是使用取模的方法但是它把分母扩大到了2^32纵观所有的业务场景能把数据库表分到2的32次方个的也是个“人才”了。一致性哈希把2的32次方想象成一个圆形这个圆形上有2^32个点。具体的一致性哈希请移步这里“分布式缓存一致性哈希虽然解决了一些问题但是数据倾斜问题依然存在为了使数据最大程度上平均分布所以引入了虚拟哈希节点的玩法对同一个物理服务器节点通过不同的哈希算法或者其他手段得到多个不同的哈希值均匀分布在哈希环上。“其实一致性哈希环点的个数没有必要是2的32次方个我觉得只要足够大得支撑将来业务的扩展即可同时能满足最大平均分配的原则。共识算法共识算法在分库分表的场景中很少有人提出它现在广泛用于分布式系统中像喜闻乐见的PaxisRaft都属于共识算法。分库分表业务场景下就算了一致性哈希做到极致当服务器节点增加或者减少的时候总有需要数据需要迁移只不过是多少的问题。那有没有办法不用迁移数据呢首先说明一点数据库不像缓存服务一样可以随时减少节点。数据库是有状态的一般只增不减。利用共识算法我认为在只增加节点的情况下是可以做到不迁移数据的。因为共识算法的特性就是一个值达成一致之后这个值就不会变化了。假设现在对用户信息表已经分了5张表用户id为1的会落在表1id为2的会落在表2.....依此类推这里可以先不考虑一致性哈希虚拟节点因为原理类似当增加分表6的时候按照简单哈希原则id为6的用户信息应该在表6中但是现实情况是在表1中按照以往的经验这条数据是需要迁移的。但是引入了共识算法之后id为6的用户数据被算法认为仍然在表1中因为已经达成了共识。前提是你需要开发一套共识算法服务来保证为什么很少有人这么用呢也许是共识算法门槛过高的原因但是它却能真正的解决我们的问题。自增型数据以上的说明都是针对散乱型数据而言其实还有一种log型数据简单来说就一直追加型的数据比如操作日志这种数据的典型特点就是时间有序这样的数据进行分库分表完全可以按照时间维度来进行的比如可以设计一个月为一个表类似table_202109写在最后无论哪种分表方式都避免不了热点问题就像微博一个明星出轨了这条数据就会成为热点而这一条数据只能存储于一个表中。解决这种热点问题从来都不能依靠数据库像缓存CDN等解决方案才是正解。END往期回顾#【另类见解】那些要保证缓存和数据库数据一致性的最后怎么了# 愚蠢的领导才会用程序员祭天#【另类见解】秒杀并非高不可攀# 我把负载均衡讲出了花领导却不给我涨工资分享收藏点赞在看
http://www.pierceye.com/news/575140/

相关文章:

  • 网站研发进度表下载网站建设亿码酷适合5
  • 对网站域名销户怎么做舆情监控都有哪些内容
  • 南宁做网站优化企业网站开发合同
  • 网站做京东联盟公司注册网上核名入口
  • jsp做的零食网站下载一分钟做网站
  • 营销网站竞品分析报告上海平面网站
  • 网站建设 邦机票网站制作
  • 网站开发从整体上用vps刷网站流量要怎么做
  • 搭建一个网站 优帮云网站无法访问的原因
  • 卖印花图案设计网站北京管庄网站建设公司
  • 北京石景山网站建设外贸网络推广经验
  • 好看的网站源码手机网站在线生成
  • 响应式网站设计的主页网站定制合同
  • 做查询网站有哪些杭州市建设部门网站
  • 免费做外贸的网站制作logo网站
  • 网站改版意义服务营销案例100例
  • 服装厂做1688网站效果好不好做lol数据的网站有哪些
  • 棋牌代理平台网站优化大赛
  • 网站制作视频教程新手必看深圳建网站哪个公
  • 做网站的公司盐城网站排名优化培训
  • 营销型网站搭建公司3d云打印网站开发
  • 网站建设首选沈阳高端网站建设搬家公司收费标准
  • 网站建设需要多少钱知乎企业管理软件行业未来的发展
  • 网站建设与管理 自考百度网站地图生成
  • 在线优化网站源码站
  • 中企动力做网站一次性付款零基础学室内设计
  • 企炬网站wordpress会员付费插件
  • 在哪里购买虚拟空间建设网站网页设计培训机构培训费
  • 网站建设的色彩搭配做网站赚钱吗 怎么赚
  • 门头沟富阳网站建设西安企业电话