 孟浩然-Apache ShardingSphere 架构解析&应用实践Apache ShardingSphere 架构解析与应用实践 孟浩然 2021/12/11 01 孟浩然 SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database Plus 解决方案 目录 产 品 定 位 l 构建异构数据库的上层标准和生态 l 提供精准化和差异化的能力 产 品 定 位 4.X 5.X 定位 分 库 分 表 中 间 件 分 布 式 数 据 库 生 态 系 统 功能 提 供 基 础 功 能 提 供 基 础 品 架 构 部 署 架 构 l ShardingSphere-JDBC 采用无中心化架 构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用; l ShardingSphere-Proxy 提供静态入口 以及异构语言的支持,独立于应用程序 部署,适用于 OLAP 应用以及对分片数 据库进行管理和运维的场景。 整 体 架 构 l L1 内核层:面向数据库内核, 包括数据库事务引擎,查询优0 码力 | 31 页 | 2.36 MB | 1 年前3 孟浩然-Apache ShardingSphere 架构解析&应用实践Apache ShardingSphere 架构解析与应用实践 孟浩然 2021/12/11 01 孟浩然 SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database Plus 解决方案 目录 产 品 定 位 l 构建异构数据库的上层标准和生态 l 提供精准化和差异化的能力 产 品 定 位 4.X 5.X 定位 分 库 分 表 中 间 件 分 布 式 数 据 库 生 态 系 统 功能 提 供 基 础 功 能 提 供 基 础 品 架 构 部 署 架 构 l ShardingSphere-JDBC 采用无中心化架 构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用; l ShardingSphere-Proxy 提供静态入口 以及异构语言的支持,独立于应用程序 部署,适用于 OLAP 应用以及对分片数 据库进行管理和运维的场景。 整 体 架 构 l L1 内核层:面向数据库内核, 包括数据库事务引擎,查询优0 码力 | 31 页 | 2.36 MB | 1 年前3
 Apache ShardingSphere Shadow DB 及在 CyborgFlow 中的应用 - 侯阳com/apache/shardingsphere OpenSEC: https://community.sphere-ex.com 文字 Apache ShardingSphere Overview Shadow DB 应用场景 Shadow DB 架构设计 全链路压测:流量规划,比如双 11,618 等 灰度发布:指定测试用户的体验版本发布 服务预热:预热数据隔离 对比测试:基于版本的对比测试 Shadow database-shadow 数据路由 cyborg-database-shadow sw8-correlation: cyborg-flow=true CyborgFlow POC1 文字 直接调用服务应用模拟生产环境调用 调用 cyborg-flow-gateway 网关模拟压测环境调用 CyborgFlow POC2 文字 真实流量的调用链路 压测流量的调用链路 CyborgFlow POC30 码力 | 22 页 | 3.83 MB | 1 年前3 Apache ShardingSphere Shadow DB 及在 CyborgFlow 中的应用 - 侯阳com/apache/shardingsphere OpenSEC: https://community.sphere-ex.com 文字 Apache ShardingSphere Overview Shadow DB 应用场景 Shadow DB 架构设计 全链路压测:流量规划,比如双 11,618 等 灰度发布:指定测试用户的体验版本发布 服务预热:预热数据隔离 对比测试:基于版本的对比测试 Shadow database-shadow 数据路由 cyborg-database-shadow sw8-correlation: cyborg-flow=true CyborgFlow POC1 文字 直接调用服务应用模拟生产环境调用 调用 cyborg-flow-gateway 网关模拟压测环境调用 CyborgFlow POC2 文字 真实流量的调用链路 压测流量的调用链路 CyborgFlow POC30 码力 | 22 页 | 3.83 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 海量数据高并发的 OLTP 场景0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 海量数据高并发的 OLTP 场景0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0. . 51 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 应用性能监控集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Agent 集成 . . . . . . 204 结束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 应用配置项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 v 5.4.3 使用手册 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0. . 51 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 应用性能监控集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Agent 集成 . . . . . . 204 结束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 应用配置项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 v 5.4.3 使用手册 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alpha. . 69 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 应用性能监控集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Agent 集成 . . . . . . . 261 结束 ShardingSphere‐Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 应用配置项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 4.4.3 使用手册 . . Sidecar (规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平 扩展、分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用 场景。 Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并 非实现一个全新的关系型数据库。关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha. . 69 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 应用性能监控集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Agent 集成 . . . . . . . 261 结束 ShardingSphere‐Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 应用配置项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 4.4.3 使用手册 . . Sidecar (规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平 扩展、分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用 场景。 Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并 非实现一个全新的关系型数据库。关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3
共 19 条
- 1
- 2













