主题:【半原创】Flickr 网站架构研究(1) -- 西电鲁丁
阅读了Flickr网站架构研究前三节,把自己对数据库使用的理解总结一下。这方面没有啥实际经验,总结得也很浅,有什么问题大家多多拍砖。
数据库使用的总原则是在不影响数据库其他方面性能(如数据一致性)的前提下,尽可能提高数据库服务器集群的响应能力,应对更大的访问量。
由于每台服务器的响应能力是相对固定的,因此基本方法是通过增加服务器数量来应对高并发。
架设服务器集群有两个大致的思路。一个是以数据库服务器为单位,通过增加保存相同数据的服务器的数量来分摊压力,不考虑服务器上数据的性质。另一个是以数据为单位,通过分拆数据,在不同服务器上保存不同用途的数据来分摊压力。第一种思路对应master-master、master-slave这样的方案。第二种思路比较灵活,需要根据业务特点来选择拆分方法。拆分完毕后可以再利用第一种思路增加每个数据节点的响应能力。
数据拆分从Flickr的经验看有这么几种:
1.读、写拆分。一般来说,读的数量远大于写,因此可以通过增加备份数据库,分担读请求。
2.根据业务分拆数据。例如Flickr中有专门保存用户主键和shard信息的数据库,有用户数据和照片元信息的数据库。
3.根据用户拆分数据。同一用户的数据一般集中在一处,但不同用户的数据可以分别放在不同的机器上。这样通过增加机器数就可以应对更大用户量的访问。
数据拆分比较灵活,和业务特点关系密切,需要根据实际情况来设计。
还有一些和数据库应用相关的内容这里没有提,比如cache的应用,通过异步操作来降低数据库的压力等,都和数据库的设计有密切关系。
暂时就想到这么多啦
- 相关回复 上下关系8
🙂花谢。 西电鲁丁 字0 2009-08-17 21:13:19
🙂【半原创】Flickr 网站架构研究(2) 58 西电鲁丁 字5453 2009-08-16 21:48:57
🙂【原创】Flickr 网站架构研究(3) 41 西电鲁丁 字7712 2009-08-23 11:53:31
🙂《Flickr网站架构研究》读书笔记
🙂【原创】Flickr 网站架构研究(4) 19 西电鲁丁 字4650 2009-09-06 01:41:51
🙂深入浅出,写得真好,一个小疑问。 1 邓侃 字1023 2009-09-20 20:07:11
🙂嗯,欢迎拍砖。 3 西电鲁丁 字924 2009-09-20 22:24:26
🙂关于MemCache与Slave的比较 1 邓侃 字815 2009-08-27 21:31:35