Apache ShardingSphere 5.1.2 发布|全新驱动 API + 云原生部署,打造高性能数据网关

Apache ShardingSphere 5.1.2 引入了全新功能,包括 ShardingSphere-Proxy 的 Helm Chart 部署、SQL 方言翻译和 JDBC Driver 支持。这些更新旨在提升云原生部署体验,提供更强大的数据网关功能。此外,更新还包括对 PostgreSQL 和 openGauss schema 支持的提升,以及 SQL 解析和弹性伸缩能力的增强。用户现在可以使用 Helm 更便捷地部署 ShardingSphere-Proxy,同时支持跨数据库方言的 SQL 查询,简化了不使用 DataSource 的项目的集成。
摘要由CSDN通过智能技术生成

在 Apache ShardingSphere 5.1.1 发布后,ShardingSphere 合并了来自全球的团队或个人的累计 1028 个 PR,为大家带来 5.1.2 新版本。该版本在功能、性能、测试、文档、示例等方面均有不少优化。

值得一提的是,本次更新带来了以下全新功能:

  • ShardingSphere-Proxy Helm Chart

  • SQL 方言翻译

  • 以 Driver 形式使用 ShardingSphere-JDBC

这些全新的能力让 ShardingSphere 的数据网关能力得到了质的提升,助力 ShardingSphere 在云上部署,优化用户体验。

除了上述新功能,本次更新大量提升了 SQL 解析支持度,内核、运行模式、弹性伸缩都完善了对 PostgreSQL /openGauss schema 的支持,弹性伸缩、事务、DistSQL 在健壮性与用户体验方面也有不少提升。

本篇将给大家介绍 ShardingSphere 5.1.2 版本更新内容。

新功能介绍

  • 使用 Helm 部署 ShardingSphere-Proxy

ShardingSphere-Proxy 提供了 Docker 镜像以便于用户容器化部署。不过,对于需要在 Kubernetes 部署 ShardingSphere-Proxy 的用户,还需要自行处理数据库驱动挂载、配置挂载、自定义算法挂载等必要步骤,部署过程相对繁琐,运维成本相对较高。

ShardingSphere 本次更新带来了全新的 ShardingSphere-Proxy Helm Chart。这项新功能由企业级、云原生数据增强计算产品及解决方案提供商 SphereEx 向 Apache ShardingSphere 社区捐赠,推动 Apache ShardingSphere 在云原生方向前进。

ShardingSphere 在集群模式下依赖注册中心存储元数据,ShardingSphere-Proxy 的 Helm Chart 能够自动部署 ZooKeeper 集群,帮助用户快速搭建 ShardingSphere-Proxy 集群。

受限于开源协议,ShardingSphere-Proxy 的二进制发布包、Docker 镜像受限于开源协议,无法打包 MySQL JDBC 驱动,用户需要手动添加 MySQL JDBC 驱动到 classpath 才能使用 MySQL 作为 ShardingSphere 的存储节点。对于这类情况,ShardingSphere-Proxy Helm Chart 能够在 Pod 的 Init 容器自动获取 MySQL JDBC 驱动,降低了用户的部署操作成本。

  • 全新 SQL 方言翻译能力

随着数据库碎片化趋势的不可逆转,多种类型数据库的共存已渐成常态。使用一种 SQL 方言访问异构数据库的场景在不断增加。

多样化的数据库的存在,使访问数据库的 SQL 方言难于标准化,工程师需要针对不同种类的数据库使用不同的方言,缺乏统一化的查询平台。

将不同类型的数据库方言自动翻译为后端数据库所使用的方言,让工程师可以使用任意一种数据库方言访问所有的后端异构数据库,可以极大地降低开发和维护成本。

Apache ShardingSphere 5.1.2 在打造极具生产力的数据网关的路途中迈出了重要的一步。本次更新带来了全新的 SQL 方言翻译能力,能够支持主流开源数据库之间的方言转换。例如,用户可以使用 MySQL 客户端连接 ShardingSphere-Proxy 并发送基于 MySQL 方言的 SQL,ShardingSphere 能自动识别用户协议与存储节点类型,自动完成 SQL 方言转换,访问 PostgreSQL 等异构存储节点,反之亦然。

  • 以 Driver 的形式使用 ShardingSphere-JDBC

在过去的 ShardingSphere 版本中,ShardingSphere-JDBC 以 DataSource 的形式向用户提供服务。对于不使用 DataSource 的项目或工具,需要进行改造才能引入 ShardingSphere-JDBC,增加了用户的使用成本。

在 Apache ShardingSphere 5.1.2 中,ShardingSphere-JDBC 实现了标准的 JDBC Driver 接口,用户可以通过 Driver 的形式引入 ShardingSphere-JDBC。

用户可以直接通过 DriverManager 获取 Connection:

Class.forName("org.apache.shardingsphere.driver.ShardingSphereDriver");
Connection conn = DriverManager.getConnection("jdbc:shardingsphere:classpath:config.yaml");

也可以使用 DataSource 获取 Connection:

// 以 HikariCP 为例
HikariDataSource dataSource = new HikariDataSource();
dataSource.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver");
dataSource.setJdbcUrl("jdbc:shardingsphere:classpath:config.yaml");
Connection conn = dataSource.getConnection();

对已有能力的提升

内核

本次更新,ShardingSphere 合并了大量提升 SQL 解析支持度的 PR,在更新日志中可见 SQL 解析的优化项占了较大篇幅。

ShardingSphere 在 5.1.1 对 PostgreSQL /openGauss 的 schema 提供了初步支持,在本次 5.1.2 更新,内核、集群模式、弹性伸缩对 PostgreSQL /openGauss 的 schema 的支持度也有所提升,例如元数据对增加了对 schema 结构的支持,内核、弹性伸缩支持自定义 schema。

ShardingSphere-Proxy

随着使用 ARM 架构 CPU 的服务器市场渐成气候,ShardingSphere-Proxy 在 Docker 方面也提供了适用于 arm64 架构的镜像。

在 MySQL 方面,ShardingSphere-Proxy 修复了无法接收长度超过 8 MB 数据包的问题,并支持接收总长度超过 16 MB 的数据。

弹性伸缩

弹性伸缩在除了支持 PostgreSQL 自定义 schema 外,也实现了迁移 PostgreSQL 时自动建表的功能,并修复了 PostgreSQL 增量迁移遇到 `null` 字段值会报错的问题。除功能方面,弹性伸缩还减少了迁移过程中的资源占用,以及对 openGauss 3.0 增量迁移提供了支持。

欢迎大家使用或升级 ShardingSphere 5.1.2,ShardingSphere 社区期待您的反馈!

更新日志

以下为 ShardingSphere 5.1.2 的全部更新日志。需要注意的是,本次更新调整了少量 API,调整项请参考本文更新日志的 API 调整部分。http://amos-carmeli.com/news/18a799981.html
http://amos-carmeli.com/html/27f799972.html
http://amos-carmeli.com/news/42d799957.html
http://amos-carmeli.com/html/00d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值