&
&现如今,创业趋势增强,为了打造更好的创业氛围,当地给予的扶持计划是多而丰厚的。同时渴望海内外高层次人才,也推出了诸多的人才计划。
近期有诸多高层次人才大赛拉开序幕,大赛奖金以及政府扶持计划都是极为诱人的。
也正因通过
【创成汇平台】这里汇聚了海内外各高层次人才大赛及诸多投融资界的名流。让这些创业大赛现场几乎成为了项目方与投资方的交流会,很多优质的项目在大赛还没评选结束,就已经有投资方进行对接。同时各大优质的项目负责人在大赛中激烈碰撞,更是学习到彼此的精华。
就例如
【创成汇】南京徐庄高新区高层次人才引进计划,申报入选后最高可获得150万元的初创扶持资金,并将根据项目的实际需要提供创业场地、人才公寓、税利支持、高额贷款贴息等优惠支持.
【创成汇其他赛事推荐】
人才引进计划(图1)" style="max-width:100%!important;height:auto!important;" alt="南京徐庄高新区高层次人才引进计划(图1)" src="https://www.sh112.com/000/765.jpg" width="666" />
&
①(第六届)姑苏创新创业精英团队大赛,最高奖金15万元,为获奖落地项目提供种子资金、贷款,投融资对接等服务;
②寿光市第二届高层次人才创业大赛,最高奖金10万元,落户综合资助300万元;
③新昌“天姥英才”第二届高层次人才创新创业大赛,最高奖金30万元,获奖落地项目最高资助资金500万元这些都是
【创成汇】平台上的创业大赛,也是整合了优质的资源,为创业者提供创赛、创投、品宣、政策解说、企业服务资源等五大板块。
目前更多的是赛事活动,在征集项目的优质程度以及完成的执行力都是得到当地政府的肯定。还有一个20000+的企业项目资源也是投资人最为关注的版块。
前不久发过两篇关于分表的文章:
•一次分表踩坑实践的探讨
•分表后需要注意的二三事
从标题可以看得出来,当时我们只做了分表;
还是由于业务展,截止到现在也做了分库,目前看来都还比较顺利,所以借着脑子还记得清楚来一次复盘。
先来回顾下整个分库分表的流程如下:
整个过程也很好理解,基本符合大部分公司的一个发展方向。
很少会有业务一开始就会设计为分库分表,虽说这样会减少后续的坑,但部分公司刚开始都是以业务为主。
直到业务发展到单表无法支撑时,自然而然会考虑分表甚至分库的事情。
于是本篇会作一次总结,之前提过的内容可能会再重复一次。
分表
首先讨论下什么样的情况下适合分表?
根据我的经验来看,当某张表的数据量已经达到千万甚至上亿,同时日增数据量在 2% 以上。
当然这些数字并不是绝对的,最重要的还是对这张表的写入和查询都已经影响到正常业务执行,比如查询速度明显下降,数据库整体 IO 居高不下等。
而谈到分表时我们着重讨论的还是水平分表;
也就是将一张大表数据通过某种路由算法将数据尽可能的均匀分配到 N 张小表中。
Range
而分表策略也有好几种,分别适用不同的场景。
首先第一种是按照范围划分,比如我们可以将某张表的创建时间按照日期划分存为月表;也可以将某张表的主键按照范围划分,比如 【110000】在一张表,【1000120000】在一张表,以此类推。
这样的分表适合需要对数据做归档处理,比如系统默认只提供近三个月历史数据的查询功能,这样也方便操作;只需要把三月之前的数据单独移走备份保存即可)。
这个方案有好处也有弊端:
•好处是自带水平扩展,不需要过多干预。
•缺点是可能会出现数据不均匀的情况(比如某个月请求暴增)。
Hash
按照日期这样的范围分表固然简单,但适用范围还是比较窄;毕竟我们大部分的数据查询都不想带上时间。
比如某个用户想查询他产生的所有订单信息,这是很常见的需求。
于是我们分表的维度就得改改,分表算法可以采用主流的 hash+mod 的组合。
这是一个经典的算法,大名鼎鼎的 HashMap 也是这样来存储数据。
假设我们这里将原有的一张大表订单信息分为 64 张分表:
这里的 hash 便是将我们需要分表的字段进行一次散列运算,使得经过散列的数据尽可能的均匀并且不重复。
当然如果本身这个字段就是一个整形并且不重复也可以省略这个步骤,直接进行 Mod 得到分表下标即可。
分表数量选择
至于这里的分表数量(64)也是有讲究的,具体设为多少这个没有标准值,需要根据自身业务发展,数据增量进行预估。
根据我个人的经验来看,至少需要保证分好之后的小表在业务发展的几年之内都不会出现单表数据量过大(比如达到千万级)。
我更倾向于在数据库可接受的范围内尽可能的增大这个分表数,毕竟如果后续小表也达到瓶颈需要再进行一次分表扩容,那是非常痛苦的。
&