Sharding Sphere
我还要去追逐我的梦
热衷于云计算基础架构、基于联盟链的技术应用,大数据数据分析处理、DevOPS。感兴趣的领域有Java、C/C++、Python、Rust、Go、Delphi等语言、数据库、NoSQL、OOP、重构与模式以及敏捷开发等
展开
-
ShardingSphere-Sharding-JDBC-4.0.×版+Spring+Mybatis+XML Namespace配置分库分表(十三)
1.Spring MVC,Spring,Mybatis+XML Namespache配置 关于这个部分如何配置,大家可以参考下Jeesite 2.×框架,或者网上找寻相关脚手架项目,这里不做过多介绍。2.配置applicationContext.xml和mybatis和sharding-jdbc的xml文件applicationContext.xml加入如下配置文件:<...原创 2019-11-21 15:43:08 · 3353 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-分布式事务-参考示例(十二)
分布式事务ShardingDataSource已经整合了分布式事务的功能,因此不需要用户进行额外的配置,每次获取ShardingConnection前,通过修改TransactionTypeHolder,可以对事务类型进行切换。XA事务引入Maven依赖<dependency> <groupId>org.apache.shardingsphere&...原创 2019-09-17 17:58:01 · 2590 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-分布式事务-实现原理(十一)
导览本小节主要介绍ShardingSphere分布式事务的实现原理两阶段XA事务 Saga柔性事务 Seata柔性事务两阶段事务-XA实现原理ShardingSphere里定义了分布式事务的SPI接口ShardingTransactionManager,Sharding-JDBC和Sharding-Proxy为分布式事务的两个接入端。XAShardingTransact...原创 2019-09-17 17:56:06 · 741 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-分布式事务-支持功能(十)
导览本小节主要介绍ShardingSphere分布式事务的主要功能本地事务 两阶段XA事务 Saga柔性事务 Seata柔性事务本地事务功能 完全支持非跨库事务,例如:仅分表,或分库但是路由的结果在单库中。 完全支持因逻辑异常导致的跨库事务。例如:同一事务中,跨两个库更新。更新完毕后,抛出空指针,则两个库的内容都能回滚。 不支持因网络、硬件异常导致的跨...原创 2019-09-17 16:01:08 · 748 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-分布式事务-核心概念(九)
背景数据库事务需要满足ACID(原子性、一致性、隔离性、持久性)四个特性。原子性(Atomicity)指事务作为整体来执行,要么全部执行,要么全不执行。 一致性(Consistency)指事务应确保数据从一个一致的状态转变为另一个一致的状态。 隔离性(Isolation)指多个事务并发执行时,一个事务的执行不应影响其他事务的执行。 持久性(Durability)指已提交的事务修改数据...原创 2019-09-17 15:34:40 · 305 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-编排治理(八)
导览提供注册中心、配置动态化、数据库熔断禁用、调用链路等治理能力。配置中心实现动机 配置集中化:越来越多的运行时实例,使得散落的配置难于管理,配置不同步导致的问题十分严重。将配置集中于配置中心,可以更加有效进行管理。 配置动态化:配置修改后的分发,是配置中心可以提供的另一个重要能力。它可支持数据源、表与分片及读写分离策略的动态切换。 配置中心数据结构配置中心在定...原创 2019-09-17 14:17:22 · 2900 阅读 · 2 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片-使用规范(六)
使用规范背景虽然ShardingSphere希望能够完全兼容所有的SQL以及单机数据库,但分布式为数据库带来了更加复杂的场景。ShardingSphere希望能够优先解决海量数据OLTP的问题,OLAP的相关支持,会一点一点的逐渐完善。请进一步阅读ShardingSphere所支持和不支持的SQL类型以及针对分页这类性能相关度很高的问题。SQL由于SQL语法灵活复杂,分布式数据...原创 2019-09-17 09:42:42 · 2854 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片-内核剖析(五)
执行引擎ShardingSphere采用一套自动化的执行引擎,负责将路由和改写完成之后的真实SQL安全且高效发送到底层数据源执行。 它不是简单地将SQL通过JDBC直接发送至数据源执行;也并非直接将执行请求放入线程池去并发执行。它更关注平衡数据源连接创建以及内存占用所产生的消耗,以及最大限度地合理利用并发等问题。 执行引擎的目标是自动化的平衡资源控制与执行效率。连接模式从资源控制的角度...原创 2019-09-12 18:35:48 · 1089 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片-内核剖析(四)
路由引擎根据解析上下文匹配数据库和表的分片策略,并生成路由路径。 对于携带分片键的SQL,根据分片键的不同可以划分为单片路由(分片键的操作符是等号)、多片路由(分片键的操作符是IN)和范围路由(分片键的操作符是BETWEEN)。 不携带分片键的SQL则采用广播路由。分片策略通常可以采用由数据库内置或由用户方配置。 数据库内置的方案较为简单,内置的分片策略大致可分为尾数取模、哈希、范围、标签...原创 2019-09-12 16:30:27 · 2261 阅读 · 3 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片-内核剖析(三)
核心剖析ShardingSphere的3个产品的数据分片主要流程是完全一致的。 核心由SQL解析 => 执行器优化 => SQL路由 => SQL改写 => SQL执行 => 结果归并的流程组成。SQL解析分为词法解析和语法解析。 先通过词法解析器将SQL拆分为一个个不可再分的单词。再使用语法解析器对SQL进行理解,并最终提炼出解析上下文。 解析上下文...原创 2019-09-12 15:21:06 · 604 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片-核心概念(二)
数据分片的核心概念,主要包括:SQL核心概念 分片核心概念 配置核心概念SQL逻辑表水平拆分的数据库(表)的相同逻辑和数据结构表的总称。例:订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9,他们的逻辑表名为t_order。真实表在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。数据节点数据分片的...原创 2019-09-12 12:25:29 · 742 阅读 · 1 评论 -
ShardingSphere官网操作指南补充和重点整理-数据分片(一)
传统的将数据集中存储至单一数据节点的解决方案,在性能、可用性和运维成本这三方面已经难于满足互联网的海量数据场景。从性能方面来说,由于关系型数据库大多采用B+树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁盘访问的IO次数增加,进而导致查询性能的下降;同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈。(B+数)类型参考:在MySQL中,主要有四种类型的索引,分别为...原创 2019-09-12 12:05:54 · 1085 阅读 · 0 评论 -
ShardingSphere官网操作指南补充和重点整理-读写分离(七)
背景面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。通过一主多从的配置方式,可以将查询请求均匀的分散到多个数据副本,能够进一步的提升系统的处理能力。 使用多主多从的方式...原创 2019-09-17 10:00:42 · 495 阅读 · 0 评论