Apache ShardingSphere 5.0.0 GA 版在经历 5.0.0-alpha 及 5.0.0-beta 接近两年时间的研发和打磨,终于将在 11 月份与大家正式见面!
11 月 10 日是 Apache ShardingSphere 进入 Apache 基金会的三周年纪念日。在这特殊的一天,ShardingSphere 的核心 Team 也响应社区的呼唤,将 5.0.0 GA 版作为三周年纪念日的礼物呈现给社区及整个分布式数据库和安全生态领域。
 
自 5.0.0 系列研发伊始,ShardingSphere 就逐渐脱离简单的分布式数据库中间件解决方案的行业定位。取而代之的是,Database Plus 理念将成为 5.0.0 及今后版本的新定位及新航标。通过重新塑造分布式可插拔体系,连通用户实际落地场景,为社区及整个数据库行业带来新风向及更有价值的解决方案。5.0.0 GA 版将成为这一理念的首个实践版本,集成整个 Global 级别 ShardingSphere 社区的贡献力量,更大价值地回报给整个 Apache 全球社区及行业领域。
 
Database Plus 是指在碎片化的数据库基础服务之上构建标准层和生态层,从而对上层应用提供统一标准化的数据库使用规范,尽可能屏蔽底层数据库差异化带来的业务干扰。在连接上层应用与底层数据库的链路上,通过流量及数据劫持与解析,为用户提供分布式、数据库脱敏安全、数据库网关、数据路由压测等核心能力的增强。在这一理念的支撑下,5.0.0 GA 版将带来以下内容的升级和优化。
潘娟|Trista
SphereEx 联合创始人兼 CTO, Apache member, Apache ShardingSphere PMC, Apache brpc(Incubating) & Apache AGE(Incubating) mentor, 中国木兰开源社区导师。 曾负责京东数科数据库智能平台的设计与研发,现专注于分布式数据库 & 中间件生态及开源领域。被评为《2020 中国开源先锋人物》,OSCAR 2021 尖峰开源人物。
 
 
* 相关链接
Bio: https://tristazero.github.io
LinkedIn: https://www.linkedin.com/in/panjuan
GitHub: https://github.com/tristaZero
Twitter: https://twitter.com/tristaZero

1 架构层面

Database Plus 可插拔核心架构基本完成
  • 基础层:提供多种接入端及接入形态,灵活满足用户不同场景的需求;
  • 插拔层:作为可插拔核心架构,提供面向基础架构的支撑能力;
  • 功能层:提供多种贴合用户需求的功能插件,方便用户选择和自由组合;
  • 产品层:面向最终用户,提供面向行业和特定场景的标品方案。
多接入端混合模式生产可用
 
ShardingSphere JDBC 及 ShardingSphere Proxy 在经过一年的打磨和测试验证后,通过大型社区用户提供相关生产案例,已验证生产可行性。此外,SphereEx 将基于 ShardingSphere 生态,计划在 2022 年初推出面向 CloudNative 的 ShardingSphere Sidecar 接入端 POC 开源版。这三种模式在真实生产环境中既可实现单独部署,也可以使用多接入端混合部署的形式,均面向核心架构共享,进而能够接入形态多样的 ShardingSphere 生态,形式如下图所示。
分布式 SQL 打造标准化集群管理
 
Apache ShardingSphere 首创提出 DistSQL(分布式 SQL)的独特 SQL 方言,用于与 ShardingSphere 整个生态打通,成为与 ShardingSphere 分布式数据库生态的标准化交互语言,用于一条 SQL 创建、修改、删除分布式数据库表、脱敏/加密数据库表及提供分布式调度管理能力。
CREATE SHARDING TABLE RULE t_order (
RESOURCES(resource_0,resource_1),
SHARDING_COLUMN=order_id,
TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=4)),
GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES("worker-id"=123)))
),t_order_item (
DATANODES("resource_${0..1}.t_order${0..1}"),
DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=database_inline),
GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES("worker-id"=123)))
); ALTER SHARDING TABLE RULE t_order (
RESOURCES(resource_0,resource_1),
SHARDING_COLUMN=order_id,
TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=10)),
GENERATED_KEY(COLUMN=another_id,TYPE(NAME=snowflake,PROPERTIES("worker-id"=123)))
),t_order_item (
DATANODES("resource_0.t_order${0..1}"),
DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=database_inline),
GENERATED_KEY(COLUMN=another_id,TYPE(NAME=uuid,PROPERTIES("worker-id"=123)))
); DROP SHARDING TABLE RULE t_order, t_order_item;
分布式治理能力大幅度提升
 
在存算分离的 ShardingSphere 生态里,数据库(存储节点)与 Proxy 及 JDBC(计算节点)的分布式治理、在线用户元数据 DDL 变更、存储节点及计算节点的运行时上下线、熔断与禁用、高可用能力都在这个版本基本完善,此外分布式锁功能也在规划当中。
APM 及监控展示能力全面升级
 
优化并增加更多 ShardingSphere 运行时状态指标,通过 agent 动态加载机制,为用户提供各种 Metrics 及 Tracing 的监控指标,方便对接 APM 系统及 Grafana dashboard。

2 功能层面

ShardingSphere 社区将继续打磨产品,并不断融入行业新想法和新场景,持续发声和反馈。同时,社区的核心 Team 也非常愿意为想要参与开源的同学带来相关指导和提供更多的实战 Issue,方便新同学、老朋友能在 ShardingSphere 社区找到发光点、学习新知、结交来自全球各地的开发者。希望能与大家在 ShardingSphere 社区相遇!
 
作为本次的 Release Manager,Apache ShardingSphere 社区 PMC 孟浩然将为大家带来关于此次新特性的全面解读,扫描下方二维码即可观看。

