互联网网站应用大多采用mysql作为DB存储,限于mysql单机性能的瓶颈,为了支撑更大容量和更大的访问量,dba一般通过建立分布式集群,让多个mysql共同提供服务.所谓的mysql分布式集群,实质就是将原有的数据拆成多份,放在多个mysql数据库上存储,应用通过中间层路由到对应的数据库分片,访问所需要数据,基本架构如图1所示.这里的关键点就是“拆”,如何拆库,根据业务场景,一般可以采取水平拆分和垂直拆分.所谓水平拆分是指,将一个大表按一定的规则分片,分布在多个mysql数据库中:垂直拆分则是