游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

分库分表技术及技术方案

  一、分库分表的必要性
  分库分表技术的使用,主要是数据库产生了瓶颈,如单库的并发访问或单表的查询都超出了阈值。对系统使用造成一定的影响,不得已而产生的技术。
  通过分库分表技术来解决此类问题,但正因为使用此技术,会产生ACID一系列的问题,各类中间件解决此类问题各有各的优势。
  提示:如场景无必要,千万不要使用分库分表。
  二、分库分表的思路
  1、垂直区分
  垂直分库:从业务角度,一个库分成多个库,如把订单和用户信息分成两个库来存储。这样的好处就是可以微服务了。每块的业务单独部署,互不影响,通过接口去调用。
  图1单库到多库
  垂直分表:把大表分成多个小表,如热点数据和非热点数据分开,提高查询速度。
  2、水平区分
  水平分表:同一业务如数据量大了以后,根据一定的规则分为不同的表进行存储。
  图2单表到多表
  水平分库:如订单分成多个库存储,分解服务器压力。
  以上一般来说,垂直分库和水平分表用的会多些。
  三、分库分表的原理分析
  分库分表常用的方案:Hash取模方案和range范围方案;
  路由算法为最主要的算法,指得是把路由的Key按照指定的算法进行存放;
  1、Hash取模方案
  根据取余分配到不同的表里。要根据实际情况确认模的大小。此方案由于平均分配,不存在热点问题,但数据迁移很复杂。
  图3hash方案
  2、Range范围方案
  range根据范围进行划分,如日期,大小。此方案不存在数据迁移,但存在热点问题。
  图4range方案
  四、分库分表的技术选型
  1、技术选型
  解决方案主要分为4种:MySQL的分区技术、NoSql、NewSQL、MySQL的分库分表。
  (1)mysql分区技术:把一张表存放在不同存储文件。由于无法负载,使用较少。
  (2)NoSQL(如MongoDB):如是订单等比较重要数据,强关联关系,需约束一致性,不太适应。
  (3)NewSql(具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性):如TiDB可满足需求。
  (4)MySQL的分库分表:如使用mysql,此种方案为主流方式。
  2、中间件
  解决此类问题的中间件主要为:Proxy模式、Client模式。
  (1)Proxy模式
  把SQL组合、数据库路由、执行结果合并等功能全部存放在一个代理服务中,而与分库分表相关的处理逻辑全部存放在另外的服务中,这种设计模式的优点是对业务代码无侵入,业务只需要关注自身的业务逻辑即可。
  图5proxy模式
  (2)Client模式
  把分库分表相关逻辑存放在客户端,一版客户端的应用会引用一个jar,然后再jar中处理SQL组合、数据库路由、执行结果合并等相关功能。
  图6client模式
  (3)中间件的比较
  图7中间件
  由于Client模式少了一层,运维方便,相对来说容易些。
  五、分库分表的实践
  根据容量(当前容量和增长量)评估分库或分表个数选key(均匀)分表规则(hash或range等)执行(一般双写)扩容问题(尽量减少数据的移动)。
  在这里我们选用中间件sharejdbc。
  1、引入maven依赖dependencygroupIdio。shardingspheregroupIdshardingjdbccoreartifactIdversion{latest。release。version}versiondependency
  2、springboot规则配置
  行表达式标识符可以使用{。。。}或{。。。},但前者与Spring本身的属性文件占位符冲突,因此在Spring环境中使用行表达式标识符建议使用{。。。}。sharding。jdbc。datasource。namesds0,ds1sharding。jdbc。datasource。ds0。typeorg。apache。commons。dbcp。BasicDataSourcesharding。jdbc。datasource。ds0。driverclassnamecom。mysql。jdbc。Driversharding。jdbc。datasource。ds0。urljdbc:mysql:localhost:3306ds0sharding。jdbc。datasource。ds0。usernamerootsharding。jdbc。datasource。ds0。passwordsharding。jdbc。datasource。ds1。typeorg。apache。commons。dbcp。BasicDataSourcesharding。jdbc。datasource。ds1。driverclassnamecom。mysql。jdbc。Driversharding。jdbc。datasource。ds1。urljdbc:mysql:localhost:3306ds1sharding。jdbc。datasource。ds1。usernamerootsharding。jdbc。datasource。ds1。passwordsharding。jdbc。config。sharding。tables。torder。actualdatanodesds{0。。1}。torder{0。。1}sharding。jdbc。config。sharding。tables。torder。tablestrategy。inline。shardingcolumnorderidsharding。jdbc。config。sharding。tables。torder。tablestrategy。inline。algorithmexpressiontorder{orderid2}sharding。jdbc。config。sharding。tables。torder。keygeneratorcolumnnameorderidsharding。jdbc。config。sharding。tables。torderitem。actualdatanodesds{0。。1}。torderitem{0。。1}sharding。jdbc。config。sharding。tables。torderitem。tablestrategy。inline。shardingcolumnorderidsharding。jdbc。config。sharding。tables。torderitem。tablestrategy。inline。algorithmexpressiontorderitem{orderid2}sharding。jdbc。config。sharding。tables。torderitem。keygeneratorcolumnnameorderitemidsharding。jdbc。config。sharding。bindingtablestorder,torderitemsharding。jdbc。config。sharding。broadcasttablestconfigsharding。jdbc。config。sharding。defaultdatabasestrategy。inline。shardingcolumnuseridsharding。jdbc。config。sharding。defaultdatabasestrategy。inline。algorithmexpressionds{userid2}
  3、创建DataSource
  通过ShardingDataSourceFactory工厂和规则配置对象获取ShardingDataSource,ShardingDataSource实现自JDBC的标准接口DataSource。然后即可通过DataSource选择使用原生JDBC开发,或者使用JPA,MyBatis等ORM工具。setDataSource(targetDataSources,DataSourceType。SHARDING。name(),shardingDataSource);

