http://blog.sina.com.cn/utrigger[订阅][手机订阅]
个人资料
评论
读取中...
图片幻灯
友情链接
分类
    内容读取中…
访客
读取中...
好友
读取中...
博文

This post contains some technical information that will be very interesting to other developers, but may not be so interesting to those that don’t work with databases.

For those of you that just want the nutshell:

We’ve switched to new database server software because we think the new software will be faster and store the same data while using less disk space (making our storage costs lower).

Now for the detailed explanation:

Back in August, we switched the FeedLounge database from MySQL’s MyISAM tables to InnoDB tables. This solved a number of problems that we were having with the MyISAM tables, but also introduced a number of other issues including slower performance on a number of queries (counting in particular). As we did more and more research into how to solve these problems, we decided that one promising solution would be to switch to a PostgreSQL database instead of a MySQL database altogether.

That is what w

每月超过 1000 万人使用该站服务,月浏览量超过 30 亿次,(Craigslist每月新增的帖子近 10 亿条??)网站的网页数量在以每年近百倍的速度增长。Craigslist 至今却只有 18 名员工(现在可能会多一些了)。
Tim O'reilly 采访了 Craigslist 的 Eric Scheide ,于是通过这篇 Database War Stories #5: craigslist 我们能了解一下 Craigslist 的数据库架构以及数据量信息。 数据库软件使用 MySQL 。为充分发挥 MySQL 的能力,数据库都使用 64 位 Linux 服务器, 14 块 本地磁盘(72*14=1T ?), 16G 内存。 不同的服务使用不同方式的数据库集群。

论坛

1 主(master) 1 从(slave)。Slave 大多用于备份. myIsam 表. 索引达到 17G。最大的表接近 4200 万行。

分类信息

1 主 12 从。 Slave 各有个的用途. 当前数据包括索引有 114 G , 最大表有 5600 万行(该表数据会定期归档)。 使用 myIsam。分类信息量有多大? 'Craigslist每月新增的帖子近 10 亿条',这句话似乎似乎有些夸张,Eric Sch

最新一期《程序员》杂志上有篇《Web 2.0 构建要素》的文章,里面描述了一些 Web 2.0 的扩展性问题,这可能也是 Web 2.0 站点从小到大必须承受的苦恼。该文简单介绍了有些站点通过 Amazon S3 服务来解决存储扩展带来的压力。有些站点则必须自己动手构建最适合自身业务的技术方案。

很多比较成功的站点,有的时候会透露出一些关于站点扩展性的技术信息,像我收集的 Flickr 的开发者的 Web 应用优化技巧Technorati 的后台数据库架构Craigslist 的数据库架构等,往往是蜻蜓点水,看过之后让人心痒难当,可是更细节的东西又很难获取。尽管这些站点基本都是构建在 OpenSource 软件上,但这一点上看,似乎不够 Open ,唯一一个做的比较好的倒是要算 LiveJournal

Technorati (现在被阻尼了, 可能你访问不了)的 Dorion Carroll2006 MySQL 用户会议上介绍了一些关于 Technorati 后台数据库架构的情况.

基本情况
目前处理着大约 10Tb 核心数据, 分布在大约 20 台机器上.通过复制, 多增加了 100Tb 数据, 分布在 200 台机器上. 每天增长的数据 1TB. 通过 SOA 的运用, 物理与逻辑的访问相隔离, 似乎消除了数据库的瓶颈. 值得一提的是, 该扩展过程始终是利用普通的硬件与开源软件来完成的. 毕竟 , Web 2.0 站点都不是烧钱的主. 从数据量来看,这绝对是一个相对比较大的 Web 2.0 应用.

Tag 是 Technorati 最为重要的数据元素. 爆炸性的 Tag 增长给 Technorati 带来了不小的挑战.
2005 年 1 月的时候, 只有两台数据库服务器, 一主一从. 到了 06 年一月份, 已经是一主一从, 6 台 MyISAM 从数据库用来对付查询, 3 台 MyISAM 用作异步计算.

一些核心的处理方法:

 

FeedBurner(以下简称FB,呵呵)我想应该是大家耳熟能详的一个名字,在国内我们有一个同样的服务商,叫做FeedSky。 在2004年7月份,FB的流量是300kbps,托管是5600个源,到2005年4月份,流量已经增长到5Mbps,托管了47700个源;到 2005年9月份流量增长到20M,托管了109200个源,而到2006年4月份,流量已经到了115Mbps,270000个源,每天点击量一亿次。

FB的服务使用Java实现,使用了Mysql数据库。我们下面来看一下FB在发展的过程中碰到的问题,以及解决的方案。

