Apache ShardingSphere(Incubating) 云架构演化zhangliang@apache.org) 京东数科-潘娟(email: panjuan@apache.org ) Book Apache 完全开源 Apache的首个分布式数据库中间件 京东主导,多公司参与 应用广泛,已知70+公司的应用案例 发展历程 2015.10 项目启劢 2016.01 正式开源 2016.08 star突破1000 键值数据库 文档数据库 列族数据库 图数据库 …… 分布式数据库 分布式数据库中间件 云数据库 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 年前3
Apache ShardingSphere(Incubating)云架构演化Juan Pan panjuan@apache.org JD Digits 2018年PostgreSQL中国技术大会 Apache u 完全开源 u Apache的首个分布式数据库中间件 u 京东主导,多公司参与 u 应用广泛,已知70+公司的应用案例 2018年PostgreSQL中国技术大会 发展历程 2015.10 Ø 项目启动 2016.01 Ø 正式开源 2016 文档数据库 列族数据库 图数据库 …… 分布式数据库 分布式数据库中间件 云数据库 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 年前3
解密SHARDINGSPHERE与SERVICECOMB联合打造的分布式事务解决方案github.com/apache?q=servicecomb servicecomb.apache.org Apache ShardingSphere简介 完全开源 Apache的首个分布式数据库中间件 gitHub近8000star,近百家公司的成功落地案例 核心功能:数据分片&分布式事务&数据库治理 多接入端选择 京东主导,多公司&社区参与推动 4 github.com/apache App1 S1 App2 App3 M2 sync read S2 S3 M1 M3 write App1 M1 App2 App3 S2 M2 M3 S1 S3 数据库中间件 write sync read 7 github.com/apache?q=servicecomb servicecomb.apache.org SQL解析 SQL改写 结果归并 SQL执行0 码力 | 19 页 | 4.18 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alpha. . . . 76 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 加密算法解析 . . . . . . . . 需要在复用该数据库连接获取下一张分表的查询结果集之前,将当前的查询结果集全数加载至内存。因 此,即使可以采用流式归并,在此场景下也将退化为内存归并。 一方面是对数据库连接资源的控制保护,一方面是采用更优的归并模式达到对中间件内存资源的节省,如 何处理好两者之间的关系,是 ShardingSphere 执行引擎需要解决的问题。具体来说,如果一条 SQL 在经 过 ShardingSphere 的分片后,需要操作某数据库实例下的 4.2 挑战 分布式治理的挑战,主要在于集群管理的复杂性,以及如何以统一和标准的方式对接各种第三方集成组 件。 集成管理的复杂性体现在,一方面我们需要把所有的节点,不管是底层数据库节点,还是中间件或者业 务系统节点,它们的状态都统一管理起来,并且能够实时的探测到最新的变动情况,进一步为集群的控 制和调度提供依据。这方面我们使用集群拓扑状态图来管理集群状态,同时使用心跳检测机制实现状态 检测与更新。0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0. 259 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.4.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 7.4.4 加密算法解析 . . . . Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3.4 注意事项 DistSQL 只能用于 Sharding 5.2 挑战 分布式治理的挑战,主要在于集群管理的复杂性,以及如何以统一和标准的方式对接各种第三方集成组 件。 集成管理的复杂性体现在,一方面我们需要把所有的节点,不管是底层数据库节点,还是中间件或者业 务系统节点,它们的状态都统一管理起来,并且能够实时的探测到最新的变动情况,进一步为集群的控 制和调度提供依据。这方面我们使用集群拓扑状态图来管理集群状态,同时使用心跳检测机制实现状态 检测与更新。0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1. 261 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 7.5.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 7.5.4 加密算法解析 . . . . Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3. DistSQL 14 Apache ShardingSphere 分离的现代数据库体系中不可或缺的功能。 4.2.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0. 367 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 7.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 7.7.4 加密算法解析 . . . . ShardingSphere document, v5.2.0 3.6.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式 列的服务、中间件的调用来完成,所 以单个服务的压力测试已无法代表真实场景。在测试环境中,如果重新搭建一整套与生产环境类似的压 测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的 方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 3.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.112.7.2 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 12.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 12.7.4 加密算法解析 . . . . ShardingSphere document 8.5.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式 列的服务、中间件的调用来完成,所 以单个服务的压力测试已无法代表真实场景。在测试环境中,如果重新搭建一整套与生产环境类似的压 测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的 方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 8.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0. 256 已上线业务改造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 7.5.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 7.5.4 加密算法解析 . . . . Language)负责资源和规则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询 等管理功能。 3.3.3 目标 打破中间件和数据库之间的界限,让开发者像使用数据库一样使用 Apache ShardingSphere,是 DistSQL 的设计目标。 3.3. DistSQL 14 Apache ShardingSphere 分离的现代数据库体系中不可或缺的功能。 4.2.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.212.7.2 解决方案详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 12.7.3 中间件加密服务优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 12.7.4 加密算法解析 . . . . ShardingSphere document 8.5.2 挑战 管控的挑战,在于对集群的集中化管理的统一管理能力以及在单点出现故障时精细化的操作能力。 集中化管理的挑战体现在将包括数据库存储节点和中间件计算节点的状态统一管理,并且能够实时的探 测到分布式环境下最新的变动情况,进一步为集群的控制和调度提供依据。 面对超负荷的流量下,针对某一节点进行熔断和限流,以保证整个数据库集群得以继续运行,是分布式 列的服务、中间件的调用来完成,所 以单个服务的压力测试已无法代表真实场景。在测试环境中,如果重新搭建一整套与生产环境类似的压 测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的 方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。 8.9.2 挑战 全链路压测是一项复杂而庞大的工作。需要各个微服务、中间件之间配合与调整,以应对不同流量以及压0 码力 | 508 页 | 4.44 MB | 1 年前3
共 16 条
- 1
- 2













