Apache ShardingSphere 中文文档 5.1.1(Experimental) 9 3 概念 Apache ShardingSphere 功能十分复杂,有数百模块之多,但众多模块间的概念却简单明了。大部分模块 都是面向这几个概念的横向扩展。 它的概念主要包括:面向独立产品的接入端、面向启动的运行模式、面向使用者操作的 DistSQL 以及面 向开发者的可插拔架构。 本章节将详细阐述 Apache ShardingSphere 相关的概念。 3.1 接入端 文件或注册中心配置资源和规则。然 而,操作习惯变更,对于运维工程师并不友好。 DistSQL 让用户可以像操作数据库一样操作 Apache ShardingSphere,使其从面向开发人员的框架和中间 件转变为面向运维人员的数据库产品。 DistSQL 细分为 RDL、RQL 和 RAL 三种类型。 • RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除; 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据库高可用、数据加密、影子库 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0(Experimental) 9 3 概念 Apache ShardingSphere 功能十分复杂,有数百模块之多,但众多模块间的概念却简单明了。大部分模块 都是面向这几个概念的横向扩展。 它的概念主要包括:面向独立产品的接入端、面向启动的运行模式、面向使用者操作的 DistSQL 以及面 向开发者的可插拔架构。 本章节将详细阐述 Apache ShardingSphere 相关的概念。 3.1 接入端 文件或注册中心配置资源和规则。然 而,操作习惯变更,对于运维工程师并不友好。 DistSQL 让用户可以像操作数据库一样操作 Apache ShardingSphere,使其从面向开发人员的框架和中间 件转变为面向运维人员的数据库产品。 DistSQL 细分为 RDL、RQL 和 RAL 三种类型。 • RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除; 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据库高可用、数据加密、影子库 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alphaShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向 HintManager 中 添加分片条件,该分片条件仅在当前线程内生效。 除了通过编程的方式使用强制分片路由,Apache ShardingSphere 还计划通过 SQL 中的特殊注释的方式 引用 Hint,使开发者可以采用更加透明的方式使用该功能。 将多个执行结果集归并以便于通过统一的 JDBC 接口输出。结果归并包括流式归并、内存归并和使用装饰 者模式的追加归并这几种方式。 解析引擎 相对于其他编程语言,SQL 是比较简单的。不过,它依然是一门完善的编程语言,因此对 SQL 的语法进 行解析,与解析其他编程语言(如:Java 语言、C 语言、Go 语言等)并无本质区别。 抽象语法树 解析过程分为词法解析和语法解析。词法解析器用于将 SQL 拆解为不可再分的原子符号,称为 Schema 的命令发送至数据库中。 路由引擎的整体结构划分如下图。 3.1. 数据分片 30 Apache ShardingSphere document, v5.0.0-beta 改写引擎 工程师面向逻辑库与逻辑表书写的 SQL,并不能够直接在真实的数据库中执行,SQL 改写用于将逻辑 SQL 改写为在真实数据库中可以正确执行的 SQL。它包括正确性改写和优化改写两部分。 正确性改写 在包0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2ShardingSphere-Proxy 9 3 概念 Apache ShardingSphere 功能十分复杂,有数百模块之多,但众多模块间的概念却简单明了。大部分模块 都是面向这几个概念的横向扩展。 它的概念主要包括:面向独立产品的接入端、面向启动的运行模式、面向使用者操作的 DistSQL 以及面 向开发者的可插拔架构。 本章节将详细阐述 Apache ShardingSphere 相关的概念。 3.1 接入端 文件或注册中心配置资源和规则。然 而,操作习惯变更,对于运维工程师并不友好。 DistSQL 让用户可以像操作数据库一样操作 Apache ShardingSphere,使其从面向开发人员的框架和中间 件转变为面向运维人员的数据库产品。 DistSQL 细分为 RDL、RQL 和 RAL 三种类型。 • RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除; 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据库高可用、数据加密、影子库 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于0 码力 | 446 页 | 4.67 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0(Experimental) 9 3 概念 Apache ShardingSphere 功能十分复杂,有数百模块之多,但众多模块间的概念却简单明了。大部分模块 都是面向这几个概念的横向扩展。 它的概念主要包括:面向独立产品的接入端、面向启动的运行模式、面向使用者操作的 DistSQL 以及面 向开发者的可插拔架构。 本章节将详细阐述 Apache ShardingSphere 相关的概念。 3.1 接入端 格式的展现形式,以及注册中心动态修改带来的操作习惯变更,对于运维工程师并不 友好。 DistSQL 让用户可以像操作数据库一样操作 Apache ShardingSphere,使其从面向开发人员的框架和中间 件转变为面向运维人员的数据库产品。 DistSQL 细分为 RDL、RQL 和 RAL 三种类型。 • RDL(Resource & Rule Definition Language)负责资源和规则的创建、修改和删除; 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据库高可用、数据加密、影子库 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据库高可用、数据加密、影子库 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 1.2. 设计哲学 5 Apache ShardingSphere document, v5 3.10 可观察性 3.10.1 背景 如何观测集群的运行状态,使运维人员可以快速掌握当前系统现状,并进行进一步的维护工作,是分布式 系统的全新挑战。登录到具体服务器的点对点运维方式,无法适用于面向大量分布式服务器的场景。通 3.10. 可观察性 44 Apache ShardingSphere document, v5.2.0 过对可系统观察性数据的遥测是分布式系统推荐的运维方式。Tr 系统统计指标,通过探针收集,并且写入到时序数据库,供第三方应用展示。 Logging 日志,通过 Agent 能够方便的扩展日志内容,为分析系统运行状态提供更多信息。 3.10. 可观察性 48 4 用户手册 本章节面向 Apache ShardingSphere 的用户,详细阐述项目的使用说明。 4.1 ShardingSphere-JDBC 配置是 ShardingSphere‐JDBC 中唯一与应用开发者交互的模块,通过它可以快速清晰的理解0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据加密、影子库等。用户自定义 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 8.10 可观察性 8.10.1 背景 如何观测集群的运行状态,使运维人员可以快速掌握当前系统现状,并进行进一步的维护工作,是分布式 系统的全新挑战。登录到具体服务器的点对点运维方式,无法适用于面向大量分布式服务器的场景。通 过对可系统观察性数据的遥测是分布式系统推荐的运维方式。Tracing(链路跟踪)、Metrics(指标监控) 和 Logging (日志)是系统运行状况的可观察性数据重要的获取手段。 系统统计指标,通过探针收集,供第三方应用展示。 Logging 日志,通过 Agent 能够方便的扩展日志内容,为分析系统运行状态提供更多信息。 8.10. 可观察性 50 9 用户手册 本章节面向 Apache ShardingSphere 的用户,详细阐述项目的使用说明。 9.1 ShardingSphere-JDBC 配置是 ShardingSphere‐JDBC 中唯一与应用开发者交互的模块,通过它可以快速清晰的理解0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据加密、影子库等。用户自定义 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 8.10 可观察性 8.10.1 背景 如何观测集群的运行状态,使运维人员可以快速掌握当前系统现状,并进行进一步的维护工作,是分布式 系统的全新挑战。登录到具体服务器的点对点运维方式,无法适用于面向大量分布式服务器的场景。通 过对可系统观察性数据的遥测是分布式系统推荐的运维方式。Tracing(链路跟踪)、Metrics(指标监控) 和 Logging (日志)是系统运行状况的可观察性数据重要的获取手段。 系统统计指标,通过探针收集,供第三方应用展示。 Logging 日志,通过 Agent 能够方便的扩展日志内容,为分析系统运行状态提供更多信息。 8.10. 可观察性 50 9 用户手册 本章节面向 Apache ShardingSphere 的用户,详细阐述项目的使用说明。 9.1 ShardingSphere-JDBC 配置是 ShardingSphere‐JDBC 中唯一与应用开发者交互的模块,通过它可以快速清晰的理解0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合使用。主要包括数据分片、读写分离、数据加密、影子库等。用户自定义 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 8.10 可观察性 8.10.1 背景 如何观测集群的运行状态,使运维人员可以快速掌握当前系统现状,并进行进一步的维护工作,是分布式 系统的全新挑战。登录到具体服务器的点对点运维方式,无法适用于面向大量分布式服务器的场景。通 过对可系统观察性数据的遥测是分布式系统推荐的运维方式。Tracing(链路跟踪)、Metrics(指标监控) 和 Logging (日志)是系统运行状况的可观察性数据重要的获取手段。 8.11.5 相关参考 • 联邦查询的配置 8.11.6 使用限制 Apache ShardingSphere 的联邦查询处于实验阶段。 8.11. 联邦查询 51 9 用户手册 本章节面向 Apache ShardingSphere 的用户,详细阐述项目的使用说明。 9.1 ShardingSphere-JDBC 配置是 ShardingSphere‐JDBC 中唯一与应用开发者交互的模块,通过它可以快速清晰的理解0 码力 | 557 页 | 4.61 MB | 1 年前3
 传智播客 mybatis 框架课程讲义Mybatis 框架课程 讲师:传智.燕青 1 Mybatis 入门 1.1 单独使用 jdbc 编程问题总结 1.1.1 jdbc 程序 Public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet Auto-generated catch block e.printStackTrace(); } } } } 上边使用 jdbc 的原始方法(未经封装)实现了查询数据库表记录的操作。 1.1.2 jdbc 编程步骤: 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建 jdbc statement 对象 4、 设置 sql 语句 5、 设置 sql 语句中的参数(使用 preparedStatement) sql 中,输入参数映射就 是 jdbc 编程中对 preparedStatement 设置参数。 7、 Mapped Statement 对 sql执行输出结果进行定义,包括 HashMap、基本类型、pojo,Executor 通过 Mapped Statement 在执行 sql 后将输出结果映射至 java 对象中,输出结果映射过程 相当于 jdbc 编程中对结果的解析处理过程。 1.4 mybatis0 码力 | 75 页 | 1.16 MB | 1 年前3
共 53 条
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 













