有个朋友面试的时候被问到:Mycat和MySQL的差别。我们能够把上层看作是对下层的抽象,比如操作系统是对各类计算机硬件的抽象。那么我们什么时候须要抽象?假如仅仅有一种硬件的时候,我们须要开发一个操作系统吗?再比方一个项目仅仅须要一个人完毕的时候不须要leader,可是当须要几十人完毕时,就应该有一个管理者。发挥沟通协调等作用,而这个管理者对于他的上层来说就是对项目组的抽象。相同的,当我们的应用仅仅须要一台数据库server的时候我们并不须要Mycat。而假设你须要分库甚至分表,这时候应用要面对非常多个数据库的时候,这个时候就须要对数据库层做一个抽象,来管理这些数据库,而最上面的应用仅仅须要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。所以能够这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。
时间: 2024-10-06 00:23:33