时间: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 分布 平台 转储