Apache ShardingSphere 中文文档 5.0.0据库已成为常态。由此可见,数据库碎片化的趋 势已经不可逆转。 4.1.2 挑战 并无统一标准的数据库的访问协议和 SQL 方言,以及各种数据库带来的不同运维方法和监控工具的异同, 让开发者的学习成本和 DBA 的运维成本不断增加。提升与原有数据库兼容度,是在其之上提供增量服务 的前提。 SQL 方言和数据库协议的兼容,是数据库兼容度提升的关键点。 17 Apache ShardingSphere 支持数据分片后的跨库事务; • 两阶段提交保证操作的原子性和数据的强一致性; • 服务宕机重启后,提交/回滚中的事务可自动恢复; • 支持同时使用 XA 和非 XA 的连接池。 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据。 4.3. 分布式事务 40 Apache ShardingSphere document, v5.0.0 柔性事务 支持项 • 支持数据分片后的跨库事务; • 择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1据库已成为常态。由此可见,数据库碎片化的趋 势已经不可逆转。 4.1.2 挑战 并无统一标准的数据库的访问协议和 SQL 方言,以及各种数据库带来的不同运维方法和监控工具的异同, 让开发者的学习成本和 DBA 的运维成本不断增加。提升与原有数据库兼容度,是在其之上提供增量服务 的前提。 SQL 方言和数据库协议的兼容,是数据库兼容度提升的关键点。 18 Apache ShardingSphere • 支持同时使用 XA 和非 XA 的连接池。 4.4. 分布式事务 45 Apache ShardingSphere document, v5.1.1 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据。 • Savepoint。 • 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致。 通过 XA 语句控制的分布式事务 • 通过 XA START 可以手动开启 择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0据库已成为常态。由此可见,数据库碎片化的趋 势已经不可逆转。 4.1.2 挑战 并无统一标准的数据库的访问协议和 SQL 方言,以及各种数据库带来的不同运维方法和监控工具的异同, 让开发者的学习成本和 DBA 的运维成本不断增加。提升与原有数据库兼容度,是在其之上提供增量服务 的前提。 SQL 方言和数据库协议的兼容,是数据库兼容度提升的关键点。 18 Apache ShardingSphere • 支持同时使用 XA 和非 XA 的连接池。 4.4. 分布式事务 45 Apache ShardingSphere document, v5.1.0 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据。 通过 XA 语句控制的分布式事务 • 通过 XA START 可以手动开启 XA 事务,注意该事务完全由用户管理,ShardingSphere 只负责将语 句转发至后端数据库; 择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alpha择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使 支持同时使用 XA 和非 XA 的连接池。 3.2. 分布式事务 60 Apache ShardingSphere document, v5.0.0-beta 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据。 Seata 柔性事务 支持项 • 支持数据分片后的跨库事务; • 支持 RC 隔离级别; • 通过 undo 快照进行事务回滚; • 支持服务宕机后的,自动恢复提交中的事务。 设计在一定数据量的 基础上,使用 jmeter 20 并发线程持续压测半小时,进行增删改查性能测试,且每台机器部署一个 MySQL 实例,而对比 MySQL 场景为单机单实例部署。 测试场景 单路由 在 1000 数据量的基础上分库分表,根据 id 分为 4 个库,部署在同一台机器上,根据 k 分为 1024 个表,查 询操作路由到单库单表;作为对比,MySQL 运行在 1000 数据量的基础上,使用0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2据库已成为常态。由此可见,数据库碎片化的趋 势已经不可逆转。 4.1.2 挑战 并无统一标准的数据库的访问协议和 SQL 方言,以及各种数据库带来的不同运维方法和监控工具的异同, 让开发者的学习成本和 DBA 的运维成本不断增加。提升与原有数据库兼容度,是在其之上提供增量服务 的前提。 SQL 方言和数据库协议的兼容,是数据库兼容度提升的关键点。 18 Apache ShardingSphere 支持数据分片后的跨库事务; • 两阶段提交保证操作的原子性和数据的强一致性; • 服务宕机重启后,提交/回滚中的事务可自动恢复; • 支持同时使用 XA 和非 XA 的连接池。 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据; • MySQL 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致。 4.4. 分布式事务 46 Apache ShardingSphere document 择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档ShardingSphere document • 业务零侵入 面对数据库替换场景,ShardingSphere 可满足业务无需改造,实现平滑业务迁移。 • 运维低成本 在保留原技术栈不变前提下,对 DBA 学习、管理成本低,交互友好。 • 安全稳定 基于成熟数据库底座之上提供增量能力,兼顾安全性及稳定性。 • 弹性扩展 具备计算、存储平滑在线扩展能力,可满足业务多变的需求。 • 开放生态 通过 不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提 交之前,第一个库宕机,则只有第二个库数据提交,且无法回滚。 XA 事务 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据; • MySQL 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致; • 配置 XA 事务后,存储单元名称最大长度不超过 45 个字符。 BASE 事务 SQL、分片键实际 参数值、路由结果放入缓存中,以空间换时间,减少路由逻辑对 CPU 的使用。 建议仅在满足以下条件的情况下启用:‐ 纯 OLTP 场景 ‐ ShardingSphere 进程所在机器 CPU 已达到瓶颈 ‐ CPU 开销主要在于 ShardingSphere 路由逻辑 ‐ 所有 SQL 已经最优且每次 SQL 执行都能命中单一分片 在不满足以上条件的情况下使用,可能对 SQL0 码力 | 557 页 | 4.61 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1ShardingSphere document • 业务零侵入 面对数据库替换场景,ShardingSphere 可满足业务无需改造,实现平滑业务迁移。 • 运维低成本 在保留原技术栈不变前提下,对 DBA 学习、管理成本低,交互友好。 • 安全稳定 基于成熟数据库底座之上提供增量能力,兼顾安全性及稳定性。 • 弹性扩展 具备计算、存储平滑在线扩展能力,可满足业务多变的需求。 • 开放生态 通过 不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提 交之前,第一个库宕机,则只有第二个库数据提交,且无法回滚。 XA 事务 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据; • MySQL 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致; • 配置 XA 事务后,存储单元名称最大长度不超过 45 个字符。 BASE 事务 SQL、分片键实际 参数值、路由结果放入缓存中,以空间换时间,减少路由逻辑对 CPU 的使用。 建议仅在满足以下条件的情况下启用:‐ 纯 OLTP 场景 ‐ ShardingSphere 进程所在机器 CPU 已达到瓶颈 ‐ CPU 开销主要在于 ShardingSphere 路由逻辑 ‐ 所有 SQL 已经最优且每次 SQL 执行都能命中单一分片 在不满足以上条件的情况下使用,可能对 SQL0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2ShardingSphere document • 业务零侵入 面对数据库替换场景,ShardingSphere 可满足业务无需改造,实现平滑业务迁移。 • 运维低成本 在保留原技术栈不变前提下,对 DBA 学习、管理成本低,交互友好。 • 安全稳定 基于成熟数据库底座之上提供增量能力,兼顾安全性及稳定性。 • 弹性扩展 具备计算、存储平滑在线扩展能力,可满足业务多变的需求。 • 开放生态 通过 不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提 交之前,第一个库宕机,则只有第二个库数据提交,且无法回滚。 XA 事务 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据; • MySQL 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致; • 配置 XA 事务后,存储单元名称最大长度不超过 45 个字符。 BASE 事务 SQL、分片键实际 参数值、路由结果放入缓存中,以空间换时间,减少路由逻辑对 CPU 的使用。 建议仅在满足以下条件的情况下启用:‐ 纯 OLTP 场景 ‐ ShardingSphere 进程所在机器 CPU 已达到瓶颈 ‐ CPU 开销主要在于 ShardingSphere 路由逻辑 ‐ 所有 SQL 已经最优且每次 SQL 执行都能命中单一分片 在不满足以上条件的情况下使用,可能对 SQL0 码力 | 508 页 | 4.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0JDBC 规范的数 据库。 • 业务零侵入 面对数据库替换场景,ShardingSphere 可满足业务无需改造,实现平滑业务迁移。 • 运维低成本 在保留原技术栈不变前提下,对 DBA 学习、管理成本低,交互友好。 • 安全稳定 基于成熟数据库底座之上提供增量能力,兼顾安全性及稳定性。 • 弹性扩展 具备计算、存储平滑在线扩展能力,可满足业务多变的需求。 • 开放生态 通过 • 支持同时使用 XA 和非 XA 的连接池。 3.2. 分布式事务 29 Apache ShardingSphere document, v5.2.0 不支持项 • 服务宕机后,在其它机器上恢复提交/回滚中的数据; • MySQL 事务块内,SQL 执行出现异常,执行 Commit,数据保持一致。 BASE 事务 支持项 • 支持数据分片后的跨库事务; • 支持 RC 隔离级别; 择使用内存限制模式或连接限制模式。 这种解决方案将两难的选择的决定权交由用户,使得用户必须要了解这两种模式的利弊,并依据业务场 景需求进行选择。这无疑增加了用户对 ShardingSphere 的学习和使用的成本,并非最优方案。 这种一分为二的处理方案,将两种模式的切换交由静态的初始化配置,是缺乏灵活应对能力的。在实际的 使用场景中,面对不同 SQL 以及占位符参数,每次的路由结果是不同的。这就意味着某些操作可能需要使0 码力 | 449 页 | 5.85 MB | 1 年前3
传智播客 mybatis 框架课程讲义可以通过 XML 或注解方式灵活配置要运行的 sql 语句,并将 java 对象和 sql 语句映射生成最终执行的 sql,最后将 sql 执行的结果再映射生成 java 对象。 Mybatis 学习门槛低,简单易学,程序员直接编写原生态 sql,可严格控制 sql 执行性能, 灵活度高,非常适合对关系数据模型要求不高的软件开发,例如互联网软件、企业运营类软 件等,因为这类软件需求变化频繁,一 Hibernate 对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件(例如 需求固定的定制化软件)如果用 hibernate 开发可以节省很多代码,提高效率。但是 Hibernate 的学习门槛高,要精通门槛更高,而且怎么设计 O/R 映射,在性能和对象模型之间如何权 衡,以及怎样用好 Hibernate 需要具有很强的经验和能力才行。 总之,按照用户的需求在有限的资源环境下只要能做出维护性、扩展性良好的软件架构 加载的属性次之, 最低优先级的是 properties 元素体内定义的属性。 3.3 settings(配置) mybatis 全局配置参数,全局参数将会影响 mybatis 的运行行为。 详细参见“学习资料/mybatis-settings.xlsx”文件 3.4 typeAliases(类型别名) 3.4.1 mybatis 支持别名: 别名 映射的类型 _byte byte _long0 码力 | 75 页 | 1.16 MB | 1 年前3
共 10 条
- 1













