ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

分库分表概要讲解

2021-06-13 17:34:20  阅读:197  来源: 互联网

标签:分库 概要 数据源 查询 拆分 分表 数据 按照


1、拆分规则:垂直拆分、水平拆分

2、适用场景及特点:

     2.1、垂直拆分:一般是按照业务维度进行拆分,不同的业务,按照相应的模块进行拆分,比如订单表,客户表等;当然也有同一个业务表按照不同的维度进行拆分;

            好处:业务解耦,扩展方便,承载更大请求

            问题及解决:

                 1、联表查询  : 字段冗余,数据同步,全局表(广播表)

                  2、分布式事务: Atomikos,  Seata,  LCN 

    2.2、水平拆分:一般是单表数据过大,讲一个表拆分成多个子表

             问题及解决:

               1、联表问题

                2、翻页查询

                3、全局ID,auto increatement不满足

                4、拆分规则的选择:

                      要秉持:均匀,扩容,查询方便,迁移简单

                         1、随机

                         2、取模: hash % 

                         3、范围

                            4、枚举:比如,按照地域划分

                 

   要根据实际情况选择拆分规则, 比如基于取模划分数据,那么按照时间查询,则需要汇总各个节点的数据。   但是要是基于时间的划分呢,要面对热点数据的问题,要是只是统计最近一段时间的数据,则有些节点永远不会请求,就没有达到负载均衡的目的

 

3、数据源选择问题:

        如果分库分表,会有多个数据源,可以考虑在在那一层进行数据源的获取

     3.1 应用层(编码)---abstractrouteDataSource

     3.2  框架增--mybitis

     3.3 协议层jdbc-  shardingjdbc

     3.4 代理层---mycat

  

 

标签:分库,概要,数据源,查询,拆分,分表,数据,按照
来源: https://blog.csdn.net/sunguojian111/article/details/117877828

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有