请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

想问下数据库的优化

项目刚开始用户量较少直接用单数据库处理 等到一个阶段之后用户量越来越多 这时候考虑进行主从分离 再过一个阶段其中一个表的数据越来越多 这个时候考虑数据分片 这个优化思路对吗?

正在回答 回答被采纳积分+3

2回答

慕九州855891 2019-10-06 11:15:34

都9102年了,主从分离一开始就要做,这是一种习惯(就算一个美女不去相亲也要化妆一样,哈哈哈)。后续用户量多少需要量化,就是每天增加多少行记录,100万还是1000万行。 然后在做是否分片的方案(mycat),包括缓存方案、或者考虑添加其他存储(mongo Hbase ) 。至于数据库优化,最基本的原则就是找到数据库压力的瓶颈,然后建立有效的索引、查看慢查询,优化sql,还有包括硬件是否需要提升(硬盘读写能力)。

0 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    同学好,不一样呢,比如一个公司需要快速上线一个内部使用的应用看看效果的时候,就不需要的,后续等量起来才考虑,主要是处于成本的考虑。而对于大公司来讲,也不需要关心主从分离的事情,会有专门的DBA负责处理mysql集群的问题,应用通过一个可供内部解析的域名访问数据库集群,但是同学说的没错,一开始多考虑些程序未来的扩展也是可以的,于自己而言,养成良好的架构设计习惯:)
    回复 有任何疑惑可以回复我~ 2019-10-06 23:35:40
翔仔 2019-07-16 21:25:27

同学好,是这样的思路,后续分库分表,然后再逐渐引入缓存等

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_Activity_0 #1
    那我再顺便请教下!使用 Sharding-JDBC 进行读写分离的话 也是需要在 mysql 配置文件里进行配置的对吧?昨天我按照 Sharding-JDBC 文档尝试了下  无法实现读写分离,我估计应该需要在mysql 里面进行一些配置
    回复 有任何疑惑可以回复我~ 2019-07-17 10:19:15
  • 翔仔 回复 提问者 qq_Activity_0 #2
    Sharding-JDBC就不太了解了,一般主要就是会判断指令是存还是取,进而进行分离,跟mysql配置文件应该关系不大,mysql主要用来配置主从同步的,读写分离跟应用相关
    回复 有任何疑惑可以回复我~ 2019-07-17 15:26:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信