一、mysql集群搭建
1、MySQL数据库的几种常见高可用方案
2、MySQL分布式集群搭建
二、分库分表
-
类型:
垂直切分:垂直分库、垂直分表
水平切分:库内分表、分库分表 -
存数据:
根据取值范围
hash取模 -
产生的问题:
事务一致性
分页,排序,join问题
全局唯一主键 -
常用中间件:
sharding-jdbc(当当)
TSharding(蘑菇街)
Atlas(奇虎360)
Cobar(阿里巴巴)
MyCAT(基于Cobar)
Oceanus(58同城) Vitess(谷歌)
三、读写分离
- 读写分离,解决“数据库读性能瓶颈”问题
- 水平切分,解决“数据库数据量大”问题
1、数据库读写分离架构,为什么我不喜欢
2、数据库读写分离架构实践
3、MySQL读写分离
4、MySQL数据库读写分离、读负载均衡方案选择
四、常见SQL优化策略
为了使SQL高效运行,通常,我们会采用以下策略进行优化:
- DB存储引擎选择,数据库表设计,字段类型选择等。
- 写高效的SQL语句。
- DB配置的优化,如缓冲池的配置等。
- 数据库索引。
- 在DB之上加一层缓存。
- 主从读写分离。
- 数据库拆分,水平拆分和垂直拆分。
- 抛弃关系型数据库,转向Hbase等NoSQL数据库。