CBA三消息前天津外援已解约,广东旧将伤病困扰,梅奥谈CBA大家好呀,我是北柠,各位小伙伴们要养成先赞后看的习惯哦!这个赛季CBA联赛和往年最大的不同就是,在联赛进行的过程当中,依旧有很多球队还没有外援可以使用,原因非常简单,由于……朱珠十部精彩作品,你看过几部?朱珠,1984年7月19日出生于北京市,中国内地女演员、歌手、主持人。2005年,参加MTV举办的VJ大赛获得北京赛区冠军,自此加入MTV全球音乐电视台,开始主持音乐节目《MT……颜值大比拼!2022下半年绝对不能错过的三款手机俗话说人靠衣装马靠鞍,在盛行内卷的快时代,各大手机厂商想要争得一席之位,手机的颜值必须要足够有特色才能吸引更多的消费者关注。那么小编今天就来给大家介绍三款绝对不能错过的高颜值手……谁说5G不如4G?手机网速慢,大有可能没开启这个模式明明使用的是5G网络,但总感觉没有4G的网速快,不少朋友都表示产生了这样的错觉,但实际上果真如此吗?针对这个问题,接下来我们一起了解下为什么大家说5G不如4G!原因……燎原战火一触即发!极无双2燎原测试明日开启天下名将,极者无双!国韵革新无双动作手游《极无双2》将于明日(9月1日)上午10点正式开启燎原测试,如果你是ARPG无双割草爱好者,如果你是铁杆三国迷,请不要错过这一款顶级品质……别乱吃!食物也有四气五味,教你吃什么养好支气管咱们中国人的饮食文化可谓源远流长,拥有极为丰富的经验和方法,堪称为世界饮食文化中的瑰宝。食补又成为了当代大家受欢迎的一种养生的生活方式。中药有四气五味之说,食物一样也有四……魏晨奶奶去世,享年99岁,他晒照发文悼念,背后原因太心酸11月9日,魏晨在社交平台上晒照发文,称自己的奶奶去世,享年99岁。魏晨表示会谨遵奶奶的教诲,愿她在天堂一切安好。从魏晨晒出的照片来看,他的奶奶面目慈善,一双手布满老茧,……徒步考察中国革命史日记第220221222223225226《徒步考察中国革命史》日记1987。8。11989。10。1《徒步考察中国革命史》日记第220、221、222、223、224、225、226天休息了几天,反而不适……(新华全媒头条新时代中国调研行非凡十年看优势图文互动)冰雪盛(配本社同题文字稿)这是2021年1月19日拍摄的北京2022年冬奥会延庆赛区国家雪车雪橇中心(无人机照片)。新华社记者张晨霖摄2022年2月5日,中国选手任子威(……中国最年轻的5位奥运冠军,全红婵并非最小的奥运会是体育赛事中关注度最高的之一,在那短短的半个多月的时间,全时间的焦点都放在奥运赛场上。运动员们也拿出了最强的实力,渴望在这个舞台上证明自己。而金牌只有一块,一些运动员终其……年龄大不是借口!马龙承担重任展现担当,刘诗雯无赛可打怪自己马龙被重用再次显出刘诗雯的尴尬!进入7月份之后,WTT欧洲系列赛即将在匈牙利布达佩斯拉开帷幕,日前国乒也是公布了参赛阵容,其中12名球员将会参加到球星赛的争夺,8名球员将会参加……初代数调式收音机的代表之一,飞利浦D2924收音机详情报告一、前言1981年,飞利浦公司发布了一款带有数字锁相环频率合成器、微处理器控制的一次变频超外差电路的收音机,也就是本文的主角D2924。这款新品收音机被看作飞利浦AL99……
治疗高血压的九大谣言第一就是保健品或者保健食物替代降压药。第二是降压药不敢吃会成瘾,一吃就吃一辈子第三就是降血压,伤肝肾,不敢吃药第四,高血压每年都要输液保护血管儿。第五就……NASA担忧试飞失败损坏发射台星舰轨道飞行卡壳全球首富马斯克的太空公司SpaceX正全力赶工火星殖民舰星舰(Starship),盼能尽快完成轨道飞行,但过程可说是一波三折。除了在德州的主要基地因监管程序延长导致整体计划延迟……清华大学超材料集成石墨烯太赫兹光电探测器成果简介太赫兹波的频谱和偏振态可以传达有关物理相互作用和材料特性的重要信息。用于有效捕获这些量的紧凑和小型化片上平台正在被广泛研究,因为它们在太赫兹技术的重要应用(如原位……他是姚明身边的带刀侍卫,最强一季场均8分8板化身八贤王老火箭球迷们肯定都无比怀念曾经那个全民皆兵的火箭队,后卫们出手果断、反击犀利,前锋们有突有投、中锋们防守积极、抢板有力。真的非常怀念那支火箭。在这里有一个名不见经传的1米……浪姐五公又淘汰4人,郑秀妍王心凌成炮灰,于文文实惨还记得《乘风破浪》第一次公演结束,吴莫愁、黄小蕾被淘汰。黄小蕾还好,和阿Kenn老师搭档主持衍生节目《突袭训练室》,她不拘小节的个性真的很适合这档节目。而吴莫愁则逐……四川最具代表性的五道菜,吃过这五种的,你就是个地道的四川人美食,对于我们来说,永远都是一个诱惑。许多小伙伴们在出差或者旅行的时候每到一个地方,总会率先去品尝一下当地的一些著名小吃和有名的菜肴,以此来感受不同的地域那些不同的饮食文化。而……人长得不胖,肚子却很大,是脾虚吗?中医教你一个简单实用的方法大家好,我是崔主任,你们身边是否有这样一类人,看起来不胖,胳膊腿都不胖,但就是肚子特别的大,这是怎么一回事呢?今天崔主任就来教你一个简单又实用的方法,让你告别大肚子。中医……特斯拉涨价,维权车主赶紧去把差价补足中国的特斯拉车主还在因降价而筹划下一次维权活动时,特斯拉却出人意料地宣布了涨价。2月10日,特斯拉中国官网突然发布消息称,在中国市场的ModelY后驱版车型涨价2000元……王曼昱落选球星赛是因为刘国梁针对?陈梦为什么每次都要躺枪?今天刷新闻,在知名营销号二郎鬼侃球(不是骂人,以免侵权,下同)的文章下,有一位网名叫博学的露珠的网友说,王曼昱得了世乒赛单打冠军后,(刘国梁)就一直针对她,因为没让陈梦得。笔者……菲律宾移民局签证延期费用是多少详细说明华商签证4月20日讯:我们在入境菲律宾以后都是需要正常的去移民局办理办理签证续签手续的,如果没有及时去做续签手续的话,都会产生高额的罚款费用,那么菲律宾移民局签证延期费用是多少……妈妈,我不想做一个善良的孩子,尤其善良的娃,往往被欺负大家好,我是棉花糖妈妈妈妈,我不想做一个善良的孩子,女儿放学回来,一脸委屈地跟我说。原来,女儿在学校有一个好朋友,女儿新买的文具经常被好朋友借用,女儿也是愿意借的,……为老读天下2023年积极的财政政策主要有哪些内容?财政部答问2023年积极的财政政策主要有哪些内容?财政部答问来自:周到00:0003:561月30日,财政部召开2022年度财政收支情况网上新闻发布会,介绍了2022年度财政收支情……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网