"

                                        ✅万博manbext|体育首页✅㊣全球最大,最信誉的线上综合平台✅万博manbext|体育首页✅千款游戏,砖石级服务,万博manbext|体育首页,欢迎各界玩家加入体验!

                                                                              "
                                                                              中培教育IT资讯频道
                                                                              您现在的位置:万博manbext|体育首页 > IT资讯 > 数据库 > 数据库切分的五大原则

                                                                              数据库切分的五大原则

                                                                              2021-04-25 14:41:50 | 来源:中培企业IT培训网

                                                                              随着现在互联网应用的普及,使得数据库的负载非常高万博manbext|体育首页,而复杂的数据访问与储存问题成了不少企业组织的大难题。数据库切分是系统中最关键的核心环节也是瓶颈万博manbext|体育首页万博manbext|体育首页。数据库切分是为了?万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页;な菘?万博manbext|体育首页,增加缓存万博manbext|体育首页。当然并非所有的表都需要切分,这主要还是看具体数据的成长速度。在实际的数据处理中万博manbext|体育首页,数据库切分的原则包括:能够不切分就尽量不切分,在数据量过大的情况下,正常运行已经影响了业务访问就需要切分万博manbext|体育首页,企业的业务量不断扩展万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页,需要垂直拆分某些字段等等万博manbext|体育首页,下面我们就来详细介绍一下它的切分原则。

                                                                              分割后万博manbext|体育首页,在一定程度上提高业务复杂性万博manbext|体育首页万博manbext|体育首页,数据库除了载入数据的存储和查询外,协助业务更好地实现需求也是其重要工作之一。数据库切分的五大原则:

                                                                              1万博manbext|体育首页、不切分尽量不切分

                                                                              不要轻易使用分库表这个“大把戏”万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页,避免“过度设计”和“过早优化”万博manbext|体育首页。在分库表之前,不要为了得分而得分万博manbext|体育首页万博manbext|体育首页。首先,升级硬件万博manbext|体育首页、升级网络万博manbext|体育首页、读写分离万博manbext|体育首页、索引优化等万博manbext|体育首页,尽最大努力万博manbext|体育首页。数据量达到单表瓶颈时万博manbext|体育首页万博manbext|体育首页,请考虑分库表。

                                                                              2万博manbext|体育首页万博manbext|体育首页、数据量过大万博manbext|体育首页,正常运行影响业务访问

                                                                              数据库备份,如果表格过大万博manbext|体育首页,备份需要大量的磁盘IO和网络IO万博manbext|体育首页。例如万博manbext|体育首页,1T的数据在网络传输占50MB时万博manbext|体育首页万博manbext|体育首页,需要20000秒万博manbext|体育首页,整个过程的风险很高万博manbext|体育首页万博manbext|体育首页。

                                                                              修改大型DDL时,MySQL锁定全表,此时间长万博manbext|体育首页,此时业务无法访问该表万博manbext|体育首页,影响大万博manbext|体育首页。如果使用pt-online-schema-change万博manbext|体育首页万博manbext|体育首页,在使用过程中会制作触发器和影表,也需要很长时间万博manbext|体育首页。在这个操作过程中万博manbext|体育首页万博manbext|体育首页,被认为是风险时间万博manbext|体育首页。分割数据表万博manbext|体育首页,减少总量万博manbext|体育首页,有助于降低这一风险万博manbext|体育首页。

                                                                              大表经常访问和更新,锁可能会出现万博manbext|体育首页。切分数据万博manbext|体育首页万博manbext|体育首页,用空间更换时间万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页,变相降低访问压力万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页。

                                                                              3万博manbext|体育首页、随着业务的发展万博manbext|体育首页,需要垂直拆分某些字段

                                                                              举个例子万博manbext|体育首页,开始设计的用户表如图18-1:

                                                                              在项目初期阶段万博manbext|体育首页,该设计符合简单的业务需求万博manbext|体育首页万博manbext|体育首页,便于快速反复开发。业务迅速发展时,用户数从10w急剧增加到10亿万博manbext|体育首页万博manbext|体育首页,用户非?;钤?,每次登录都更新last_login_name字段万博manbext|体育首页,user表不断变成update万博manbext|体育首页万博manbext|体育首页,压力很大万博manbext|体育首页万博manbext|体育首页。其他字段:id、name、personal_info不变或更新较少万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页。此时,从业务角度分割last_login_time万博manbext|体育首页,建立新的user_time表。

                                                                              personal_info属性更新查询频率低万博manbext|体育首页,text字段占用空间过大万博manbext|体育首页万博manbext|体育首页。此时万博manbext|体育首页万博manbext|体育首页,必须垂直分割user_ext表万博manbext|体育首页。

                                                                              4万博manbext|体育首页万博manbext|体育首页、数据量迅速增加

                                                                              随着业务的快速发展万博manbext|体育首页,表中的数据量持续增加万博manbext|体育首页,性能接近瓶颈时万博manbext|体育首页,需要考虑水平分割,制作分库分割表。此时万博manbext|体育首页,必须选择合适的分割规则万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页,预测数据容量万博manbext|体育首页。

                                                                              5万博manbext|体育首页、安全性和可用性

                                                                              鸡蛋不要放在篮子里万博manbext|体育首页。在业务水平上垂直分割万博manbext|体育首页万博manbext|体育首页万博manbext|体育首页,分割不相关业务的数据库,每个业务的数据量万博manbext|体育首页万博manbext|体育首页、访问量不同,所以因为一个业务搞挂而牵连其他数据库。利用水平切分,当数据库出现问题时万博manbext|体育首页万博manbext|体育首页,不会影响100%的用户,每个库只承担业务的一部分数据万博manbext|体育首页万博manbext|体育首页,可以提高整体的可用性万博manbext|体育首页万博manbext|体育首页。

                                                                              以上我们介绍了数据库切分的五大原则,这些简单的知识在您的工作中也许用得上万博manbext|体育首页,如果您想了解更多相关信息万博manbext|体育首页万博manbext|体育首页,请您继续关注中培教育万博manbext|体育首页万博manbext|体育首页。

                                                                              相关阅读

                                                                              万博manbext|体育首页