Tag Archives: Technorati

了解一下 Technorati 的后台数据库架构

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 用作异步计算.
一些核心的处理方法:
1) 根据实体(tags/posttags))进行分区
衡量数据访问方法,读和写的平衡.然后通过不同的维度进行分区.( Technorati 数据更新不会很多, 否则会成为数据库灾难)
2) 合理利用 InnoDB 与 MyISAM
InnoDB 用于数据完整性/写性能要求比较高的应用. MyISAM 适合进行 OLAP 运算. 物尽其用.
3) MySQL 复制
复制数据到从主数据库到辅数据库上,平衡分布查询与异步计算, 另外一个功能是提供冗余. 如图:
InnoDB MyISAM 拓扑
后记
拜读了一个藏袍的两篇大做(mixi.jp:使用开源软件搭建的可扩展SNS网站 / FeedBurner:基于MySQL和JAVA的可扩展Web应用) 心痒难当, 顺藤摸瓜, 发现也有文档提及 Technorati , 赶紧照样学习一下. 几篇文档读罢, MySQL 的 可扩展性让我刮目相看.
或许,应该把注意力留一点给 MySQL 了 .
–End.

小评 Souyo

前几天收到 Neso 的邀请测试一下新推出的 Souyo . 一直比较忙,到现在一共上去两次.
1) 第一次发现的一个问题是 Souyo 的官方 Blog 的验证字搞得模糊无比(现在已经修正了吧), 连着几次输入都不正确.也就不想留言了.刚才又上去一看, Blog 还是有问题, 右边栏都跑到底下去了.
2) 测试了几个搜索, 以我的 Blog 为例, 居然一个链接都没有. “链接:0,来自0个博客 – 链出:0”. 而搜索结果右边的”您也许会感兴趣”的推荐,居然没有一个感兴趣的. 反复几次, 似乎结果不是刷新的. 像这样不会有作用的功能不如等达到真的 Beta 版再让用户看到更好一些.
3) 名为 Yoooo 的图片搜索结果都显示在一页, 相信绝大多数浏览者都没有耐心等待页面都下载完毕. 而且,搜索到的图片质量…有点惨

继续阅读