oceanbase与tidb有哪些异同点

都是分布式数据库,两个数据库有什么自己优势的地方或者不足的地方,在选型的时候,该如何选择呢?

3 个赞

ob兼容oracle和mysql,tidb好像只兼容mysql

2 个赞

架构上有很大不同

回去再学学就知道了

去tidb 社区学习学习。

个人比较倾向oceanbase,扩缩容方便,同时兼容Oracle和MySQL,满足不同业务需求。

1 个赞

恰恰相反扩缩容OB并不方便。
但是兼容多了个Oracle是真的。

非常好呀

个人体感不同

OB节点扩容unit是按照zone的数量等比例的,再精确一点还得计算自己的分区数量,确保大致分配均衡。实际操作起来就知道了,集群规模稍微大一点,扩容就要精打细算

1 个赞

正常,扩容本身就是在资源不足的情况下才有的需求,计算是一个基本的合理过程吧,总不能瞎给啊 :joy:。话说集群大了,干啥都要小心翼翼,扩容效率相对慢点也是正常的,如果很容易就完事了,那更让人怀疑和担心

1 个赞

@论坛小助手

OceanBase 与 TiDB 的异同点及其各自的优势与不足

异同点

  1. 分布式架构:两者都是分布式关系型数据库,具备高可扩展性和高可用性。

    • OceanBase 采用 shared-nothing 架构,按日志流、分片(Tablet)组织用户数据。Tablet 具备存储数据的能力,支持在机器之间迁移,是数据均衡的最小单位。
    • TiDB 也是分布式数据库,采用 Raft 一致性协议,支持水平扩展。
  2. 兼容性

    • OceanBase 高度兼容 MySQL,支持 MySQL 5.6、5.7 的绝大部分语法,部分 MySQL 8.0 的新特性。同时,OceanBase 也支持 Oracle 兼容模式。
    • TiDB 也兼容 MySQL 协议,支持 MySQL 5.7 的语法。
  3. 存储引擎

    • OceanBase 使用自研的存储引擎,与 MySQL 的存储引擎(如 InnoDB)无关。
    • TiDB 使用 TiKV 作为存储引擎,TiKV 是一个分布式键值存储系统。
  4. 一致性

    • OceanBase 使用 Paxos 协议保证强一致性,主副本具备强一致性读和写能力,从副本具备弱一致性读能力。
    • TiDB 使用 Raft 协议保证强一致性。

优势与不足

OceanBase
  • 优势

    • 高可用:生产环境默认三副本,使用 Paxos 协议同步事务日志,支持跨机房跨城市部署,机器或机房故障时,集群内部多副本自动切换,不丢数据。
    • 高性能:支持列存和行列混存,以及多种查询优化手段,保障良好的查询性能。TPC-H 30000GB 第一名。
    • HTAP:支持 OLTP 和 OLAP 类型的混合场景需求,即通常说的 HTAP 能力。
    • 低成本:基于 LSM-Tree 的高压缩引擎,实现存储成本降低 70% ~ 90%。同时,原生支持多租户架构,降低部署和运维成本。
    • 多模:支持用 SQL 对 JSON、GIS、文本等非结构化数据进行分析。
  • 不足

    • 学习曲线:由于是自研的数据库,相比于 MySQL 等成熟的关系型数据库,学习曲线可能更高。
    • 社区支持:尽管社区版已经开源,但相对于 TiDB 的社区活跃度,OceanBase 的社区支持可能稍显不足。
TiDB
  • 优势

    • HTAP:同样支持 OLTP 和 OLAP 类型的混合场景需求。
    • 高可用:使用 Raft 协议保证强一致性,支持跨机房部署。
    • 兼容性:高度兼容 MySQL 协议,支持 MySQL 5.7 的语法,迁移成本较低。
    • 社区支持:TiDB 社区非常活跃,有大量的文档、教程和用户案例,易于学习和使用。
    • 增量数据同步:通过 TiCDC 集群和 Kafka 集群实现增量数据同步,支持实时数据迁移。
  • 不足

    • 性能:在某些场景下,尤其是大规模数据处理和复杂查询方面,性能可能不如 OceanBase。
    • 资源消耗:由于 TiDB 需要额外的 TiKV 和 PD 集群,资源消耗可能更大。

选型建议

  • 高可用和强一致性:如果您的应用场景对高可用和强一致性有较高要求,且需要支持跨机房跨城市部署,OceanBase 是更好的选择。
  • HTAP 需求:如果您的应用场景需要同时支持 OLTP 和 OLAP,且对查询性能有较高要求,OceanBase 也是一个不错的选择。
  • 社区支持和兼容性:如果您希望使用一个社区活跃度高、兼容 MySQL 协议的数据库,且对资源消耗不敏感,TiDB 是一个更好的选择。
  • 成本和资源:如果您对成本和资源消耗有较高要求,OceanBase 的高压缩引擎和多租户架构可能更适合您的需求。
  • 学习曲线:如果您希望使用一个学习曲线较平滑的数据库,TiDB 可能更适合您的团队。

检索到的文档如下:

  1. OceanBase 数据库概述
  2. 使用 OMS 从 TiDB 数据库迁移数据到 OceanBase 数据库 MySQL 租户
  3. OceanBase AP 概述
2 个赞