 孟浩然-Apache ShardingSphere 架构解析&应用实践SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database 耦合较大,存在功能依赖 相 互 隔 离 , 互 无 感 知 组合方式 固 定 的 组 合 方 式 : 以 数 据 分 片 为 基 础 , 叠 加 读 写 分 离 和 数 据 加 密 等 功 能 自 由 的 组 合 方 式 : 数 据 分 片 、 读 写 分 离 和 数 据 加 密 等 功 能 自 由 组 合 使 用 产 品 架 构 部 署 架 构 l ShardingSphere-JDBC RDL(Resource & Rule Definition Language)负责资源 和规则的创建、修改和删除; • RQL(Resource & Rule Query Language)负责资源和规 则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询等增量功能的操作。 D i s t0 码力 | 31 页 | 2.36 MB | 1 年前3 孟浩然-Apache ShardingSphere 架构解析&应用实践SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database 耦合较大,存在功能依赖 相 互 隔 离 , 互 无 感 知 组合方式 固 定 的 组 合 方 式 : 以 数 据 分 片 为 基 础 , 叠 加 读 写 分 离 和 数 据 加 密 等 功 能 自 由 的 组 合 方 式 : 数 据 分 片 、 读 写 分 离 和 数 据 加 密 等 功 能 自 由 组 合 使 用 产 品 架 构 部 署 架 构 l ShardingSphere-JDBC RDL(Resource & Rule Definition Language)负责资源 和规则的创建、修改和删除; • RQL(Resource & Rule Query Language)负责资源和规 则的查询和展现; • RAL(Resource & Rule Administration Language)负责 Hint、事务类型切换、分片执行计划查询等增量功能的操作。 D i s t0 码力 | 31 页 | 2.36 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0在使用 ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 422 8.2.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 424 8.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 8.3.4 分片指定了泛型为 ShardingSphere 的定义,设计哲学和部署形态。 更多常见问题,请参考 FAQ。 1.1 什么是 ShardingSphere 1.1.1 介绍 Apache ShardingSphere 是一款开源的分布式数据库生态项目,由 JDBC 和 Proxy 两款产品组成。其核心 采用微内核 + 可插拔架构,通过插件开放扩展功能。它提供多源异构数据库增强平台,进而围绕其上层 构建生态。 Apache0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0在使用 ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 422 8.2.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 424 8.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 8.3.4 分片指定了泛型为 ShardingSphere 的定义,设计哲学和部署形态。 更多常见问题,请参考 FAQ。 1.1 什么是 ShardingSphere 1.1.1 介绍 Apache ShardingSphere 是一款开源的分布式数据库生态项目,由 JDBC 和 Proxy 两款产品组成。其核心 采用微内核 + 可插拔架构,通过插件开放扩展功能。它提供多源异构数据库增强平台,进而围绕其上层 构建生态。 Apache0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 507 13.3.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 508 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 13.4.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 507 13.3.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 508 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 13.4.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 486 13.3.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 487 xi 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 13.4.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 486 13.3.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 487 xi 13.4.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 13.4.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 533 13.2.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 534 13.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 13.3.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐Proxy 的时候,如何动态在添加新的逻辑库? . . 533 13.2.3 Proxy 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 表达式返回结果为何出现浮点数? . . . . . . . . . . . . . . . . . . . 534 13.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规 则中? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 13.3.4 分片指定了泛型为 ShardingSphere-JDBC 7.1.1 应用场景 Apache ShardingSphere‐JDBC 可以通过 Java 和 YAML 这 2 种方式进行配置,开发者可根据场景选择适 合的配置方式。 7.1.2 使用限制 目前仅支持 JAVA 语言 7.1.3 前提条件 开发环境需要具备 Java JRE 8 或更高版本。 7.1.4 操作步骤 1. 规则配置。 详情请参见用户手册。0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1. . . . . . . . . . . . . . . . . . . . . 305 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 这 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见用户手册。 2.1.3 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, Hibernate 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1. . . . . . . . . . . . . . . . . . . . . 305 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 这 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见用户手册。 2.1.3 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, Hibernate 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0. . . . . . . . . . . . . . . . . . . . . 301 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 这 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见用户手册。 2.1.3 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, Hibernate 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0. . . . . . . . . . . . . . . . . . . . . 301 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 这 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见用户手册。 2.1.3 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, Hibernate 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2. . . . . . . . . . . . . . . . . . . . . 317 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分 ShardingSphere 提供了多样化的功能,涵盖范围从数据库内核、数据库分布式到贴近数据库上 层的应用,为用户提供了大量的功能池。 功能并无边界,只要满足数据库服务和生态的共性需求即可,期待更多的开源工程师参与 Apache Shard‐ ingSphere 社区,提供新颖思路和令人兴奋的功能。 4.1 数据库兼容 4.1.1 背景 随着通信技术的革新,全新领域的应用层出不穷,推动和颠覆整个人类社会协作模式的革新。数据存量0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2. . . . . . . . . . . . . . . . . . . . . 317 7.8.6 [Proxy] 在 使 用 ShardingSphere‐Proxy 时, 怎 么 使 用 合 适 的 工 具 连 接 到 ShardingSphere‐Proxy? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分 ShardingSphere 提供了多样化的功能,涵盖范围从数据库内核、数据库分布式到贴近数据库上 层的应用,为用户提供了大量的功能池。 功能并无边界,只要满足数据库服务和生态的共性需求即可,期待更多的开源工程师参与 Apache Shard‐ ingSphere 社区,提供新颖思路和令人兴奋的功能。 4.1 数据库兼容 4.1.1 背景 随着通信技术的革新,全新领域的应用层出不穷,推动和颠覆整个人类社会协作模式的革新。数据存量0 码力 | 446 页 | 4.67 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alpha同级目录下生成代码,容易误提交,如何避免? . . . . . . . . . . . . 292 viii 1 概览 星评增长时间线 贡献者增长时间线 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar (规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平 扩展、分布式事务和分布式治理等功能,可适用于如 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见配置手册。 2.1.3 3. 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, MyBatis 理能力。但对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一 直以来都是一个迫切的需求;同时,对于已经使用了 Apache ShardingSphere 的用户来说,随着业务规 模的快速变化,也可能需要对现有的分片集群进行弹性扩容或缩容。 3.5.2 简介 ShardingSphere‐Scaling 是一个提供给用户的通用数据接入迁移及弹性伸缩的解决方案。 从 40 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha同级目录下生成代码,容易误提交,如何避免? . . . . . . . . . . . . 292 viii 1 概览 星评增长时间线 贡献者增长时间线 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar (规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平 扩展、分布式事务和分布式治理等功能,可适用于如 4 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见配置手册。 2.1.3 3. 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, MyBatis 理能力。但对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一 直以来都是一个迫切的需求;同时,对于已经使用了 Apache ShardingSphere 的用户来说,随着业务规 模的快速变化,也可能需要对现有的分片集群进行弹性扩容或缩容。 3.5.2 简介 ShardingSphere‐Scaling 是一个提供给用户的通用数据接入迁移及弹性伸缩的解决方案。 从 40 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.04 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见配置手册。 2.1.3 3. 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, MyBatis 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分 ShardingSphere 提供了多样化的功能,涵盖范围从数据库内核、数据库分布式到贴近数据库上 层的应用,为用户提供了大量的功能池。 功能并无边界,只要满足数据库服务和生态的共性需求即可,期待更多的开源工程师参与 Apache Shard‐ ingSphere 社区,提供新颖思路和令人兴奋的功能。 4.1 数据库兼容 4.1.1 背景 随着通信技术的革新,全新领域的应用层出不穷,推动和颠覆整个人类社会协作模式的革新。数据存量0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.04 种 方式进行配置,开发者可根据场景选择适合的配置方式。详情请参见配置手册。 2.1.3 3. 创建数据源 通 过 ShardingSphereDataSourceFactory 工 厂 和 规 则 配 置 对 象 获 取 ShardingSphereDataSource。该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, MyBatis 挑战 可插拔架构对程序架构设计的要求非常高,需要将各个模块相互独立,互不感知,并且通过一个可插拔 内核,以叠加的方式将各种功能组合使用。设计一套将功能开发完全隔离的架构体系,既可以最大限度 的将开源社区的活力激发出来,也能够保障项目的质量。 Apache ShardingSphere 5.x 版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进 行扩展。目前,数据分片、读写分 ShardingSphere 提供了多样化的功能,涵盖范围从数据库内核、数据库分布式到贴近数据库上 层的应用,为用户提供了大量的功能池。 功能并无边界,只要满足数据库服务和生态的共性需求即可,期待更多的开源工程师参与 Apache Shard‐ ingSphere 社区,提供新颖思路和令人兴奋的功能。 4.1 数据库兼容 4.1.1 背景 随着通信技术的革新,全新领域的应用层出不穷,推动和颠覆整个人类社会协作模式的革新。数据存量0 码力 | 385 页 | 4.26 MB | 1 年前3
共 19 条
- 1
- 2













