此次更新带来 ShardingSphere 原生驱动、Helm Chart、SQL 翻译等全新功能,打造极具生产力的数据网关
在 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 在健壮性与用户体验方面也有不少提升。
新特性
-
内核:支持 MySQL 和 PostgreSQL 的 SQL 方言转换的 alpha 版本
-
内核:支持 PostgreSQL 和 openGauss 自定义 schema
-
内核:支持 PostgreSQL 和 openGauss create/alter/drop view 语句
-
内核:支持 openGauss cursor 语句
-
内核:支持使用自定义系统库
-
内核:支持获取 openGauss 和 MySQL 的创建表语句
-
内核:支持获取 PostgreSQL 的创建表语句
-
接入端:正式支持使用 Helm 在 Kubernetes 中快速部署一个包含 ZooKeeper 集群的 ShardingSphere-Proxy 集群
-
接入端:支持 ShardingSphere JDBC Driver
-
弹性伸缩:支持 PostgreSQL 自动建表
-
弹性伸缩:支持 PostgreSQL 和 openGauss 自定义 schema 的表迁移
-
弹性伸缩:支持字符串主键表迁移
-
运行模式:治理中心支持 PG/openGauss 三级结构
-
运行模式:治理中心支持 Database 级别的分布式锁
优化
-
内核:支持 PostgreSQL 和 openGauss copy 语句
-
内核:支持 PostgreSQL 的 alter/ drop index 语句
-
内核:支持 MySQL update force index 语句
-
内核:支持 openGauss create/alter/drop schema 语句
-
内核:优化 RoundRobinReplicaLoadBalanceAlgorithm 和 RoundRobinTrafficLoadBalanceAlgorithm 算法逻辑
-
内核:优化在前端驱动数据库类型和后端不一致时元数据加载逻辑
-
内核:重构元数据加载逻辑
-
内核:show processlist 语句功能性能优化
-
内核:提升大量表场景下的加载性能
-
内核:支持 comment 语句的执行
-
内核:支持 PostgreSQL 和 openGauss 分片场景下的 view 语句的执行
-
内核:支持 ORACLE 的 CREATE ROLLBACK SEGMENT 语句
-
内核:支持解析 openGauss DROP TYPE
-
内核:支持解析 openGauss ALTER TYPE
-
内核:支持解析 Oracle DROP DISKGROUP
-
内核:支持解析 Oracle CREATE DISKGROUP
-
内核:支持解析 Oracle DROP FLASHBACK ARCHIVE
-
内核:支持解析 openGauss CHECKPOINT
-
内核:支持解析 Oracle CREATE FLASHBACK ARCHIVE
-
内核:支持解析 PostgreSQL Close
-
内核:支持解析 openGauss DROP CAST
-
内核:支持解析 openGauss CREATE CAST
-
内核:支持解析 Oracle CREATE CONTROL FILE
-
内核:支持解析 openGauss DROP DIRECTORY
-
内核:支持解析 openGauss ALTER DIRECTORY
-
内核:支持解析 openGauss CREATE DIRECTORY
-
内核:支持解析 PostgreSQL Checkpoint
-
内核:支持解析 openGauss DROP SYNONYM
-
内核:支持解析 openGauss CREATE SYNONYM
-
内核:支持解析 openGauss ALTER SYNONYM
-
内核:支持解析 PostgreSQL CALL Statement
-
内核:支持解析 Oracle CREATE PFILE
-
内核:支持解析 Oracle CREATE SPFILE
-
内核:支持解析 Oracle ALTER SEQUENCE
-
内核:支持解析 Oracle CREATE CONTEXT
-
内核:支持解析 Oracle ALTER PACKAGE
-
内核:支持解析 Oracle CREATE SEQUENCE
-
内核:支持解析 Oracle ALTER ATTRIBUTE DIMENSION
-
内核:支持解析 Oracle ALTER ANALYTIC VIEW
-
内核:使用 ShardingSphere Spi 加载 SQLVisitorFacade
-
内核:使用 ShardingSphere Spi 加载 DatabaseTypedSQLParserFacade
-
内核:支持解析 Oracle ALTER OUTLINE
-
内核:支持解析 Oracle DROP OUTLINE
-
内核:支持解析 Oracle drop edition
-
内核:支持解析 SQLServer WITH Common Table Expression
-
内核:优化 SubquerySegment 在 with 语句中的开始和结束索引
-
内核:重构 JoinTableSegment
-
内核:支持解析 Oracle DROP SYNONYM
-
内核:支持解析 Oracle CREATE DIRECTORY
-
内核:支持解析 Oracle CREATE SYNONYM
-
内核:支持解析 SQLServer XmlNamespaces Clause
-
内核:支持解析 Oracle Alter Database Dictionary
-
内核:支持解析 SQLServer Clause of SELECT Statement
-
内核:支持解析 Oracle ALTER DATABASE LINK
-
内核:支持解析 Oracle CREATE EDITION
-
内核:支持解析 Oracle ALTER TRIGGER
-
内核:支持解析 SQLServer REVERT Statement
-
内核:支持解析 PostgreSQL DROP TEXT SEARCH
-
内核:支持解析 PostgreSQL drop server
-
内核:支持解析 Oracle ALTER VIEW
-
内核:支持解析 PostgreSQL drop access method
-
内核:支持解析 PostgreSQL DROP ROUTINE
-
内核:支持解析 SQLServer DROP USER
-
内核:支持解析 Oracle DROP TRIGGER
-
内核:支持解析 PostgreSQL Drop subscription
-
内核:支持解析 PostgreSQL drop operator class
-
内核:支持解析 PostgreSQL DROP PUBLICATION
-
内核:支持解析 Oracle DROP VIEW
-
内核:支持解析 PostgreSQL DROP TRIGGER
-
内核:支持解析 Oracle DROP DIRECTORY
-
内核:支持解析 PostgreSQL DROP STATISTICS
-
内核:支持解析 PostgreSQL drop type
-
内核:支持解析 PostgreSQL DROP RULE
-
内核:支持解析 SQLServer ALTER LOGIN
-
内核:支持解析 PostgreSQL DROP FOREIGN DATA WRAPPER
-
内核:支持解析 PostgreSQL DROP EVENT TRIGGER statement
-
接入端:ShardingSphere-Proxy MySQL 支持接收长度超过 16 MB 的请求数据包
-
接入端:ShardingSphere-Proxy 增加 SO_BACKLOG 配置项
-
接入端:ShardingSphere-Proxy 默认启用 SO_REUSEADDR
-
接入端:ShardingSphere-Proxy Docker image 增加 aarch64 支持
-
接入端:ShardingSphere-Proxy MySQL 支持配置默认 MySQL 版本号
-
接入端:ShardingSphere-Proxy PostgreSQL / openGauss 支持更多字符集
-
接入端:ShardingSphere-Proxy 增加默认端口配置项
-
弹性伸缩:openGauss 3.0 启用 thread_pool 时,Scaling 兼容 HA port 进行数据同步
-
弹性伸缩:优化 PipelineJobExecutor 中 Zookeeper 事件处理的逻辑,避免 zk 阻塞事件
-
弹性伸缩:Scaling 数据同步不区分表名大小写
-
弹性伸缩:改进 PostgreSQL/openGauss 复制槽清理
-
弹性伸缩:改进准备阶段锁保护
-
弹性伸缩:改进 PostgreSQL 同一记录删除后重建场景下的数据同步
-
弹性伸缩:Scaling 创建的数据源在底层不缓存
-
弹性伸缩:尽量复用数据源,减少数据库连接占用
-
DistSQL:REFRESH TABLE METADATA 支持指定 PostgreSQL’s schema
-
DistSQL:ALTER SHARDING TABLE RULE 时增加对绑定表的校验
-
运行模式:ShardingSphere-JDBC 支持配置数据库连接名
-
分布式事务:事务中禁止执行 DistSQL
-
分布式事务:autocommit = 0, DDL 部分 DML 会自动开启事务
问题修复
- 内核:修复 PostgreSQL 和 openGauss show 语句解析异常
- 内核:修复 PostgreSQL 和 openGauss time extract function 解析异常
- 内核:修复 PostgreSQL 和 openGauss select mod fucntion 解析异常
- 内核:修复读写分离场景下多 schema join 语句的执行异常
- 内核:修复加密场景下执行 create schema 语句的路由异常
- 内核:修复 drop schema if exist 语句的异常
- 内核:修复执行 LAST_INSERT_ID() 路由错误
- 内核:修复 use database 在无数据源状态下执行异常的问题
- 内核:修复带有 set var 的 fucntion 创建语句
- 接入端:修复 ShardingSphere-Proxy PostgreSQL / openGauss Describe PreparedStatement 因字段大小写不匹配导致的空指针
- 接入端:修复 ShardingSphere-Proxy PostgreSQL / openGauss 执行 schema DDL 后没有返回正确 tag 的问题
- 弹性伸缩:修复 MySQL unsigned 类型在 Scaling 过程中出错
- 弹性伸缩:修复一致性检查创建数据源失败时产生连接泄漏的问题
- 弹性伸缩:修复 ShardingSphereDataSource 初始化忽略分片以外规则的问题
- 弹性伸缩:支持 job 在准备阶段被关闭
- 弹性伸缩:修复数据源 url 和 jdbcurl 兼容性问题
- 弹性伸缩:修复 openGauss 数据复制槽创建时机问题,避免可能的增量数据丢失
- 弹性伸缩:改进 job 状态持久化,确保特殊情况下不会被覆盖为老状态
- 弹性伸缩:修复 PostgreSQL 使用 TestDecoder 进行增量迁移时无法正确解析
null
- DistSQL:修复单机和内存模式下,SET VARIABLE 修改不生效的问题
- DistSQL:修复 SHOW INSTANCE LIST 与实际数据不一致的问题
- DistSQL:修复分片规则大小写敏感的问题
- 运行模式:修复 Scaling 功能更改分表规则后新版本元数据丢失数据
- 分布式事务:修复根据 catalog 获取 indexinfo 为空问题
重构
- 弹性伸缩:重构 jobConfig,方便新类型 job 复用及扩展
- 运行模式:优化注册中心计算节点存储结构
- 运行模式:使用 uuid 替代 ip@port 作为实例唯一标识
API 调整
- DistSQL:EXPORT SCHEMA CONFIG 调整为 EXPORT DATABASE CONFIG
- DistSQL:IMPORT SCHEMA CONFIG 调整为 IMPORT DATABASE CONFIG
- 运行模式:调整 db-discovery 算法配置
- DistSQL:SHOW SCHEMA RESOURCES 调整为 SHOW DATABASE RESOURCES
- DistSQL:COUNT SCHEMA RULES 调整为 COUNT DATABASE RULES
- 权限:权限提供者
ALL_PRIVILEGES_PERMITTED
更新为ALL_PERMITTED
- 权限:权限提供者
SCHEMA_PRIVILEGES_PERMITTED
更新为DATABASE_PERMITTED
- 标签:
原文链接:https://77isp.com/post/34440.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
-
1centos7安装mysql时提示mysql-community-libs-compat的公钥尚未安装怎么办?
数据库技术 2022-03-28
-
2DreamWeaver文字怎么居中对齐? dw垂直居中对齐的技巧
网站技术 2022-11-26
-
3php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
网站技术 2023-01-07
-
4nginx rewrite 伪静态配置参数和使用例子
网站技术 2022-11-17
-
5windows server 各版本系统内存最大支持情况
Windows相关 2022-02-23
-
6PHP基础用法讲解及phpinfo();演示
网站技术 2023-01-14
-
7啊实打实
Windows相关 2022-02-16
-
8Dell服务器bios开启虚拟化(VT)支持
Windows相关 2022-02-16
-
9Linux系统装完以后网卡无法使用,网卡灯不亮问题。
Linux相关 2022-02-27
-
10windows系统SQL Server2014数据库安装教程
数据库技术 2022-02-20
-
1野径云俱黑,江船火独明。
抠敌 2023年10月23日
-
2燕语莺声三天打鱼
嚼餐 2023年10月23日
-
3众鸟高飞尽,孤云独去闲。
男忌 2023年10月22日
-
4龙马精神一呼百应
瓮仆 2023年10月22日
-
5不知明镜里,何处得秋霜。
簿偌 2023年10月22日