简单来说的区别, Mysql Cluster 我可以现在拿到手部署一套出来, OceanBase我不是阿里的人,于是除了早年的那个开源版本啥都拿不到~~
(注:以下OB的细节来源为github上alibaba的0.4版本,后面代码不开源看不着,现在据说已经到1.0~~)
正经说的话,技术上,一句话概括,都是代理层处理SQL,分发到底层的分布式系统的KV(严格意义上应该叫K-K-V)层处理请求。
细节上的区别就很多了,比如NDB(Mysql Cluster )对SQL执行的参与很少,而OB直接参与到聚合,join等执行过程,设计意义上,OB更像一个分布式数据库。
另外,NDB早前有个很诡异的设置,表要么都放在磁盘上,要么都放在内存里面~~我一直认为这种结构的运维难度是 Mysql Cluster 被人抛弃的直接原因,指望搞MySQL主从的人,能搞定NDB这一套玩意,完全不是一回事。
回答中有提到MySQL单机数据库部署就是单点,不是集群啥的,但就Mysql Cluster来说,部署好就是一套分布式数据库没毛病。
还有负载均衡和高可用方面,OB外部资料太少不论,Mysql Cluster 的话,MySQL进程纯粹就是个proxy,前面顶个lvs、f5之类完全可以直接负载均衡和高可用,NDB自己是个分布式的KV数据库,自己就可以玩高可用。