 Mybatis 3.3.0 中文用户指南这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。因此 SqlSessionFactoryBuilder 实例的最 佳范围是方法范围(也就是局部方法变量)。你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,但是最 好还是不要让其一直存在以保证所有的 XML 解析资源开放给更重要的事情。 的最佳范围是应用范围。有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。 SqlSession 每个线程都应该有它自己的 SqlSession 实例。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的范围是请 求或方法范围。绝对不能将 SqlSession 实例的引用放在一个类的静态域,甚至一个类的实例变量也不行。也绝不能将 SqlSession 实 例的引用放在任何类型的管理范围中,比如 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource 数据源 databaseIdProvider 数据库厂商标识 mappers 映射器 properties 这些属性0 码力 | 98 页 | 2.03 MB | 1 年前3 Mybatis 3.3.0 中文用户指南这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。因此 SqlSessionFactoryBuilder 实例的最 佳范围是方法范围(也就是局部方法变量)。你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,但是最 好还是不要让其一直存在以保证所有的 XML 解析资源开放给更重要的事情。 的最佳范围是应用范围。有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。 SqlSession 每个线程都应该有它自己的 SqlSession 实例。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的范围是请 求或方法范围。绝对不能将 SqlSession 实例的引用放在一个类的静态域,甚至一个类的实例变量也不行。也绝不能将 SqlSession 实 例的引用放在任何类型的管理范围中,比如 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource 数据源 databaseIdProvider 数据库厂商标识 mappers 映射器 properties 这些属性0 码力 | 98 页 | 2.03 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere document, v5.2.0 3.10.4 应用场景 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere document, v5.2.0 3.10.4 应用场景 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 可观察性模块 的设计目标。 8.10.4 应用场景 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 可观察性模块 的设计目标。 8.10.4 应用场景 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 8.10. 可观察性 48 Apache ShardingSphere document 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 8.10. 可观察性 48 Apache ShardingSphere document 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 8.10. 可观察性 48 Apache ShardingSphere document 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.2 ShardingSphere-Proxy 独立部署 ShardingSphere‐Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支 持。目前提供 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere 通过 Agent 模块为应用提供可观察性的能力,可适用于以下场景: 8.10. 可观察性 48 Apache ShardingSphere document 监控仪表盘 将系统静态信息(如应用版本)和动态信息(如线程数、SQL 处理信息)等 Metrics 指标,使用标准接口 方式暴露给第三方应用(如 Prometheus),管理员能够通过可视化的方式监控系统实时状态。 应用性能监控0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 3.1.3 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alpha异构语言 仅 Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用 无中心化架构, 适用 于 Java 开发的高性能的轻量级 OLTP 应用; ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,适用于 OLAP 应用以及对分片数据库 进行管理和运维的场景。 数据分片 22 Apache ShardingSphere document, v5.0.0-beta 解析之后的为抽象语法树见下图。 为了便于理解,抽象语法树中的关键字的 Token 用绿色表示,变量的 Token 用红色表示,灰色表示需要 进一步拆分。 最后,通过 visitor 对抽象语法树遍历构造域模型,通过域模型(SQLStatement)去提炼分片所需的 上下文,并标记有可能需要 得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使 用内存归并,而某些操作则可能选择流式归并更优,具体采用哪种方式不应该由用户在0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha异构语言 仅 Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用 无中心化架构, 适用 于 Java 开发的高性能的轻量级 OLTP 应用; ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,适用于 OLAP 应用以及对分片数据库 进行管理和运维的场景。 数据分片 22 Apache ShardingSphere document, v5.0.0-beta 解析之后的为抽象语法树见下图。 为了便于理解,抽象语法树中的关键字的 Token 用绿色表示,变量的 Token 用红色表示,灰色表示需要 进一步拆分。 最后,通过 visitor 对抽象语法树遍历构造域模型,通过域模型(SQLStatement)去提炼分片所需的 上下文,并标记有可能需要 得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使 用内存归并,而某些操作则可能选择流式归并更优,具体采用哪种方式不应该由用户在0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 源码:https://github.com/apache/shardingsphere/tree/m ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 源码:https://github.com/apache/shardings0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 1.1.4 混合架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐JDBC 的优势在于对 Java 应用的友好度。 源码:https://github.com/apache/shardingsphere/tree/m ShardingSphere-JDBC ShardingSphere-Proxy 数据库 任意 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 ShardingSphere‐Proxy 的优势在于对异构语言的支持,以及为 DBA 提供可操作入口。 源码:https://github.com/apache/shardings0 码力 | 446 页 | 4.67 MB | 1 年前3
共 18 条
- 1
- 2













