当前位置:Gxlcms > 数据库问题 > 数据库的高可用 及 Mycat的引入

数据库的高可用 及 Mycat的引入

时间:2021-07-01 10:21:17 帮助过:4人阅读

)

  1 Mycat是数据库的分库分表中间件,国内最活跃的,性能最好的开源软件数据库中间件!

  2 Mycat的特性

    ? 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理

    ? 基于心跳的自动故障切换,支持读写分离,支持Mysql主从,以及galera cluster集群

    ? 支持分布式事务

  3 数据库的优化

    ?优化SQL语句---原则

      a:能用单表不用关联查询.正常的数据库设计需要满足三范式要求.

      b:使用关联时尽可能提早确定数据.否则会进行大量的笛卡尔积操作.直接影响程序执行性能.

      c:尽可能根据主键查询

    ?创建索引

      对于经常查询的数据,为其创建索引文件

      a: 普通索引  INDEX (id)

      b: 唯一索引  UNIQUE INDEX unique_id(id ASC)

      c: 全文索引   FULLTEXT INDEX fulltext_name(name)

      d: 单列索引  INDEX single_name(name(20))       //索引长度为20

      e: 多列索引  INDEX multi(id,name(20))

      f: 空间索引   SPATIAL INDEX sp(space)

    ? 添加缓存

      为经常查询的数据,将数据添加到缓存中,提高查询效率

    ? 定期转储数据

      采用历史表策略 将旧的数据保存到历史表中.当前表中只维护现在使用的数据

    ? 分库分表

      因为数据库瓶颈问题,无法以现在的优化策略,优化数据库,这时需要将数据库进行分库分表操作.也就是将一个数据库动态的拆分为多个数据库.

   4 数据库的垂直拆和水平拆

            根据不同的数据库,将有关联关系的数据表拆分到一个数据库中,将没有关联关系的数据表拆分到不同的数据库中.(根据业务拆分)

   技术分享图片

       将数据库中的表数据拆分到多个数据库中得表中

  技术分享图片

 


     

          Mycat 逻辑库,进行管理

 

数据库的高可用 及 Mycat的引入

标签:col   情况下   XML   自动   color   ast   分布   平台   转储   

人气教程排行