仅作参考。
读写分离的数据库典型如TiDB;读写不分离的数据库典型如oceanbase;
架构来说
1、ob由proxy server(调度、负载均衡),observer(计算和存储)两个角色构成,observer由若干region组成。如果规模庞大,则由observer组成若干zone。从运维角度来说,非常方便。
2、tidb由pd(调度服务器)、tidb server(计算)、tiKV(存储)。如果需要AP则还要增加tiflash,需要采集增加CDC。有tiup,部署也不难。
从架构来看,单纯的读和写,ob应该比tb强;但是如果涉及到计算,特别是计算和存储分离的那种,我估计tidb一定强于ob。
从实际体验来看,tb的易用性强于ob。
从我个人建议出发,如果数据库服务器只有10台以内,tidb会远强于ob;10-100台我不确定谁强谁弱。100台以上就看dba的能力了,他说了算。