OceanBase和TIDB比较,谁更好?

【TiDB 使用环境】:生产/测试/POC

2 个赞

TiDB 社区目前没有对应的用户实践文章可以参考。
可以从百度搜索的结果看看,目前无法判断搜索文章的结果是否公正公平,有需要可以自己测一下~
实践出真知,期待你的技术文章~

2 个赞

:grinning:我挖个坟
这两天看了国产数据库排名,诸侯混战,欣欣向荣呀,这是好事,OceanBase架构有一点像云计算架构,分unit,建立租户,更像是从一个资源池,里面创建虚拟机创建租户(有点像postgresql里schema),依托于阿里分布式存储等理论,弄出来得一个分布式数据库(当然框架很复杂),一些银行会用 VMware vSphere虚拟机,所以都这套东西比较熟悉,所以OceanBase早期客户是一些银行客户

TiDB,更像是mysql的sql层,引擎层等,各个模块拆解的负载均衡,一个比较新的架构(当然框架很复杂)

因为是闲聊,我就说说我的看法了
OceanBase传统意义的改进,没有太颠覆的改变,开发语言貌似用的Java,分布式数据库架构比较复杂,用C++,难度太大,而且java程序员比较多嘛,但是开源出来的版本确实是C++代码,这里先挖个坑,这就不知道了,社区没有tidb活跃,性能我这没上tidb和OceanBase,我没法测评!

tidb用go和rust开发,开源go的明星项目,rust也是一种替代C++的安全语言,并没有考虑有没有大量的程序员能开发的问题,有开源那味了,社区比较活跃

我比较喜欢开源,我个人倾向选tidb,作为一个DBA,还是要玩点不一样的:grinning:

4 个赞

都好,只是看哪家的社区活跃度高,规划设计是否合理,是否满足自己的使用场景

3 个赞

没错,主要tidb的社区活跃度相对比较高,对于线上没有OceanBase和tidb的人:joy:,没有线上选择压力,哪个高玩哪个

2 个赞

从考试题看的出来,tidb对运维能力要求很高,OceanBase的考题就很简单,能力一般的就可以运维:grin:

2 个赞

我理解从运维角度最大的几个区别:
1.TiDB存储文件按照region分割,OB按照分区分割。
2.由于1,TiDB可以自动的分裂region,OB做不到。
3.由于2,TiDB可以做到读写热点调度,非侵入式实时干预,OB做不到。
4.两种架构对比,TiDB的PD随着数据量增长,负担会很重,OB能好一些,但是OB如果分区过大导致的节点恢复,扩缩容成本并不是线性的,不可控。
5.分区表方面,OB比TiDB的支持完善一些,特别表现在mpp计算方面。
6.因为5,ob只要是分区表就走mpp,我有点受不了。
7.OB有更好的资源隔离(租户),TiDB目前版本还没有在这方面有特性发布。
8.基于存储计算融合的架构,OB的Table Group会对传统关系型数据库迁移到OB的用户更友好,但面对当前计算存储需求差异比较大的趋势,没有很好的解决方案。
以上,个人能力有限,一家之言。

8 个赞

ob 用的 c++ 开发吧。性能很难比较,ob 更倾向于 oltp 场景,tidb 是 htap。纯 oltp 场景性能比较的话,感觉还是 ob 更强:thinking:

2 个赞

性能上,TP:OB更胜一筹,AP:OB正在快速接近;
OB感觉吃内存,Tidb吃硬件(尤其是存储);
运维:OB偏图形界面,Tidb偏命令行;
ob rootservice和租户资源混在一起(相当于PD和tikv绑在一起),很不方便,容易造成资源浪费;
生态方面Tidb更好,ob给人感觉吃独食(开源版和企业版差异巨大)

2 个赞

有没有两个都上的:innocent:

2 个赞

成年人不做选择,都好

3 个赞

支持
Tidb

2 个赞

OceanBase 像Oracle
TiDB 像mysql

4 个赞

这个只能根据业务需求场景了,没有更好,合适即可。

2 个赞