当前位置:网站首页>Apache ShardingSphere 5.1.2 发布|全新驱动 API + 云原生部署,打造高性能数据网关
Apache ShardingSphere 5.1.2 发布|全新驱动 API + 云原生部署,打造高性能数据网关
2022-06-21 12:32:00 【InfoQ】
- ShardingSphere-Proxy Helm Chart
- SQL 方言翻译
- 以 Driver 形式使用 ShardingSphere-JDBC
新功能介绍
- 使用 Helm 部署 ShardingSphere-Proxy

- 全新 SQL 方言翻译能力

- 以 Driver 的形式使用 ShardingSphere-JDBC
Class.forName("org.apache.shardingsphere.driver.ShardingSphereDriver");
Connection conn = DriverManager.getConnection("jdbc:shardingsphere:classpath:config.yaml");// 以 HikariCP 为例
HikariDataSource dataSource = new HikariDataSource();
dataSource.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver");
dataSource.setJdbcUrl("jdbc:shardingsphere:classpath:config.yaml");
Connection conn = dataSource.getConnection();对已有能力的提升
内核
ShardingSphere-Proxy
弹性伸缩
更新日志
新特性
- 内核:支持 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 替代 [email protected] 作为实例唯一标识
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`
相关链接
社区建设

边栏推荐
猜你喜欢

路由器Telnet及ACL配置

Educoder Web练习题---结构元素

Educator table labels - settings for Advanced Table Styles

i. MX - rt1052 sdcard operation (SDIO interface)

3D Slicer将分割结果保存

Simple factory vs Factory Method & handwritten automatic chemical factory - system learning 6

Add a description to the form component

i. MX - rt1052 pulse width modulation (PWM)

Educoder web exercises - structural elements

DVWA配置教程
随机推荐
Why are there only 13 root domain name servers in the world
Educoder web exercises - form structure
i. MX - rt1052 input / output (GPIO)
[100 unity step pit knowledge points] | collision box detection physics in unity OverlapBox、OverlapCaps
Artifacial Intelligent Project
uva11300
2. 数据类型
一篇文章带你搞懂什么是DevOps?
~~~~配置
8 种最坑的SQL错误用法
"Forget to learn again" shell process control - 36. Introduction to the for loop
About SDRAM memory
PostgreSQL 逻辑存储结构
一文掌握SQLite3基本用法
i. MX - rt1052 clock and phase locked loop (PLL) analysis
vscode中使用slurm集群上计算节点调试程序
网页加载时waiting(TTFB)时间过长的问题解决
Educoder Web练习题---文本层次语义元素
postgreSQL中的MVCC
dicom格式转成nii.gz文件