日期:2014-05-16  浏览次数:20509 次

Netlog中数据库演变过程(转载)

Netlog拥有4000万活跃用户,每个月有超过5000万的独立用户访问网站,每个月有5亿多的PV。数据量应该算是比较大的。作者是Jurriaan Persyn,他从一个开发者角度而非DBA或者SA角度来谈Netlog是如何通过数据切分来提高网站

性能,横向扩展数据层的

?

第一阶段:读写同在一台数据库服务器

?

?

第二阶段:读写分离(可以解决读写比例均衡或者读居多的情况,但是带入了数据复制同步的问题)

?

第三阶段:部分数据独立部署结合读写分离。(部分数据根据其业务独立性情况,可以将所有的数据独立存储到数据库服务器,分担数据读写压力,前提是要求数据具有较高的业务独立性)

?

?

第四阶段:数据分拆结合读写分离(三阶段的增强)

?

?

?

第五阶段:问题出现,分拆也无法解决数据爆炸性增长,同时读写处于同等比例

?

?

解决问题两种方式:DB Scale up?DB Scale out。前者投入以及后期扩展有限,因此需要进行数据切分