首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

成立五周年,百行征信产品累计调用量113.7亿笔,业绩迈上新台阶

当前MySQL依然是大多数企业使用的主流数据库,但很多企业从传统企业架构转移到云原生架构,面临如何在保障数据的前提下,完成在不同的运行环境进行灵活迁移的难题。同时,大多数使用数据库的传统企业客户不只包括商业企业,还涉及事业单位,他们对于企业级系统和平台要求颇高。

因此,兼容MySQL的工作一直是 OceanBase 团队长期工作的重点。就拿OceanBase 4.1来说,作为兼容性过程中的一次重大里程碑式的版本,随着 MySQL 的发展和用户使用需求的变化,OceanBase 的 MySQL 兼容版本也从 5.6 发展到 5.7 再到 8.0。通过技术迭代和实战检验,能够更好地满足高安全、高性能、高可靠性、高可用性、高开发效率、低维护成本、高可扩展性等企业需求。

兼容 MySQL 能力全面开放,带来更强大的数据管理能力

据了解,目前MySQL 8.0 最重要的新增功能特性有五项,分别是窗口函数、公用表表达式、Hash Join、索引管理、资源管理。其中OceanBase 4.1版本主要支持窗口函数、公用表表达式、Hash Join、资源管理,由于过去用户对逆序索引需求较少,OceanBase 目前暂不支持逆序索引功能。

在窗口函数方面,OceanBase 从 1.x 版本开始就提供了窗口函数功能。相比使用子查询或连接操作,窗口函数往往能提供更好的性能。同时,数据库优化器可以有效地处理窗口函数,降低查询计算的成本。值得一提的是,即使用户在 SQL 编写中没有使用窗口函数,在部分场景中,ceanBase 也会将部分 SQL 自动改写为包含窗口函数的语句,以提高数据管理性能。

在公用表表达式方面,OceanBase 可以自动识别公共子查询,并抽取为公共表表达式。OceanBase 从 2.0 版本开始支持 CTE 功能,即使用户在 SQL 编写中未使用 CTE,OceanBase 也会在改写阶段进行识别并抽取,通过减少子查询执行次数以优化性能。举例来说,在如下 SQL 和计划中,子查询用了两次,便可抽取成为公共子查询。

支持 Hash Join和资源管理,提高数据管理效率

此外,OceanBase 一直以来都支持 Hash Join 算法。与单机数据库不同,OceanBase 面向的应用场景很多都涉及海量数据处理。此外,分布式场景下索引(全局)往往需要跨机访问,而通过建索引优化 Nested Loop Join 较难达到预期效果。而 Hash Join 在分布式、大数据量场景通常性能表现更优,因此我们从研发初期就进行了支持。同时,我们也支持 Nested Loop Join 以及 Merge Join,这两个 Join 算法在能利用索引或利用序的场景有性能优势。

同时OceanBase 支持更丰富的资源管理策略。从 3.x 版本开始,OceanBase 在 Oracle 模式中支持了 Oracle 的资源管理(DBMS_RESOURCE_MANAGER 包),与 MySQL 的 resource management 主要针对 CPU 资源分配不同,OceanBase 提供了丰富、灵活的资源管理策略,可以设置多种不同的资源计划,根据消耗情况动态调整资源分配,具备更完备的功能和更多的定制可能性。

据了解,OceanBase 也在 3.2 和 4.1 版本中,将资源管理能力开放到了 OceanBase MySQL 模式。OceanBase 资源管理与 MySQL 8.0 资源管理的异同如下:

总的来说,相对于前代版本,OceanBase 4.1版本在功能和性能上均有长足的进步,能够兼容MySQL大多数功能,在兼容性体验和数据安全优化层面都登上了新台阶,能够真正让科技普惠更多的金融机构和合作伙伴。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230524A04V5K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券