分库分表工具:Apache ShardingSphere 5.0.0-alpha 发布

剪发的Tony 2020-11-16 10:00:14 ⋅ 262 阅读

Apache ShardingSphere 5.0.0 发布了 alpha 版本,自上个版本 4.1.1 发布以来,Apache ShardingSphere 一直在修复社区反馈的问题、加强功能和开发新特性。

根据官方的说法,5.x 是 Apache ShardingSphere 从分库分表中间件向分布式数据库生态转化的里程碑,从 4.x 版本后期开始打磨的可插拔架构在 5.x 版本已逐渐成型,项目的设计理念和 API 都进行了大幅提升。

Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(规划中)这 3 款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务、数据迁移、数据库治理和管控界面功能,可适用于如 Java 同构、异构语言、容器、云原生等各种多样化的应用场景。

5.0.0-alpha 版本发布信息具体如下

新特性

  1. 可插拔架构全面上线,支持开发者通过SPI机制扩展功能。

    (扩展点请参见开发者手册:https://shardingsphere.apache.org/document/current/cn/dev-manual/)

  2. 提供独立SQL解析功能,用于解析多数据库方言。

  3. 提供RDL(Rule Definition Language)语句,支持使用SQL在线创建分片规则。

  4. 新增影子数据库功能。

编译 & 依赖

  1. 升级JDK的最低支持版本至Java8。

  2. 更新Google Guava库到29.0-jre版本。

  3. 更新Zookeeper 至 3.6.x 版本,并更新curator至5.1.0版本。

API 变更

  1. 全新分片/数据加密/影子库/主从规则配置API。

  2. 全新分片策略及分片算法API。

  3. 全新弹性迁移创建任务的API。

  4. 删除DefaultDataSourceName配置项,由ShardingSphere托管所有数据源。

  5. 属性配置项分隔符由点‘.’修改为减号‘-’。

  6. 参数allow.range.query.with.inline.sharding由全局参数调整至分片算法参数。

重构

  1. 依据数据库方言,重构解析模块域模型对象。

  2. 使用SPI机制重构元数据在线变更处理。

  3. Orchestration模块重名为Governance模块。

  4. MasterSlave模块重名为QueryReplica模块。

  5. 重构Governance注册中心中的元数据结构。

  6. ShardingSphere UI合并配置中心和注册中心显示布局。

增强

  1. MySQL SQL 和 PostgreSQL语法定义及解析支持增强。

  2. 增强对各方言数据库子查询的支持度。

  3. 支持对非分片表使用MySQL视图操作。

  4. ShardingSphere Proxy支持对非分片表使用MySQL存储函数、存储过程操作。

  5. 支持使用SQLServer Top语法。

  6. 优化接入端metadata加载方式,提高启动速度。

  7. 优化批量插入性能。

  8. 接入端支持使用Oracle RAC连接串。

  9. XA事务管理器增加对Oracle数据库的支持。

  10. ShardingSphere Proxy支持使用p6sy驱动。

  11. 迁移工具支持断点续传功能。

  12. 迁移工具支持使用ShardingSphere JDBC迁移数据至新集群。

漏洞修复

  1. 修复处理OrderBy条件时,别名改写错误问题。

  2. 修复MySQL Insert语句包含表达式时,SQL改写错误问题。

  3. 修复Update on duplicate SQL中参数计算错误问题。

  4. 修复批量插入时,generatedKeys获取错误的问题。

  5. 修复DML语句更新操作多表校验异常问题。

  6. 修复表不存在时执行SQL导致NPE问题。

  7. 修复对不在配置规则中的表使用Show table命令的报错问题。

  8. 修复Oracle数据库在多用户场景下元数据加载错误问题。

  9. 修复不能在线启用从库节点问题。

  10. 修复ShardingSphere JDBC不支持PostgreSQL数组类型问题。

  11. 修复ShardingSphere Proxy在查询超长blob数据时无响应问题。

ShardingSphere-UI

  1. 合并配置中心和注册中心。

  2. 支持配置etcd注册中心。

  3. 支持查看metadata。

  4. 支持动态删除schema。

变更日志 MILESTONE
https://github.com/apache/shardingsphere/milestone/10


全部评论: 0

    我有话说:

    什么情况下才需要分库

    我请教一下,我模拟测试,搞了几张大都是3千万左右的数据,带主键查询秒级响应,jmeter插入能够达到每秒6、700条左右,我业务量每秒就是300条左右插入,这个场景下是否不需要考虑分库的问题?

    为什么说作为程序员分库的必要性一定要掌握?

      互联网大厂程序员必须掌握海量数据和高并发问题处理技能,期望进入大厂的程序员一定要仔细看这篇! MySQL 分库是做什么的? 相信很多程序员对 MySQL 都比较熟悉了,目前国内

    Apache Tomcat 8.5.59、9.0.39和10.0.0-M9发布

    Apache Tomcat 8.5.59, 9.0.39 和 10.0.0-M9 已发布。 8.5.x 已取代 8.0.x,并增加了从 Tomcat 9.0.x 中吸收的新功能。与 8.5.58

    Apache Camel 3.6.0 发布,集成项目工具

    简介 Apache Camel 作为集成项目的利器,针对应用集成场景的抽象出了一套消息交互模型,通过组件的方式进行第三方系统的接入,目前 Apache Camel 已经提供了 300 多种

    「尝鲜」SpringBoot 快速整合Swagger 3.0

    第一步:Maven引入Swagger3.0 starter依赖 Maven项目中引入springfox-boot-starter依赖: <dependency> <

    Apache Tomcat 10.0.4、9.0.44 和 8.5.64 发布

    Apache Tomcat 三个分支发布了更新,分别是 10.0.4、9.0.44 和 8.5.64。 Tomcat 10.0.x 系列的目标平台是 Jakarta EE 9。官方表示,Tomcat

    ElasticJob 3.0.0-beta 发布,丰富的报警机制集成

    本周Apache ShardingSphere团队很高兴的向大家宣布: ElasticJob-3.0.0-beta 和 ElasticJob UI-3.0.0-beta 的新版本正式发布

    Apache Beam 2.25.0 发布,大数据流处理与批处理编程范式

    Apache Beam 2.25.0 发布了。Beam 是一个用于定义和执行数据处理管道的统一编程模型,包括 ETL、批处理与流处理。Beam 项目重点在于数据处理的编程范式和接口定义,并不涉及具体

    Apache Arrow 3.0.0 发布,内存数据交换格式

    Apache Arrow 3.0.0 发布了,该版本包含 2.0.0 发布以来修复的 678 个问题。Apache Arrow 是 Apache 基金会的顶级项目之一,目的是作为一个跨平台的数据层来

    【推荐】前端框架 Bootstrap 5.0 alpha 发布,不再依赖 jQuery

    Bootstrap 5 的两个重要变化是,它不再依赖 jQuery,并且不再支持 Internet Explorer。

    Gradle 5.0 RC2 发布,支持 Java 11、Kotlin DSL 生产就绪

    Gradle 5.0 RC2 发布了,Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。

    Apache Superset 1.0 发布

    Apache 软件基金会近日宣布 Apache Superset 晋升为 ASF 顶级项目。与此同时,Apache Superset 也迎来了重大里程碑 1.0 版本

    「开源资讯」Apache Tomcat 8.5.49 发布

    更新说明Apache Tomcat 8.5.49 发布了。8.5.x 替换了 8.0.x,并包含了一些从 9

    Apache SkyWalking 8.2.0 发布:新增浏览器端监控和指标分析语言、使用标签查询

    Apache SkyWalking 8.2.0发布,SkyWalking 是观察性分析平台和应用性能管理系统 (APM),提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,支持

    Apache IoTDB 0.11.2 发布,物联网时序数据库

    Apache IoTDB 0.11.2 现已发布Apache IoTDB 是一个集成数据专为时间序列数据设计的管理引擎。它为用户提供以下服务:数据收集、存储和分析。由于其轻巧的结构,高

    「轻阅读」大众点评是如何分库的?

    原大众点评的订单单早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想

    Apache Wicket 9.3.0 发布,Java Web 开发框架

    Apache Wicket 9.3.0 现已发布。Wicket 是一个 Java 语言的 Web 开发框架,与 Struts、WebWork、Tapestry 相类似,其特点在于对

    WeCube 2.7.0 版本发布,一站式架构和运维管理工具

    WeCube简介 微众银行在分布式架构实践的过程中,发现将银行核心系统构建于分布式架构之上,会遇到一些与传统单体应用不同的痛点(例如,服务器增多,部署难度大;调用链长,全链路跟踪困难; 系统复杂

    一文看懂mycat配置--数据库的读写分离分库

    ,数据库的处理本身优化也是非常重要的。主从、热备、...