公众号merlinsea
- 背景
- 在分库分表以后,比如数据库1有配置表,数据库2有个配置表,数据库3也有个配置表,需要我们把配置同时写入三个数据库的配置表中, 在这样的情况下这里的配置表就是一种广播表,要求就是数据同步和一致。
- 什么是广播表?
- 指所有的分⽚数据源中都存在的表,表结构和表中的数据在每个数据库中均完全⼀致
- 适⽤于数据量不⼤且需要与海量数据的表进⾏关联查询的场景
- 例如:字典表、配置表
- 个人理解:广播表和普通的表唯一区别就是数据同时要写入多个不同数据库的广播表中。
- 注意的坑
- 分库分表中间件,对应的数据库字段,不能是sql的关键字,否则容易出问题,且报错不明显。
- 广播表的id不一定需要雪花算法,可以采用数据库自增的方式。
- 基于springboot的广播表配置实战
- 提前准备:在多个数据库中准备好一张相同的广播表。
1、编写好广播表的DO类
@Data @EqualsAndHashCode(callSuper = false) @TableName("ad_config") public class AdConfigDO { @TableId(value = "id",type = IdType.AUTO) private Long id; private String configKey; private String configValue; private String type; }
2、编写配置文件
#配置广播表 spring.shardingsphere.sharding.broadcast-tables=ad_config #广播表的雪花算法 #spring.shardingsphere.sharding.tables.ad_config.key-generator.column=id #spring.shardingsphere.sharding.tables.ad_config.key-generator.type=SNOWFLAKE
效果如下所示:
我在腾讯会议讲解组合总和2的视频文件的地址如下:
录制文件:
访问密码:4Zse
关于leetcode算法训练营:
加我微信号私聊参加训练营,尤其是想进入大厂工作的同学,算法是绕不过去的坎,我自己花了三年时间刷算法,总结思路,刷各种数据结构课程,加入我的训练营,我手把手以在线直播课的形式带你理思路,手把手带你写代码,让你真正体会算法之美~,同时遇到不明白的地方可以直接课上和我沟通,彻底解决你的代码困难证~
本人用c++刷了800道左右的算法,java语言刷了600道左右的算法题,并对这些题做了详细的个人总结。本科期间系统学习了数据结构与算法课程,同时考研过程中写完了率辉主编的《2020年数据结构高分笔记》和《数据结构1000题》,看完的视频包括《mooc浙大数据结构国家精品课程》和《王道考研408数据结构课程》,《王道2019年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步
奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!