分库分表
ql-day10 分库分表 mysql> insert into employee(id,name,sharding_id)values( 1,"jingjing",10000),(2,"niuge",10010),(3,"tao",10000),(4,"bai",10010); •什么是分库分表 –通过某种特定条件 , 将存放在一个数据库 ( 主机 ) 中的 数据 , 分散存放到多个数据库 ( 主机 ) 中。 –已达到分散单台设备负载的效果 , 即分库分表 –数据的切分根据其切分规则的类型 , 分为 2 种切分模式 –垂直分割 ( 纵向 ) 和水平分割 ( 横向 ) 垂直分割 •纵向切分 –把单一的表 , 拆分成多个表 , 并分散到不同的数据库 ( 主机 ) 上。 –一个数据库由多个表构成 , 每个表对应不同的业务 , 可以按照业务对表进行分类 , 将其分布到不同的数据库 ( 主机 ) 上 , 实现专库专用 , 让不同的库 ( 主机 ) 分担不同的业务。 水平分割 •横向切分 –按照表中某个字段的某种规则 , 把向表中写入的记录分散到多个库 ( 主机 ) 中。 –简单来说 , 就是按照数据行切分 , 将表中的某些行存储到指定的数据库 ( 主机 ) 中。 软件介绍 • Mycat 是基于 Java 的分布式数据库系统中间层 , 为高并发下的分布式提供解决方案 –支持 JDBC