返回

OceanBase 和 TiDB 粗浅对比之 - 执行计划

开发工具

一、前言

OceanBase和TiDB作为国内2款的比较流行的兼容MySQL协议的开源数据库使用者也越来越多,两种数据库不仅在架构原理上有较大差异,在开源方式上有较大的不同:

1. OceanBase

OceanBase 是一款云原生分布式数据库,它采用全新的分布式系统架构,提供高可用、高性能、高扩展性的数据库服务。OceanBase 诞生于阿里巴巴,并于2017年开源。目前,OceanBase 已被广泛应用于阿里巴巴集团的多个核心业务系统,如淘宝、天猫、支付宝等。

2. TiDB

TiDB 是一款分布式关系型数据库,它采用水平扩展的架构,提供高可用、高性能、高扩展性的数据库服务。TiDB 诞生于 PingCAP 公司,并于2015年开源。目前,TiDB 已被广泛应用于互联网、金融、制造等多个行业的众多企业,如京东、小米、滴滴出行等。

3.执行计划

执行计划是数据库系统中一个非常重要的组件,它决定了数据库系统如何执行查询语句。OceanBase 和 TiDB 在执行计划方面存在着一些差异。

OceanBase

OceanBase 的执行计划分为两部分:逻辑执行计划和物理执行计划。逻辑执行计划是由数据库系统根据查询语句生成的,它了查询语句的执行顺序和执行步骤。物理执行计划是根据逻辑执行计划生成的,它了查询语句如何在数据库系统中具体执行。

TiDB

TiDB 的执行计划也分为两部分:逻辑执行计划和物理执行计划。逻辑执行计划是由数据库系统根据查询语句生成的,它描述了查询语句的执行顺序和执行步骤。物理执行计划是根据逻辑执行计划生成的,它描述了查询语句如何在数据库系统中具体执行。

4.比较

OceanBase 和 TiDB 的执行计划在以下几个方面存在着差异:

(1) 逻辑执行计划的生成方式

OceanBase 的逻辑执行计划是由数据库系统根据查询语句生成的,而 TiDB 的逻辑执行计划是由查询优化器生成的。

(2) 物理执行计划的生成方式

OceanBase 的物理执行计划是由数据库系统根据逻辑执行计划生成的,而 TiDB 的物理执行计划是由查询优化器生成的。

(3) 执行计划的优化方式

OceanBase 的执行计划优化器采用基于规则的优化算法,而 TiDB 的执行计划优化器采用基于成本的优化算法。

5.总结

总的来说,OceanBase 和 TiDB 的执行计划在以下几个方面存在着差异:逻辑执行计划的生成方式、物理执行计划的生成方式、执行计划的优化方式。这些差异导致了两者在性能、可扩展性、可用性等方面存在着一些差异。