1.查询版本

obclient(root@(none))[oceanbase]> select version();
+------------------------------+
| version()                    |
+------------------------------+
| 5.7.25-OceanBase_CE-v4.2.1.8 |
+------------------------------+
1 row in set (0.019 sec)

2.OceanBase体系

OceanBase 并不是基于 MySQL 体系,但它在一定程度上兼容了 MySQL 的功能和语法,这使得 Navicat 能够连接到 OceanBase 数据库。以下是具体原因和相关说明:

OceanBase 与 MySQL 的关系

  • 架构不同:OceanBase 是一款分布式关系型数据库,采用了不同于 MySQL 的架构设计,其存储引擎基于 LSM-Tree 架构,而 MySQL 常用的存储引擎是 InnoDB 和 MyISAM。

  • 兼容性设计:尽管架构不同,但 OceanBase 为了方便用户从传统数据库迁移,提供了对 MySQL 的兼容性支持。它兼容了 MySQL 5.7 的绝大部分功能和语法,以及 MySQL 8.0 版本的部分 JSON 函数。这意味着很多熟悉 MySQL 的用户可以较为平滑地过渡到 OceanBase,而不需要对应用程序做大量修改。

Navicat 连接 OceanBase 的原因

  • 工具适配:Navicat 作为一款通用的数据库管理工具,能够通过各个数据库提供的 JDBC 驱动连接数据库。对于 OceanBase,Navicat 已经实现了对其全线数据库产品的适配,包括社区版和企业版(兼容 MySQL 模式和 Oracle 模式)。

  • MySQL 模式支持:当 OceanBase 数据库创建了 MySQL 模式的租户时,Navicat 可以使用自带的 OceanBase 驱动或 MySQL 驱动来连接该租户。这使得用户可以像连接普通 MySQL 数据库一样连接 OceanBase,只要正确配置连接信息,如主机地址、端口号、用户名和密码等。

使用注意事项

  • 版本要求:使用 Navicat 连接 OceanBase 需要确保 Navicat 的版本在 16.1.9 或更高。

  • 连接配置:在配置连接时,用户需要根据实际情况选择合适的连接方式,如直连或通过 OBProxy 代理,并正确填写相应的端口号。

  • 功能差异:尽管 OceanBase 兼容了 MySQL 的很多功能,但仍有部分功能和特性存在差异,用户在从 MySQL 迁移到 OceanBase 或使用 Navicat 管理 OceanBase 数据库时,需要注意这些差异,以免出现兼容性问题。

3.参考文档

https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000354623

存储引擎

与 MySQL 数据库基于数据块的 InnoDB 和 MyISAM 引擎不同,OceanBase 数据库使用的是基于 LSM-Tree 架构的存储引擎。

优化器

OceanBase 数据库在优化器方面与 MySQL 数据库的区别,主要表现在以下几个方面:

  • 查看执行计划的命令

    • 输出的列信息仅包含 IDOPERATORNAMEEST. ROWS 和 COST 以及算子的详细信息。

    • 不支持使用 SHOW WARNINGS 显示额外的信息。

  • 查看统计信息

    • 支持执行 ANALYZE TABLE 语句查询数据字典表存储有关列值的直方图统计信息。

    • 支持通过内部表 __all_meta_table 查看表统计信息和列统计信息。

  • 查询改写优化

    • 支持外联接优化

    • 支持外联接简化

    • 支持块嵌套循环和批量 Key 访问联接

    • 支持条件过滤

    • 支持常量叠算优化

    • 支持 IS NULL 优化 (索引不存储 NULL 值)

    • 支持 ORDER BY 优化

    • 支持 GROUP BY 优化

    • 支持 DISTINCT 消除

    • 支持 LIMIT 下压

    • 支持 Window 函数优化

    • 支持避免全表扫描

    • 支持谓词下压

  • Optimizer Hint 机制

    • 支持联接顺序 Optimizer Hints

    • 支持表级别的 Optimizer Hints

    • 支持索引级别的 Optimizer Hints

    • 语法支持 INDEX Hint、FULL Hint、ORDERED Hint 和 LEADING Hint 等。

  • 兼容 MySQL 数据库的并行执行能力包括并行查询、并行复制和并行写入等,且 OceanBase 数据库已经支持并行算子,包括并行聚集、并行联接、并行分组以及并行排序等。

  • OceanBase 数据库还支持计划缓存和预编译,MySQL 数据库并不支持。

add更新20250328

docker中安装mysql  基于centos7环境下

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://hub.uuuadc.top",
    "https://docker.anyhub.us.kg",
    "https://dockerhub.jobcher.com",
    "https://dockerhub.icu",
    "https://docker.ckyl.me",
    "https://docker.awsl9527.cn",
    "https://mirror.baidubce.com"
  ]
}
EOF

重启docker服务
systemctl daemon-reload
systemctl  restart docker

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