分库分表重点还是在于数据一致性,主从复制和库表管理底层原理,本质上根据配置文件入不同库,入不同表还是很简单的。
学习链接:https://www.bilibili.com/video/BV1LK411s7RX?p=23&vd_source=510ec700814c4e5dc4c4fda8f06c10e8
文章目录
🔥1. 基本概念
1.1. 基本名词
1.1.1 ShardingSphere
分布式数据库中间件
1.1.2 产生场景
由于数据量不断增大,原始可以使用硬件优化,现在需要增加分库分表
分库分表分为垂直切分和水平切分
1. 垂直切分
1. 垂直分表:同一张表拆分字段存入不同表
2. 垂直分库: 不同业务表存入不同业务的数据库
2. 水平切分
1. 水平分表:可以根据id拆分表数据导不同表中
2. 水平分库:表数据水平存到不同数据库中,避免请求打到同一个库中。不同库中库表结构都是一样的
1.1.3 场景变迁
1. 数据库设计的时候考虑垂直分库、垂直分表
1. 数据量增加,优先考虑缓存、读写分离、索引、数据库硬件、数据库选择等方式解决,实在解决不了了再考虑水平分库分表
但存储几个问题:不同服务器数据库之间如何管理
1.2 基本使用
1.2.1 Sharding-JDBC
用于数据分片和读写分离,操作不同数据库的表,并不是分库分表
1.2.1.1 水平分表
-
导入shardingshpere、druid依赖包
-
把原始spring.datasource删除,使用sharding-datasource的properties配置文件
-
配置bean的覆盖策略
spring.main.allow-bean-definition-overriding=true -
后续就能实现原始代码也能正常CRUD,course_1, course_2的插入和查询采用分片策略进行查询与插入
1.2.1.2 垂直分库、公共表(略)
1.2.1.3 读写分离(略)
就是主写从读,从数据库通过读取binlog实时把数据拉取过来
1.2.2 Sharding-Proxy
数据库代理端
1.3 个人小结

本文介绍了ShardingSphere作为分布式数据库中间件的应用,包括其产生的背景、应用场景及变迁,并详细讲解了Sharding-JDBC的水平分表及配置方法,旨在帮助读者理解如何有效管理大规模数据。



1061

被折叠的 条评论
为什么被折叠?



