说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两... ...
分类:
编程语言 时间:
2018-03-12 18:43:32
阅读次数:
213
上次进过GTID复制的学习记录,已经搭建好了主从复制的服务器,现在利用现有的主从复制环境,加上正在研究的Mycat,实现了主流分布式数据库的测试 Mycat就不用多介绍了,可以实现很多分布式数据库的功能,极大的减轻数据库服务器的压力,包括读写分离以及分库分表,本测试对这两种功能都进行了测试,进行相应 ...
分类:
其他好文 时间:
2018-03-07 10:27:46
阅读次数:
192
当单库已不能支撑当前业务的时候,我们往往都考虑进行分库(横向拆分或者纵向拆分)。但分库有个无法回避的问题,就是事务问题。网上有很多分布式事务解决方案,例如XA,TCC等,但是最常用,也是改造成本最低就是使用最终一致性来保证分布式事务。 比较常用的就是使用消息中间件(RabbitMq,RocketMq... ...
分类:
数据库 时间:
2018-03-06 21:49:58
阅读次数:
348
最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话。下面简要说一下将普通表转为分区表的步骤。 一、创建文件组 打开SQL Server Management Studio,在相关数据库项右键属性,进入数据库属性页, ...
分类:
数据库 时间:
2018-03-06 20:18:58
阅读次数:
183
Mysql Proxy Lua读写分离设置 一.读写分离说明 读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数 ...
分类:
数据库 时间:
2018-03-02 20:42:13
阅读次数:
207
读写分离:简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。 分库分表: 水平分区:分表 垂 ...
分类:
数据库 时间:
2018-03-02 17:20:16
阅读次数:
175
数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求: 1 不能有单点故障。 2 以时间为序,或者ID里包含时间。这样一是可以少一个索引,二是冷热数据容易分离。 3 可以控制ShardingId。比如某一个用户的文章要放 ...
分类:
其他好文 时间:
2018-03-02 14:59:55
阅读次数:
197
Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用 (部分转载 部分原创) ...
分类:
数据库 时间:
2018-03-01 19:45:17
阅读次数:
541
一、分片策略 Sharding-JDBC认为对于分片策略存有两种维度: 数据源分片策略(DatabaseShardingStrategy):数据被分配的目标数据源 表分片策略(TableShardingStrategy):数据被分配的目标表 两种分片策略API完全相同,但是表分片策略是依赖于数据源分 ...
分类:
数据库 时间:
2018-02-28 22:50:05
阅读次数:
8554
首先在pom文件中引入需要的依赖 二、新建一个sharding-jdbc.xml文件,实现分库分表的配置 这里我简单介绍下一些属性的含义, <rdb:strategy id="tableShardingStrategy" sharding-columns="user_id" algorithm-cl ...
分类:
数据库 时间:
2018-02-26 11:27:51
阅读次数:
446