1.下面我们需要了解下数据库集群时会产生哪些问题?
答:1.自增id的问题 2.数据关联查询问题(水平切分) 3.数据同步问题
2.对于数据库集群的问题,如果自动增长id产生重复的话,如果解决这个问题?
方式有:
a.使用UUID形式,不过这种方式在Oracle数据库比较推荐,mysql使用不是很多。
b.设置数据库的步长,即修改自增的步长:set @@auto increment increment = 10;
修改起始值:set @@auto increment_offset = 5
假设有两台mysql数据库服务器,节点1的起始值1,自增步长为2,那么产生的数据就是 1 3 5 7 9...等等奇数
节点2的起始值2,自增步长为2,那么产生的数据就是2 4 6 8...等等偶数。
c.还有方法就是使用雪花算法或者redis(单线程,不过如果多个线程同时生成ID时可能发生线程阻塞问题)
浙公网安备 33010602011771号