有个朋友面试的时候被问到:Mycat和MySQL的区分。我们可以把上层看做是对下层的抽象,例如操作体系是对各类盘算机硬件的抽象。那末我们甚么时候须要抽象?假设只有一种硬件的时候,我们须要开发一个操作体系吗?再比如一个项目只须要一个人完成的时候不须要leader,但是当须要几十人完成时,就应当有一个管理者,施展沟通调和等作用,而这个管理者对他的上层来讲就是对项目组的抽象。一样的,当我们的运用只须要一台数据库服务器的时候我们其实不须要Mycat,而如果你须要分库乃至分表,这时候候运用要面对很多个数据库的时候,这个时候就须要对数据库层做一个抽象,来管理这些数据库,而最上面的运用只须要面对一个数据库层的抽象或说数据库中间件就行了,这就是Mycat的核心作用。我们可以把上层看做是对下层的抽象,例如操作体