Apache ShardingSphere(Incubating) 云架构演化
zhangliang@apache.org) 京东数科-潘娟(email: panjuan@apache.org ) Book Apache 完全开源 Apache的首个分布式数据库中间件 京东主导,多公司参与 应用广泛,已知70+公司的应用案例 发展历程 2015.10 项目启劢 2016.01 正式开源 2016.08 star突破1000 NewSQL 键值数据库 文档数据库 列族数据库 图数据库 …… 分布式数据库 分布式数据库中间件 云数据库 MySQL Oracle PostgreSQL SQLServer …… 分布式数据库中间优势 底层数据库成熟性 增量持续革新 接入与运维成本低 数据库中间件应具备的能力 1 数据分片 2 3 分布式事务 App1 S1 App2 App3 M2 sync read S2 S3 M1 M3 write 引入中间件 App1 M1 App2 App3 S2 M2 M3 S1 S3 数据库中间件 write sync read 拆分策略定制化 行表达式:t_order_$->{uid % 8} 内置规则:hash0 码力 | 37 页 | 3.00 MB | 1 年前3Apache ShardingSphere(Incubating)云架构演化
云架构演化 Juan Pan panjuan@apache.org JD Digits 2018年PostgreSQL中国技术大会 Apache u 完全开源 u Apache的首个分布式数据库中间件 u 京东主导,多公司参与 u 应用广泛,已知70+公司的应用案例 2018年PostgreSQL中国技术大会 发展历程 2015.10 Ø 项目启动 2016.01 Ø 正式开源 键值数据库 文档数据库 列族数据库 图数据库 …… 分布式数据库 分布式数据库中间件 云数据库 MySQL Oracle PostgreSQL SQLServer …… 2018年PostgreSQL中国技术大会 分布式数据库中间优势 ü 底层数据库成熟性 ü 增量持续革新 ü 接入与运维成本低 2018年PostgreSQL中国技术大会 数据库中间件应具备的能力 1 数据分片 2 3 S1 App2 App3 M2 sync read S2 S3 M1 M3 write 2018年PostgreSQL中国技术大会 引入中间件 App1 M1 App2 App3 S2 M2 M3 S1 S3 数据库中间件 write sync read 2018年PostgreSQL中国技术大会 拆分策略定制化 哈希 范围 标签 时间 复合 u 行表达式:t_order_$->{uid0 码力 | 34 页 | 5.07 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0
. 259 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.4.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 7.4.4 加密算法解析 . . . . 用系统,使得架构师更加自由地调整适合与当前业务的最佳系统架构。 1.1. 简介 4 Apache ShardingSphere document, v5.0.0 1.2 解决方案 解决方案/功能 分布式数据库 数据安全 • 数据库网关 * • 全链路压测 * 数据分片 数据加密 异构数据库支持 影子库 读写分离 行级权限(TODO) SQL 方 言 转 换 (TODO) 可观测性 分布式事务 Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3.4 注意事项 DistSQL 只能用于 Sharding0 码力 | 385 页 | 4.26 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0-alpha
. . . . 76 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 加密算法解析 . . . . . . . . 同级目录下生成代码,容易误提交,如何避免? . . . . . . . . . . . . 292 viii 1 概览 星评增长时间线 贡献者增长时间线 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar (规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平 扩展、分布式事务和分布式治理等功能,可适用于如 致可分为尾数取模、哈希、范围、标签、时间等。由用户方配置的分片策略则更加灵活,可以根据使用方 需求定制复合分片策略。如果配合数据自动迁移来使用,可以做到无需用户关注分片策略,自动由数据 库中间层分片和平衡数据即可,进而做到使分布式数据库具有的弹性伸缩的能力。在 ShardingSphere 的 线路规划中,弹性伸缩将于 4.x 开启。 分片路由 用于根据分片键进行路由的场景,又细分为直接路由、标准路由和笛卡尔积路由这 30 码力 | 301 页 | 3.44 MB | 1 年前3Apache ShardingSphere 中文文档 5.2.0
. 367 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 7.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 7.7.4 加密算法解析 . . . . ShardingSphere 的定义,设计哲学和部署形态。 更多常见问题,请参考 FAQ。 1.1 什么是 ShardingSphere 1.1.1 介绍 Apache ShardingSphere 是一款开源的分布式数据库生态项目,由 JDBC 和 Proxy 两款产品组成。其核心 采用微内核 + 可插拔架构,通过插件开放扩展功能。它提供多源异构数据库增强平台,进而围绕其上层 构建生态。 Apache ShardingSphere v5.2.0 1.1.2 产品功能 特性 定义 数 据 分片 数据分片,是应对海量数据存储与计算的有效手段。ShardingSphere 提供基于底层数据库之 上,可计算与存储水平扩展的分布式数据库解决方案。 分 布 式 事 务 事务能力,是保障数据库完整、安全的关键技术,也是数据库的核心技术之一。ShardingSphere 提供在单机数据库之上的分布式事务能力,可实现跨底层数据源的数据安全。0 码力 | 449 页 | 5.85 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.1
. 261 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 7.5.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 7.5.4 加密算法解析 . . . . 用系统,使得架构师更加自由地调整适合于当前业务的最佳系统架构。 1.1. 简介 4 Apache ShardingSphere document, v5.1.1 1.2 解决方案 解决方案/功能 分布式数据库 数据安全 • 数据库网关 * • 全链路压测 * 数据分片 数据加密 异构数据库支持 影子库 读写分离 行级权限(TODO) SQL 方 言 转 换 (TODO) 可观测性 分布式事务 Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3. DistSQL 14 Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.0
. 256 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.5.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.5.4 加密算法解析 . . . . 用系统,使得架构师更加自由地调整适合于当前业务的最佳系统架构。 1.1. 简介 4 Apache ShardingSphere document, v5.1.0 1.2 解决方案 解决方案/功能 分布式数据库 数据安全 • 数据库网关 * • 全链路压测 * 数据分片 数据加密 异构数据库支持 影子库 读写分离 行级权限(TODO) SQL 方 言 转 换 (TODO) 可观测性 分布式事务 Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3. DistSQL 14 Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.2
. 272 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 7.5.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 7.5.4 加密算法解析 . . . . 用系统,使得架构师更加自由地调整适合于当前业务的最佳系统架构。 1.1. 简介 4 Apache ShardingSphere document, v5.1.2 1.2 解决方案 解决方案/功能 分布式数据库 数据安全 • 数据库网关 * • 全链路压测 * 数据分片 数据加密 异构数据库支持 影子库 读写分离 行级权限(TODO) SQL 方 言 转 换 (TODO) 可观测性 分布式事务 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3. DistSQL 14 Apache ShardingSphere document, v5.1.2 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3.4 注意事项 DistSQL 只能用于 Sharding0 码力 | 446 页 | 4.67 MB | 1 年前3Apache ShardingSphere 中文文档 5.4.1
12.7.2 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 12.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 12.7.4 加密算法解析 . . . . . . . 515 xiii 1 什么是 ShardingSphere 1.1 介绍 Apache ShardingSphere 是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并 通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。它关注如 ShardingSphere document 8.5.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式0 码力 | 530 页 | 4.49 MB | 1 年前3Apache ShardingSphere 中文文档 5.3.2
12.7.2 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 12.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 12.7.4 加密算法解析 . . . . . . . . 494 xii 1 什么是 ShardingSphere 1.1 介绍 Apache ShardingSphere 是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并 通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。它关注如 ShardingSphere document 8.5.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式0 码力 | 508 页 | 4.44 MB | 1 年前3
共 16 条
- 1
- 2