在2004年8月份,FB的硬件设备包括3台Web服务器,3台应用服务器和两台数据库服务器,使用DNS轮循分布服务负载,将前端请求分布到三台 Web服务器上。说实话,如果不考虑稳定性,给5600个源提供服务应该用不了这么多服务器。现在的问题是即使用了这么多服务器他们还是无法避免单点问 题,单点问题将至少影响到1/3的用户。FB采用了监控的办法来解决,当监控到有问题出现时及时重启来避免更多用户受到影响。FB采用了Cacti(http://www.cacti.net)和Nagios(

Mixi目前是日本排名第三的网站,全球排名42,主要提供SNS服务:日 记,群组,站内消息,评论,相册等等,是日本最大的SNS网站。Mixi从2003年12月份开始开发,由现在它的CTO - Batara Kesuma一个人焊,焊了四个月,在2004年2月份开始上线运行。两个月后就注册了1w用户,日访问量60wPV。在随后的一年里,用户增长到了 21w,第二年,增长到了200w。到今年四月份已经增长到370w注册用户,并且还在以每天1.5w人的注册量增长。这些用户中70%是活跃用户(活跃 用户:三天内至少登录一次的用户),平均每个用户每周在线时间为将近3个半小时。

下面我们来看它的技术架构。Mixi采用开源软件作为架构的基础:Linux 2.6,Apache 2.0,MySQL,Perl 5.8,memcached,Squid等等。到目前为止已经有100多台MySQL数据库服务器,并且在以每月10多台的速度增长。Mixi的数据库连 接方式采用的是每次查询都进行连接,而不是持久连接。数据库大多数是以InnoDB方式运行。Mixi解决扩展问题主要依赖于对数据库的切分。

首先进行垂直切分,按照表的内容将不同的表划分到不同的数据库中。然后是水平切分,根据用户的ID将不同用户的内容再划分的

人不风流枉少年(2007-04-21 21:09)
    今天我很虚荣的查看我了的博客,差不多一个星期了才两百多个访问量--多亏新浪没在博客中列出独立IP访问量,对我打击不小!
    为了维护我的虚荣,我尽量不让我的博客成为某种意义上的流水帐。
    平时无所事事,或做白日梦的时候,经常有一个词--“少年”,在我头脑中闪过,我每次都压制住那树影般斑驳的回忆涌上心头。为什么要压制呢?青春就如此不堪回首?是那时的不谙世事、青春的萌动,还是没完没了的作业、题海?着实说不清。
    每次回老家的时候,姐姐都要求我和外甥谈谈什么学习方法、早恋等诸如此类的问题,这让我很为难,如果不说上几句,姐姐会不满意。我其实很同情外甥,谁没有青春年少?少年与成年人犹如五十步与百步的关系,谁都不要笑谁。大家都是荷尔蒙的奴隶,强行压制人性的效果肯定不好。超越人性,更是不符合常理。
    套用《水煮三国》里的一句话:“我上辈子肯定俗不可耐,搞的这辈子没风流债还”。郁闷啊,比没人看我的博客还郁闷!
    己所不欲,勿
 High Availability with Open Source
Filed under: Open Source

When I build a network or a system, I try my best to make sure that everything is as redundant as possible: redundant power supplies, RAID for the drives in case of a hard drive failure, backup routes in OSPF in case someone trips over the network cable... you get the idea. But what happens if the CPU overheats in one of the web servers and causes it to crash? Or what if someone yanks the network cable from your LDAP server? Or if someone flips the switch and accidentally turns off the accounting database server? If you incorporate High Availability (HA) into your system design, the answer is 'nothing'. Your web site will still be running, your network users can still login, and the accounting department won't notice any glitch. You don't even ha

留命以待沧桑(2007-04-17 17:25)
    这段生活极不规律,大概是由于老婆上夜班的缘故吧,我有时候要凌晨3-4点钟才能入睡。导致的恶果是工作效率低下,project一拖再拖。早晨刮胡子的时候,镜子里出现个面目浮肿,眼睛红红的中年男人。这个男人就是我?
    慨叹年华老去,逝者如斯夫啊,心中惴惴的。
    今天Nathan对我说:“要有积极的人生观,我们都还年轻,别瞎操心”,想想也对,有什么可放不下的呢?究其原因,我可能是受传统教育的毒害太深,妄想拯救人民于水火中,结果是总把自己往沟里带。还是留命以待沧桑吧。
也说王小波(2007-04-16 19:56)
    小波同学已经离开我们10年了,网络上到处都是纪念文章。三联周刊甚至把该同学作为封面人物。不同人们对小波都有不同的理解,也以不同的方式对其解读。
    记不清什么时候了,可能是还在读研吧,在书摊上看到了《青铜时代》,搞不懂是什么意思,以为是大炼钢铁时代的纪念传记,或是什么考古书籍,总之,觉得书名很搞笑。旁边的眼镜同学跟我说:“这哥们死了,可以买一本看看”,我就这么稀里糊涂的买了一本。其后我开始逐渐喜欢上了王小波,看了很多他的杂文和小说。
    小波是超越那个时代的,当然超越是需要付出代价的,心灵无法承受的代价,结果是小波同学被人们从各个角度曲解,放大,断章取义。看到小波被有些媒体冠以“精神导师”的头衔,不由从心底打个寒颤,我想小波同学如果地下有知的话,肯定会很不爽的。小波同学在那个时代,不被大家认同,穷困潦倒,被认为是怪物、流氓,生前连自己的生计都成问题,死后偏偏有人靠研究他而生存。郁闷吗?答案是肯定的,古今中外一理,待遇上和梵高同学类似。死后享哀荣,人生之大不幸,莫过如此也!
    我不以码字为生,不怕得罪什么