Flickr 的访问统计实现以及其他
2008-09-28 22:42
176 查看
网址: http://www.dbanotes.net/arch/flickr_stats_and_dathan.html
TechCrunch 前两天报道说 Flickr 针对 Pro 用户新增了一项统计功能。今天有看到 Flickr 的 DBA Dathan Pattishall 描述了一下这个统计功能的实现。
Flickr 统计功能的基本技术信息:
所有的信息统计是实时的
同时用到 MYISAM 与 INNODB 两种引擎
数据因为存储需求跨在 6 个 Cluster 上(12 台服务器,6 台提供服务,6 台做失败接管)
没有用 Memcache
Dathan 提到这是他最耗时的一个项目(似乎有点怨言呀)。因为是实时统计,并且还要不影响整体页面响应速度,所以整个项目非常复杂。一旦 DB 设计搞定后,大部分时间都花在如何创建分布锁上了。
其实就我个人而言,真的不觉得这个功能有什么必要(尤其还是实时统计)。这或许是过度设计的一个例子。Flickr 在被 Yahoo!收购之后,这段时间倒是有点颓势。
说起 Dathan 这老兄,在 MySQL 技术圈子算是大名鼎鼎了。曾先后在 Friendfinder、Friendster 做 DBA,并获得国 05、06 两年的 "MySQL Application of the Year Award“。(看他 Blog 的活跃劲儿,估计今年也差不多。)
这老兄加盟了 Flickr 后,一个礼拜解决了 40% 左右的性能问题。从他的简历来看,Flickr 目前每日 DB 的事务超过 10亿,MySQL 运行在 16G 内存、AMD CPU 服务器上,存储采用本地硬盘而没有用 SAN。数据库采用联邦架构,能做到线性扩展,为公司节省成本达 40 万美元(占40%,从而估计 DB 相关硬件成本为 60万美元).
推荐国内每个 Web 2.0 公司的 DBA 持续关注 Dathan 的 Blog,当然,可能大家都已经一直在看了。
TechCrunch 前两天报道说 Flickr 针对 Pro 用户新增了一项统计功能。今天有看到 Flickr 的 DBA Dathan Pattishall 描述了一下这个统计功能的实现。
Flickr 统计功能的基本技术信息:
所有的信息统计是实时的
同时用到 MYISAM 与 INNODB 两种引擎
数据因为存储需求跨在 6 个 Cluster 上(12 台服务器,6 台提供服务,6 台做失败接管)
没有用 Memcache
Dathan 提到这是他最耗时的一个项目(似乎有点怨言呀)。因为是实时统计,并且还要不影响整体页面响应速度,所以整个项目非常复杂。一旦 DB 设计搞定后,大部分时间都花在如何创建分布锁上了。
其实就我个人而言,真的不觉得这个功能有什么必要(尤其还是实时统计)。这或许是过度设计的一个例子。Flickr 在被 Yahoo!收购之后,这段时间倒是有点颓势。
说起 Dathan 这老兄,在 MySQL 技术圈子算是大名鼎鼎了。曾先后在 Friendfinder、Friendster 做 DBA,并获得国 05、06 两年的 "MySQL Application of the Year Award“。(看他 Blog 的活跃劲儿,估计今年也差不多。)
这老兄加盟了 Flickr 后,一个礼拜解决了 40% 左右的性能问题。从他的简历来看,Flickr 目前每日 DB 的事务超过 10亿,MySQL 运行在 16G 内存、AMD CPU 服务器上,存储采用本地硬盘而没有用 SAN。数据库采用联邦架构,能做到线性扩展,为公司节省成本达 40 万美元(占40%,从而估计 DB 相关硬件成本为 60万美元).
推荐国内每个 Web 2.0 公司的 DBA 持续关注 Dathan 的 Blog,当然,可能大家都已经一直在看了。
相关文章推荐
- 如何实现 网站在线人数以及历史访问人数的统计
- 转:如何实现网站在线人数以及历史访问人数的统计
- 专题:如何实现 网站在线人数以及历史访问人数的统计
- 如何实现网站在线人数以及历史访问人数的统计
- ASP.NET中JSONP的两种实现以及其他跨域解决方案的简单实现
- HashMap实现原理以及与其他Map实现类的区别
- 对apache访问日志的条件过滤以及统计
- PHP+MYSQL 如何准确实现页面访问统计次数
- 实现一个字符串中单词个数的统计,并按照单词字典序输出单词以及单词的出现个数。使用strsep
- js cookies实现简单统计访问次数
- 有3行文字,每行有80个字符,分别统计出其中大小写字母,数字,空格以及其他字符个数
- Spring3.0 +Structs1.3+Hibernate3.3实现的访问统计系统(一)
- 使用HttpSessionListener和ServletContextListener实现在线人数和历史访问人数统计的问题
- oracle中创建insert select from 语句实现两个表中某一个字段相同统计其他不同字段的情况
- JS+JSP通过img标签调用实现静态页面访问次数统计的方法
- 通过img标签调用实现静态页面访问次数统计的简单方法
- ASP.NET MVC中利用AuthorizeAttribute实现访问身份是否合法以及Cookie过期问题的处理
- JSP中实现网页访问统计的方法
- html页面静态页面实现统计访问人数实例代码