我们的web项目已经运行了2年了,由于当初用户少,没有考虑周全,只有一个mysql数据库,现在用户越来越多,mysql明显已经快扛不住了,老大让想办法进行分库。
各位大牛有什么好的方案么,跪求!
ps: 项目是用spring+spring MVC+mybatis架构
我们的web项目已经运行了2年了,由于当初用户少,没有考虑周全,只有一个mysql数据库,现在用户越来越多,mysql明显已经快扛不住了,老大让想办法进行分库。
各位大牛有什么好的方案么,跪求!
ps: 项目是用spring+spring MVC+mybatis架构
你们的用户有多少啊,
数据量有多大?
mysql都顶不住了...
首先,可以考虑读写分离,因为这个成本最低。
不行的话,把最热的库提取出来,放单独的机器。
还不行的话,需要合理的进行分表了。
按某一种特征,比如按用户的的省份、用户名拼音首字母、手机号码段,这跟你们的具体业务有关系,看看哪个特征分表最有利(比较均匀,没有哪张分表特别大,哪个特别小,这样没意义)
PS:MySQL抗不住也有几种原因,并发量、数据量、IO等,要分析清楚