3 欢迎参与 Apache ShardingSphere Dev Meetup

11 月 13 日,由 Apache ShardingSphere 社区主办的【Apache ShardingSphere Dev Meetup】将于北京市海淀区中关村大街 32 号智能制造创新中心 1 楼多功能厅举办。本次活动以【开放原生,包容生态 | Apache ShardingSphere 新形态探索之旅】为主题,聚焦最近更新的 Apache ShardingSphere 5.0.0 正式版本的新特性,国内三大顶级开源社区共同携手,从社区建设、技术合作、生态共建等多个角度,探索开源社区治理的新方式。
 
欢迎大家点击【这里】报名参加。
 
接下来我们也将持续为大家带来 Apache ShardingSphere 5.0.0 的正式发布报道、功能特性解读等技术文章,欢迎锁定我们的系列更新!
 
ShardingSphere GitHub 地址:
 
https://github.com/apache/shardingsphere
 
* 在使用 ShardingSphere 的过程中,如果您发现任何问题,有新的想法、建议,欢迎点击“链接“通过 Apache 邮件列表参与到 ShardingSphere 的社区建设中。
 

重磅|Apache ShardingSphere 5.0.0 即将正式发布的更多相关文章

  1. .NET Core 1.0.0 RC2

    .NET Core 1.0.0 RC2 在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支 ...

  2. Apache ShardingSphere 5.0.0 内核优化及升级指南

    经过近两年时间的优化和打磨,Apache ShardingSphere 5.0.0 GA 版终于在本月正式发布,相比于 4.1.1 GA 版,5.0.0 GA 版在内核层面进行了大量的优化.首先,基于 ...

  3. Apache Spark 2.2.0 正式发布

    本章内容: 待整理 参考文献: Apache Spark 2.2.0正式发布 Spark Release 2.2.0

  4. Apache Kafka 1.0.0正式发布!

    千呼万唤始出来,经过7年的发展与完善,Apache Kafka 1.0.0正式发布!在笔者看来,比起1.0.0引入的新功能,此版本最大的意义在于标识Kafka各种组件功能的稳定性.不过我们还是来看下1 ...

  5. Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  6. 官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行!

    官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行! 原创 Apache 博客 [Flink 中文社区](javascript:void(0) 翻译 | 付典 Revie ...

  7. Apache Flink 1.12.0 正式发布,DataSet API 将被弃用,真正的流批一体

    Apache Flink 1.12.0 正式发布 Apache Flink 社区很荣幸地宣布 Flink 1.12.0 版本正式发布!近 300 位贡献者参与了 Flink 1.12.0 的开发,提交 ...

  8. 重磅:Spring Boot 2.0 正式发布!

    Spring Boot 2.0 正式发布! 2018/03/01最新消息,传得沸沸扬扬的Spring Boot 2.0 正式发布了. 小编去看了下Spring Boot的官网,正式版本已经释放出来了! ...

  9. 官宣!ElasticJob 3.0.0 版本正式发布

    ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成.它通过弹性调度.资源管控.以及 ...

随机推荐

  1. 常用的jquery 中一些js

    目录: 1.验证用户登录信息 2. 获取下拉框所选中的元素 3.  动态获取 id 和对应文本框的值  4. table 中 tr  的隐藏 5 . 更换图片  6. ajax  进行提交 7. 判断 ...

  2. MySQL&ES连接池

    数据库的连接池建议放在类似settings.py的配置模块中,因为基本都是配置项,方便统一管理. 1) 连接池类#settings.py import os from DBUtils.PooledDB ...

  3. 最小化安装centos7心得

    在虚拟机里最小化安装了centos7,只有字符界面,发现网卡不通,解决方法: 调整网卡配置文件: cd /etc/sysconfig/network-scripts/ 有两个ifcfg文件,一个ifc ...

  4. CF891B-Gluttony【构造】

    正题 题目链接:https://www.luogu.com.cn/problem/CF891B 题目大意 给出\(n\)个数字互不相同的一个序列\(a\),求它的一个排列\(b\),使得选出任意一个\ ...

  5. sonar入门

    一.Sonar是什么? 根据我的了解,可以说Sonar包含三个部分: SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码味道.它可以与您现有的工作流程集成,以实现跨项目分支和提 ...

  6. 现在有一个长度20的SET,其中每个对象的内容是随机生成的字符串,请写出遍历删除LIST里面字符串含"2"的对象的代码。

    现在有一个长度20的SET,其中每个对象的内容是随机生成的字符串,请写出遍历删除LIST里面字符串含"2"的对象的代码. public class RemoveTwo { //le ...

  7. 巧用优先队列:重载运算符在STL优先队列中的应用

    前言 写优先队列优化dijkstra的时候,需要放进优先队列的常常有数值和编号两类,以下介绍让编号捆绑数值放入优先队列的几种方法. 由于过程比较简单,记住代码即可,下面不再讲解,只附上代码,请读者自行 ...

  8. nodejs安装 及环境变量配置教程 超详细版

    ------------恢复内容开始------------ ------------恢复内容开始------------ 上篇文件 写到  遇到了两个棘手问题  : @终端进程启动失败: shell ...

  9. mysql8.0.20安装配置教程

    mysql配置安装教程 1.下载mysql8.0.20安装包 下载地址: https://dev.mysql.com/downloads/mysql/.找到安装包后下载.(官网为英文,如果看不懂的小伙 ...

  10. docker-compose 搭建kafka集群

    docker-compose搭建kafka集群 下载镜像 1.wurstmeister/zookeeper 2.wurstmeister/kafka 3.sheepkiller/kafka-manag ...