 Apache ShardingSphere 中文文档 5.0.0-alpha改写之后的分页执行结果。 3.1. 数据分片 34 Apache ShardingSphere document, v5.0.0-beta 越获取偏移量位置靠后数据,使用 LIMIT 分页方式的效率就越低。有很多方法可以避免使用 LIMIT 进行 分页。比如构建行记录数量与行偏移量的二级索引,或使用上次分页数据结尾 ID 作为下次查询条件的分 页方式等。 分页信息修正时,如果使用占位符的方式书写 SQL,则只需要改写参数列表即可,无需改写 个连接,则不会发生两 个请求相互等待的场景,无需锁定。对于大部分 OLTP 的操作,都是使用分片键路由至唯一的数据 节点,这会使得系统变为完全无锁的状态,进一步提升了并发效率。除了路由至单分片的情况,读 写分离也在此范畴之内。 2. 仅针对内存限制模式时才进行资源锁定。在使用连接限制模式时,所有的查询结果集将在装载至内 存之后释放掉数据库连接资源,因此不会产生死锁等待的问题。 执行阶段 该阶段用于真正的执行 查询表存在别名, 则可使用表的别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha改写之后的分页执行结果。 3.1. 数据分片 34 Apache ShardingSphere document, v5.0.0-beta 越获取偏移量位置靠后数据,使用 LIMIT 分页方式的效率就越低。有很多方法可以避免使用 LIMIT 进行 分页。比如构建行记录数量与行偏移量的二级索引,或使用上次分页数据结尾 ID 作为下次查询条件的分 页方式等。 分页信息修正时,如果使用占位符的方式书写 SQL,则只需要改写参数列表即可,无需改写 个连接,则不会发生两 个请求相互等待的场景,无需锁定。对于大部分 OLTP 的操作,都是使用分片键路由至唯一的数据 节点,这会使得系统变为完全无锁的状态,进一步提升了并发效率。除了路由至单分片的情况,读 写分离也在此范畴之内。 2. 仅针对内存限制模式时才进行资源锁定。在使用连接限制模式时,所有的查询结果集将在装载至内 存之后释放掉数据库连接资源,因此不会产生死锁等待的问题。 执行阶段 该阶段用于真正的执行 查询表存在别名, 则可使用表的别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 数据分片 35 Apache ShardingSphere document, v5.0.0 SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.4 读写分离 4.4.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 数据分片 35 Apache ShardingSphere document, v5.0.0 SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.4 读写分离 4.4.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.1 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.1 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.0 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.0 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.2 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4.3. 数据分片 40 Apache ShardingSphere document, v5.1.2 分页性能 性能瓶颈 查询偏移量过大的分页会导致数据库获取数据性能低下,以 MySQL 为例: SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 这句 SQL 会使得 MySQL 可想而知。而在分库分表的情况下(假设分为 2 个库),为了保证数据的正确性,SQL 会改写为: SELECT * FROM t_order ORDER BY id LIMIT 0, 1000010 即将偏移量前的记录全部取出,并仅获取排序后的最后 10 条记录。这会在数据库本身就执行很慢的情 况下,进一步加剧性能瓶颈。因为原 SQL 仅需要传输 10 条记录至客户端,而改写之后的 SQL 则会传输 Apache ShardingSphere 和 SEATA 重复 SQL 解析。 4.5 读写分离 4.5.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。0 码力 | 446 页 | 4.67 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0一。ShardingSphere 提供在单机数据库之上的分布式事务能力,可实现跨底层数据源的数据安全。 读 写 分离 读写分离,是应对高压力业务访问的手段之一。ShardingSphere 基于对 SQL 语义理解及底层 数据库拓扑感知能力,提供灵活、安全的读写分离能力,且可实现读访问的负载均衡。 高 可 用 高可用,是对数据存储计算平台的基本要求。ShardingSphere 基于无状态服务,提供高可用 DistSQL 里的 RAL、RDL 操作; • XA 事务中使用 DDL 语句。 3.3 读写分离 3.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 3.3. 读写分离 30 Apache ShardingSphere document, v5.2.0 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 3.30 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0一。ShardingSphere 提供在单机数据库之上的分布式事务能力,可实现跨底层数据源的数据安全。 读 写 分离 读写分离,是应对高压力业务访问的手段之一。ShardingSphere 基于对 SQL 语义理解及底层 数据库拓扑感知能力,提供灵活、安全的读写分离能力,且可实现读访问的负载均衡。 高 可 用 高可用,是对数据存储计算平台的基本要求。ShardingSphere 基于无状态服务,提供高可用 DistSQL 里的 RAL、RDL 操作; • XA 事务中使用 DDL 语句。 3.3 读写分离 3.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 3.3. 读写分离 30 Apache ShardingSphere document, v5.2.0 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 3.30 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档XA_RECOVER_ADMIN 权限,否则 XA 事务管理器执行 XA RECOVER 语句时 会报错。 8.3 读写分离 8.3.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少 写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负 责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。 提升系统的可用性,可以达到在任何 一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行。 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据 SQL 语义的分析,将读操 作和写操作分别路由至主库与从库。 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水 平分片和读写分离联合使用,能够更加有效的提升系统性能。 8.3 ShardingSphere 集群内某个计算节点超过负载后,通过熔断功能,阻断应用到该计算节点的流量,保 证整个集群继续提供稳定服务。 存储节点限流 在读写分离的场景下,当 ShardingSphere 集群内某个负责读流量的存储节点承接超负荷的请求时,通过 限流功能,阻断集群内计算节点到该存储节点的流量,以保证存储节点集群正常响应。 8.5.5 核心概念 熔断 阻断 Apache ShardingSphere0 码力 | 557 页 | 4.61 MB | 1 年前3
 孟浩然-Apache ShardingSphere 架构解析&应用实践耦合较大,存在功能依赖 相 互 隔 离 , 互 无 感 知 组合方式 固 定 的 组 合 方 式 : 以 数 据 分 片 为 基 础 , 叠 加 读 写 分 离 和 数 据 加 密 等 功 能 自 由 的 组 合 方 式 : 数 据 分 片 、 读 写 分 离 和 数 据 加 密 等 功 能 自 由 组 合 使 用 产 品 架 构 部 署 架 构 l ShardingSphere-JDBC 流)以及流量分析(可观察性、服 务质量分析)等。 可插拔 可插拔是 ShardingSphere 的设计 理念,架构内核是完全面向顶层接 口设计的,内核模块完全不感知具 体功能的存在。它为分库分表、读 写分离等每一个功能插件赋予单独 部署和协同配合的能力。 整 体 架 构 内 核 架 构 l ShardingSphere 可插拔架构提供了 数十个基于 SPI 的扩展点,开发者可 以十分方便的对功能进行定制化扩展; ZooKeeper/Etcd 支持 数 据 分 片 数 据 分 片 - 自 动 分 片 MOD HASH_MOD VOLUME_RAN GE BOUNDARY_R ANGE AUTO_INTERV AL 读 写 分 离 数 据 加 密 影 子 库 压 测 • 增加开关,灵活控制是否开启在线压测 • 支持表级压测规则控制 • 支持列值匹配、列正则匹配、SQL 注释匹配算法 1. Apache ShardingSphere0 码力 | 31 页 | 2.36 MB | 1 年前3 孟浩然-Apache ShardingSphere 架构解析&应用实践耦合较大,存在功能依赖 相 互 隔 离 , 互 无 感 知 组合方式 固 定 的 组 合 方 式 : 以 数 据 分 片 为 基 础 , 叠 加 读 写 分 离 和 数 据 加 密 等 功 能 自 由 的 组 合 方 式 : 数 据 分 片 、 读 写 分 离 和 数 据 加 密 等 功 能 自 由 组 合 使 用 产 品 架 构 部 署 架 构 l ShardingSphere-JDBC 流)以及流量分析(可观察性、服 务质量分析)等。 可插拔 可插拔是 ShardingSphere 的设计 理念,架构内核是完全面向顶层接 口设计的,内核模块完全不感知具 体功能的存在。它为分库分表、读 写分离等每一个功能插件赋予单独 部署和协同配合的能力。 整 体 架 构 内 核 架 构 l ShardingSphere 可插拔架构提供了 数十个基于 SPI 的扩展点,开发者可 以十分方便的对功能进行定制化扩展; ZooKeeper/Etcd 支持 数 据 分 片 数 据 分 片 - 自 动 分 片 MOD HASH_MOD VOLUME_RAN GE BOUNDARY_R ANGE AUTO_INTERV AL 读 写 分 离 数 据 加 密 影 子 库 压 测 • 增加开关,灵活控制是否开启在线压测 • 支持表级压测规则控制 • 支持列值匹配、列正则匹配、SQL 注释匹配算法 1. Apache ShardingSphere0 码力 | 31 页 | 2.36 MB | 1 年前3
共 13 条
- 1
- 2













