分库分表之Mycat应用
1 分库分表介绍 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用。每个应用都有独立的数据库。 数据的切分分为两种: l 垂直切分:按照业务模块进行切分,将不同模块的表切分到不同的数据库中。 l 水平切分:将一张大表按照一定的切分规则,按照行切分到不同的表或者不同的库中。 1.1 垂直切分 垂直分库是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放不同的服务器上,垂直分表定义 :将一个表按照字段分成多表,每个表存储其中一部分字段。 它带来的提升是: 1.为了避免IO争抢并减少锁表的几率,查看详情的用户与商品信息浏览互不影响。 2.充分发挥热门数据的操作效率,商品信息的操作的高效率不会被商品描述的低效率所拖累。 它带来的提升是: 1.解决业务层面的耦