我们这里有台mysql是专门用来记录网站统计数据的,网民每一次访问都会有一个对mysql进行写入的操作,这台mysql是单独出来的,现在网站的PV大概在3000W左右,数据库上面扛不住了,但是没有特别好的办法对主做写入的数据库进行负载均衡,麻烦请教架构大牛帮指点一二
这个不建议使用负载均衡,而是采用缓存来进行。缓存使用redis,内存数据库,网民每次访问的写入操作,都先存在redis中。另一个程序控制,每隔1min,从redis中把数据同步到mysql中。
这样做有两个好处:
提高写入速度,减小读写压力
即使redis数据丢失,也只是丢失1min内的少量数据。
恩 这个是非常好的办法,但是不幸的是,这个数据库就此一个表。结构太简单了,没表可分
追答我不太清楚你对分表是怎么理解的。我说一下我的想法。
一个表,但是数据量太大。完全可以做水平拆分。
因此是可以实现的。
我们在生产上也做过类似的拆分。我们有一张统计的表有将近4亿数据量。最后就是做水平拆分,把单张表的数据控制在400W左右。一共分了100多张子表。