实战:采⽤Sharding-JDBC实现订单表的(两主四从) 分库分表 和 读写分离
采用Sharding-JDBC实现c_order表分库分表+读写分离
要求:
- 搭建 两套一主二从 主从集群 架构,如下图
- 基于user_id对c_order表进行数据分片(分库)
- 基于id对c_order表进行数据分表,分别是:c_order1和c_order2
- 基于master1和master2 实现 读写分离
建表语句:
CREATE TABLE
c_order2
(
id
bigint(20) NOT NULL AUTO_INCREMENT,
is_del
bit(1) NOT NULL DEFAULT 0 ,
user_id
int(11) NOT NULL ,
company_id
int(11) NOT NULL ,
publish_user_id
int(11) NOT NULL ,
position_id
int(11) NOT NULL ,
resume_type
int(2) NOT NULL DEFAULT 0 ,
status
varchar(256) NOT NULL ,
create_time
datetime NOT NULL ,
update_time
datetime NOT NULL ,
PRIMARY KEY (
id
),
KEYindex_userId_positionId
(user_id
,position_id
),
KEYidx_userId_operateTime
(user_id
,update_time
)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
一、环境搭建
1. 软件版本
环境&软件 | 版本 |
---|---|
虚拟机&VMware Workstation | 15 Pro |
服务器&CentOS | CentOS-7-x86_64-DVD-1810.iso |
数据库&Mysql | 5.7.28 |
远程文件传输&WinSCP、Xftp | 5 |
远程连接&Xshell | 5 |
Sharding-jdbc | 4.1.0 |
2. 架构介绍
机器名称 | 角色 | 权限 | IP |
---|---|---|---|
Master1 | 数据库Master1 | 可读写、主库 | 192.168.80.128 |
Slave1 | 数据库Slave1 | 只读、从库 | 192.168.80.55 |
Slave2 | 数据库Slave2 | 只读、从库 | 192.168.80.56 |
机器名称 | 角色 | 权限 | IP |
---|---|---|---|
Master2 | 数据库Master 2 | 可读写、主库 | 192.168.80.129 |
Slave3 | 数据库Slave3 | 只读、从库 | 192.168.80.57 |
Slave4 | 数据库Slave4 | 只读、从库 | 192.168.80.58 |
3. 软件下载地址:
- 操作系统:centos7下载地址 提取码:yrem
- MySQL数据库:mysql5.7下载地址 提取码:pb3c
- Xshell:xshell5下载地址 提取码:xdao
4. 主从搭建:
搭建两套一主两从架构:
- master1,slave1,slave2
- master2,slave3,slave4
具体搭建步骤,参考:基于CentOS7,MySQL5.7的主从复制架构搭建实战
测试:
分别在两台主节点master1和master2上创建数据表c_order1和c_order2,检测从库是否同步
二、编码(使用sharding-jdbc实现:c_order表分库分表+读写分离)
1. 创建maven工程:sharding-jdbc-order
2. Maven依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>${springboot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><version>${springboot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>${springboot.version}</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version></dependency><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>${shardingsphere.version}</version></dependency></dependencies>
2.1 Order 实体类
@Entity
@Table(name = "c_order")
public class Order implements Serializable {@Id@Column(name = "id")@GeneratedValue(strategy = GenerationType.IDENTITY)private long id;@Column(name = "is_del")private Boolean isDel;@Column(name = "company_id")private Integer companyId;@Column(name = "position_id")private long positionId;@Column(name = "user_id")private Integer userId;@Column(name = "publish_user_id")private Integer publishUserId;@Column(name = "resume_type")private Integer resumeType;@Column(name = "status")private String status;@Column(name = "create_time")private Date createTime;@Column(name = "update_time")private Date updateTime;public long getId() {return id;}public void setId(long id) {this.id = id;}public Boolean getDel() {return isDel;}public void setDel(Boolean del) {isDel = del;}public Integer getCompanyId() {return companyId;}public void setCompanyId(Integer companyId) {this.companyId = companyId;}public long getPositionId() {return positionId;}public void setPositionId(long positionId) {this.positionId = positionId;}public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}public Integer getPublishUserId() {return publishUserId;}public void setPublishUserId(Integer publishUserId) {this.publishUserId = publishUserId;}public Integer getResumeType() {return resumeType;}public void setResumeType(Integer resumeType) {this.resumeType = resumeType;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "Order{" +"id=" + id +", isDel=" + isDel +", companyId=" + companyId +", positionId=" + positionId +", userId=" + userId +", publishUserId=" + publishUserId +", resumeType=" + resumeType +", status='" + status + '\'' +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
}
2.2 OrderRepository 类
import cn.dabing.entity.Order;
import org.springframework.data.jpa.repository.JpaRepository;public interface OrderRepository extends JpaRepository<Order,Long> {}
2.3 RunBoot 启动类
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication
public class RunBoot {}
2.4 TestShardingDatabase 测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RunBoot.class)
public class TestShardingDatabase {@Resourceprivate OrderRepository orderRepository;@Test@Repeat(100)public void testInsertDB_TB() {Random random = new Random();int userId = random.nextInt(10);Order order = new Order();//order.setId(i);order.setDel(false);order.setCompanyId(2222);order.setPositionId(3242342);order.setUserId(userId);order.setPublishUserId(1111);order.setResumeType(1);order.setStatus("AUTO");order.setCreateTime(new Date());order.setUpdateTime(new Date());orderRepository.save(order);}/*** 测试查找*/@Testpublic void testQueryFromSlave() {List<Order> list = orderRepository.findAll();list.forEach(cOrder -> {System.out.println(cOrder.toString());});}
3. 分库分表策略
配置文件:application.properties
#spring.profiles.active=sharding-master-slaves
spring.shardingsphere.props.sql.show=true#数据源
spring.shardingsphere.datasource.names=master1,master2,slave1,slave2,slave3,slave4spring.shardingsphere.datasource.master1.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.master1.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.master1.jdbc-url=jdbc:mysql://192.168.80.128:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.master1.username=root
spring.shardingsphere.datasource.master1.password=root#一主两从1:master1/slave1/slave2---------------------
spring.shardingsphere.datasource.master2.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.master2.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.master2.jdbc-url=jdbc:mysql://192.168.80.129:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.master2.username=root
spring.shardingsphere.datasource.master2.password=root
#slave1---------------
spring.shardingsphere.datasource.slave1.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave1.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave1.jdbc-url=jdbc:mysql://192.168.80.55:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.slave1.username=root
spring.shardingsphere.datasource.slave1.password=root
#slave2---------------
spring.shardingsphere.datasource.slave2.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave2.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave2.jdbc-url=jdbc:mysql://192.168.80.56:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.slave2.username=root
spring.shardingsphere.datasource.slave2.password=root#一主两从2:master2/slave3/slave4---------------------
#slave1---------------
spring.shardingsphere.datasource.slave3.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave3.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave3.jdbc-url=jdbc:mysql://192.168.80.57:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.slave3.username=root
spring.shardingsphere.datasource.slave3.password=root
#slave2---------------
spring.shardingsphere.datasource.slave4.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave4.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave4.jdbc-url=jdbc:mysql://192.168.80.58:3306/sharding_jdbc_db?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.shardingsphere.datasource.slave4.username=root
spring.shardingsphere.datasource.slave4.password=root#分库,根据user_id字段进行分库
spring.shardingsphere.sharding.tables.c_order.database-strategy.inline.sharding-column=user_id
### 分库规则:对user_id取模2,奇偶分库
spring.shardingsphere.sharding.tables.c_order.database-strategy.inline.algorithm-expression=master$->{user_id % 2 + 1}#分表,将写入统一主库的数据,根据id进行分表处理,分别存储到c_order1和c_order2中
## 实际操作节点,具体操作的库和表
spring.shardingsphere.sharding.tables.c_order.actual-data-nodes=master${1..2}.c_order${1..2}### 分表规则:对id取模2,奇偶分表
spring.shardingsphere.sharding.tables.c_order.table-strategy.inline.sharding-column=id
spring.shardingsphere.sharding.tables.c_order.table-strategy.inline.algorithm-expression=c_order${id % 2 + 1}#id生成策略,使用雪花算法生成id
spring.shardingsphere.sharding.tables.c_order.key-generator.column=id
spring.shardingsphere.sharding.tables.c_order.key-generator.type=SNOWFLAKE#读写分离
spring.shardingsphere.sharding.master-slave-rules.master1.master-data-source-name=master1
spring.shardingsphere.sharding.master-slave-rules.master1.slave-data-source-names=slave1, slave2
spring.shardingsphere.sharding.master-slave-rules.master2.master-data-source-name=master2
spring.shardingsphere.sharding.master-slave-rules.master2.slave-data-source-names=slave3, slave4
三、测试
3.1 运行测试方法:testInsertDB_TB,查看核心运行日志
. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.2.5.RELEASE)2020-09-23 15:44:48.192 INFO 15340 --- [ main] o.a.s.core.log.ConfigurationLogger : ShardingRuleConfiguration:
masterSlaveRules:master1:masterDataSourceName: master1name: master1slaveDataSourceNames:- slave1- slave2master2:masterDataSourceName: master2name: master2slaveDataSourceNames:- slave3- slave4
tables:c_order:actualDataNodes: master${1..2}.c_order${1..2}databaseStrategy:inline:algorithmExpression: master$->{user_id % 2 + 1}shardingColumn: user_idkeyGenerator:column: idtype: SNOWFLAKElogicTable: c_ordertableStrategy:inline:algorithmExpression: c_order${id % 2 + 1}shardingColumn: id2020-09-23 15:44:48.192 INFO 15340 --- [ main] o.a.s.core.log.ConfigurationLogger : Properties:
sql.show: 'true'
查看master1中添加的数据:
查看master2中添加的数据:
3.2 运行测试方法:testQueryFromSlave,查看核心运行日志
masterSlaveRules:master1:masterDataSourceName: master1name: master1slaveDataSourceNames:- slave1- slave2master2:masterDataSourceName: master2name: master2slaveDataSourceNames:- slave3- slave4
tables:c_order:actualDataNodes: master${1..2}.c_order${1..2}databaseStrategy:inline:algorithmExpression: master$->{user_id % 2 + 1}shardingColumn: user_idkeyGenerator:column: idtype: SNOWFLAKElogicTable: c_ordertableStrategy:inline:algorithmExpression: c_order${id % 2 + 1}shardingColumn: id2020-09-23 16:58:11.596 INFO 4356 --- [ main] o.a.s.core.log.ConfigurationLogger : Properties:
sql.show: 'true'2020-09-23 16:58:11.661 INFO 4356 --- [ main] ShardingSphere-metadata : Loading 1 logic tables' meta data.
2020-09-23 16:58:11.696 INFO 4356 --- [ main] ShardingSphere-metadata : Meta data load finished, cost 100 milliseconds.
2020-09-23 16:58:11.906 INFO 4356 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2020-09-23 16:58:11.976 INFO 4356 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.12.Final
2020-09-23 16:58:12.109 INFO 4356 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-09-23 16:58:12.439 INFO 4356 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL57Dialect
2020-09-23 16:58:12.937 INFO 4356 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-09-23 16:58:12.941 INFO 4356 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-09-23 16:58:13.278 INFO 4356 --- [ main] test.TestShardingDatabase : Started TestShardingDatabase in 3.925 seconds (JVM running for 4.776)
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : Logic SQL: select order0_.id as id1_0_, order0_.company_id as company_2_0_, order0_.create_time as create_t3_0_, order0_.is_del as is_del4_0_, order0_.position_id as position5_0_, order0_.publish_user_id as publish_6_0_, order0_.resume_type as resume_t7_0_, order0_.status as status8_0_, order0_.update_time as update_t9_0_, order0_.user_id as user_id10_0_ from c_order order0_
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : SQLStatement: SelectStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement@6771fc29, tablesContext=org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext@1f370472), tablesContext=org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext@1f370472, projectionsContext=ProjectionsContext(startIndex=7, stopIndex=344, distinctRow=false, projections=[ColumnProjection(owner=order0_, name=id, alias=Optional[id1_0_]), ColumnProjection(owner=order0_, name=company_id, alias=Optional[company_2_0_]), ColumnProjection(owner=order0_, name=create_time, alias=Optional[create_t3_0_]), ColumnProjection(owner=order0_, name=is_del, alias=Optional[is_del4_0_]), ColumnProjection(owner=order0_, name=position_id, alias=Optional[position5_0_]), ColumnProjection(owner=order0_, name=publish_user_id, alias=Optional[publish_6_0_]), ColumnProjection(owner=order0_, name=resume_type, alias=Optional[resume_t7_0_]), ColumnProjection(owner=order0_, name=status, alias=Optional[status8_0_]), ColumnProjection(owner=order0_, name=update_time, alias=Optional[update_t9_0_]), ColumnProjection(owner=order0_, name=user_id, alias=Optional[user_id10_0_])]), groupByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.groupby.GroupByContext@50d91a0f, orderByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.orderby.OrderByContext@3ace65df, paginationContext=org.apache.shardingsphere.sql.parser.binder.segment.select.pagination.PaginationContext@52b6561b, containsSubquery=false)
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : Actual SQL: slave1 ::: select order0_.id as id1_0_, order0_.company_id as company_2_0_, order0_.create_time as create_t3_0_, order0_.is_del as is_del4_0_, order0_.position_id as position5_0_, order0_.publish_user_id as publish_6_0_, order0_.resume_type as resume_t7_0_, order0_.status as status8_0_, order0_.update_time as update_t9_0_, order0_.user_id as user_id10_0_ from c_order1 order0_
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : Actual SQL: slave2 ::: select order0_.id as id1_0_, order0_.company_id as company_2_0_, order0_.create_time as create_t3_0_, order0_.is_del as is_del4_0_, order0_.position_id as position5_0_, order0_.publish_user_id as publish_6_0_, order0_.resume_type as resume_t7_0_, order0_.status as status8_0_, order0_.update_time as update_t9_0_, order0_.user_id as user_id10_0_ from c_order2 order0_
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : Actual SQL: slave3 ::: select order0_.id as id1_0_, order0_.company_id as company_2_0_, order0_.create_time as create_t3_0_, order0_.is_del as is_del4_0_, order0_.position_id as position5_0_, order0_.publish_user_id as publish_6_0_, order0_.resume_type as resume_t7_0_, order0_.status as status8_0_, order0_.update_time as update_t9_0_, order0_.user_id as user_id10_0_ from c_order1 order0_
2020-09-23 16:58:14.000 INFO 4356 --- [ main] ShardingSphere-SQL : Actual SQL: slave4 ::: select order0_.id as id1_0_, order0_.company_id as company_2_0_, order0_.create_time as create_t3_0_, order0_.is_del as is_del4_0_, order0_.position_id as position5_0_, order0_.publish_user_id as publish_6_0_, order0_.resume_type as resume_t7_0_, order0_.status as status8_0_, order0_.update_time as update_t9_0_, order0_.user_id as user_id10_0_ from c_order2 order0_
Order{id=515553321667264512, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:50.0, updateTime=2020-09-23 15:44:50.0}
Order{id=515553322636148736, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553322715840512, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553322929750016, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323026219008, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323240128512, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323684724736, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323768610816, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323923800064, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324347424768, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324414533632, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324494225408, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324708134912, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324804603904, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324871712768, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324955598848, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325119176704, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325182091264, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325446332416, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325723156480, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325999980544, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326067089408, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326134198272, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326197112832, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326247444480, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326314553344, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:52.0, updateTime=2020-09-23 15:44:52.0}
Order{id=515553322682286081, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553322766172161, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323189796865, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323307237377, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323403706369, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323659558913, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323718279169, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323797970945, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323978326017, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324070600705, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324167069697, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324234178561, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324380979201, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324527779841, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324611665921, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324758466561, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325148536833, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325232422913, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325412777985, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325475692545, isDel=false, companyId=2222, positionId=3242342, userId=4, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325773488129, isDel=false, companyId=2222, positionId=3242342, userId=6, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325836402689, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325903511553, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325970620417, isDel=false, companyId=2222, positionId=3242342, userId=2, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326033534977, isDel=false, companyId=2222, positionId=3242342, userId=8, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326100643841, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326163558401, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326280998913, isDel=false, companyId=2222, positionId=3242342, userId=0, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:52.0, updateTime=2020-09-23 15:44:52.0}
Order{id=515553322816503808, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323143659520, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323353374720, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323454038016, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323525341184, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323617615872, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323848302592, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324020269056, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324116738048, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324200624128, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324267732992, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324578111488, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324641026048, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325035290624, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325265977344, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325328891904, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325379223552, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325509246976, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325593133056, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325656047616, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325807042560, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325869957120, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325937065984, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326377467904, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:52.0, updateTime=2020-09-23 15:44:52.0}
Order{id=515553322275438593, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553322862641153, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553322980081665, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323076550657, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323487592449, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323575672833, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553323894439937, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324313870337, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324460670977, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324674580481, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324838158337, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553324922044417, isDel=false, companyId=2222, positionId=3242342, userId=9, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325001736193, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325085622273, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325295337473, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325362446337, isDel=false, companyId=2222, positionId=3242342, userId=5, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325542801409, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325626687489, isDel=false, companyId=2222, positionId=3242342, userId=7, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553325689602049, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326213890049, isDel=false, companyId=2222, positionId=3242342, userId=1, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:51.0, updateTime=2020-09-23 15:44:51.0}
Order{id=515553326343913473, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:52.0, updateTime=2020-09-23 15:44:52.0}
Order{id=515553326411022337, isDel=false, companyId=2222, positionId=3242342, userId=3, publishUserId=1111, resumeType=1, status='AUTO', createTime=2020-09-23 15:44:52.0, updateTime=2020-09-23 15:44:52.0}
2020-09-23 16:58:14.137 INFO 4356 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-09-23 16:58:14.141 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-09-23 16:58:14.152 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2020-09-23 16:58:14.152 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown initiated...
2020-09-23 16:58:14.159 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Shutdown completed.
2020-09-23 16:58:14.159 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown initiated...
2020-09-23 16:58:14.163 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-3 - Shutdown completed.
2020-09-23 16:58:14.163 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown initiated...
2020-09-23 16:58:14.163 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-4 - Shutdown completed.
2020-09-23 16:58:14.163 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown initiated...
2020-09-23 16:58:14.167 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-5 - Shutdown completed.
2020-09-23 16:58:14.167 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown initiated...
2020-09-23 16:58:14.171 INFO 4356 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-6 - Shutdown completed.
3.3 测试案例:
测试代码下载:测试代码 提取码:4as5
实战:采⽤Sharding-JDBC实现订单表的(两主四从) 分库分表 和 读写分离相关推荐
- 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
问题 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上? 分析 你看看,你现在已经明白为啥要分库分表了,你也知道常用的分库分表中间件了,你也设计好你们如 ...
- 分库分表和NewSQL如何选择?分库分表真的适合你的系统吗?
曾几何时,"并发高就分库,数据大就分表"已经成了处理 MySQL 数据增长问题的圣经. 面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环. 但你有没有思考过,分库分 ...
- SQL数据库不用SQL语句能显示全表的内容_阿里巴巴数据库分库分表的实践
在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统.该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了 ...
- mysql 分库分表策略_【数据库】分库分表策略
关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数.处理能力都有限.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严重.此时就要考 ...
- mysql分库分表风险_别再问“分库分表”了,再问就崩溃了!
在谈论数据库架构和数据库优化的时候,我们经常会听到分库分表,分库分表其实涉及到很多难题,今天我们来汇总一下数据库分库分表解决方案. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数 ...
- 面试官问单表数据量大一定要分库分表吗?我们用六个字和十张图回答
1 文章概述 在业务发展初期单表完全可以满足业务需求,在阿里巴巴开发手册也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达不到这个级别,请不要在创建表时 ...
- 分区和分片的区别_Mysql分表和分区的区别、分库分表介绍与区别
分表和分区的区别: 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看: [root@BlackGhost test]# ls |grep user a ...
- 【高级】分表和分区的区别、分库分表介绍与区别
分表和分区的区别: 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这 ...
- 分库分表学习总结(6)——分库分表?选型和流程要慎重,否则流程会失控!
数据库中间件之分库分表 恭喜你,贵公司终于成长到一定规模,需要考虑高可用,甚至分库分表了.但你是否知道分库分表需要哪些要素?拆分过程是复杂的,提前计划,不要等真正开工,各种意外的工作接踵而至,以至失控 ...
- Sharding-Sphere,Sharding-JDBC_分库分表(水平分库_水平分表)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记004
然后我们前面说了垂直分库,分表,我们要了解什么是垂直分库分表 1.垂直分表,就是比如,我们有个课程的表,但是我们数据量太大的话,我们把这个课程表,可以分成 课程基本信息表,课程描述表,这两个表,这样的 ...
最新文章
- 在fvwm中将右手习惯改为左手习惯的简单办法
- 编写AXI4协议读写BRAM并仿真验证
- 使用T-SQL配置数据库事务日志传送
- AX 2009 界面伸缩功能
- python输出时间_Python获取并输出当前日期时间
- 暴风集团:冯鑫因涉嫌对非国家工作人员行贿被公安机关拘留
- python中布尔运算可以用于浮点数比较_简单谈谈Python中的几种常见的数据类型
- CentOS 7 安装开发者环境
- 为Java应用程序提供了空前的代码保护控件DashO-Pro
- java 清除所有 Session
- Ubuntu常用命令大全
- mapgis67安装输入计算机名称,mapgis67_dogserver67.exe_mapgis67安装教程
- Spring的两种定时器
- 赋能泉城 2017中国软件生态大会再下一城
- JVM - 【字符串常量池】-XX:StringTableSize
- JS 格式化时间字符串
- zabbix 2.2.2在centos 6.3 x86_64上的安装
- gophp解释器_golang底层用什么语言实现的
- mysql 中文截取_中文字符串截取
- C++中cout用法