• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 网页制作 >> 设计理念 >> 详细内容
 

推荐文章

  • [译文]交互性被认为是有害的
 
 

热点文章

  • 45个杰出的博客设计
  • 用Dreamweaver实现ASP动态网站建设
  • 基于RBAC的权限设计模型
  • Dreamweaver网页制作技巧:使用模板
  • 思域:网站架构之首页的架构!
  • 学习参考:用Dreamweaver+ASP实现网页分页
  • Dreamweaver制作网页的图片应用技巧
  • 注册页面的各式设计
  • 在Dreamweaver中插入有颜色的直线
  • 2008年Logo设计10大趋势
  • 肤浅网页设计
  • Dreamweaver基础教程:层及其应用
 
 

相关文章

  • Linkedin的价值,及其他
 
 

百度搜索

 
 

LinkedIn 架构笔记

  • 阅览次数:
  • 文章来源: http://www.dbanotes.net/arch/linkedin.html
  • 原文作者: Fenng
  • 整理日期: 2008-05-28
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

现在是 SNS 的春天,最近又有消息传言新闻集团准备收购 LinkedIn。有趣的是,LinkedIn 也是 Paypal 黑帮 成员创建的。在最近一个季度,有两个 Web 2.0 应用我用的比较频繁。一个是Twitter,另一个就是 LinkedIn。

LinkedIn 的 CTO Jean-Luc Vaillant 在 QCon 大会上做了 ”Linked-In: Lessons learned and growth and scalability“ 的报告。不能错过,写一则 Blog 记录之。

LinkedIn 雇员有 180 个,在 Web 2.0 公司中算是比较多的,不过人家自从 2006 年就盈利了,这在 Web 2.0 站点中可算少的。用户超过 1600 万,现在每月新增 100 万,50% 会员来自海外(中国用户不少,也包括我).

开篇明义,直接说这个议题不讲"监控、负载均衡”等话题,而是实实在在对这样特定类型站点遇到的技术问题做了分享。LinkedIn 的服务器多是 x86 上的 Solaris ,关键 DB 用的是 Oracle 10g。人与人之间的关系图生成的时候,关系数据库有些不合时宜,而把数据放到内存里进行计算就是必经之路。具体一点说,LinkedIn 的基本模式是这样的:前台应用服务器面向用户,中间是DB,而DB的后边还有计算服务器来计算用户间的关系图的。

问题出来了,如何保证数据在各个 RAM 块(也就是不同的计算服务器)中是同步的呢? 需要一个比较理想的数据总线(DataBus)机制。

第一个方式是用 Timestamp . 对记录设置一个字段,标记最新更新时间。这个解决方法还是不错的---除了有个难以容忍的缺陷。什么问题?就是 Timestamp 是 SQL调用发起的时间,而不是 Commit 的确切时间。步调就不一致喽。

systimestamp.png

第二个办法,用 Oracle 的 ORA_ROWSCN (还好是 Oracle 10g). 这个伪列包含 Commit 时候的 SCN(System Change Number),是自增的,DB 自己实现的,对性能没有影响。Ora_ROWSCN 默认是数据库块级别的粒度,当然也可做到行级别的粒度。唯一的缺点是不能索引(伪列). 解决办法倒也不复杂:增加一个 SCN 列,默认值"无限大"。然后用选择比某个 SCN 大的值就可以界定需要的数据扔到计算服务器的内存里。

ORA_ROWSCN 是 Oracle 10g 新增的一个特性,不得不承认,我过去忽略了这一点。我比较好奇的是,国内的 Wealink、联络家等站点是如何解决这个关系图的计算的呢?

--EOF--

一点题外话:我的 LinkedIn Profile (Mail : dbanotes@gmail.com). Keep in Touch!。另外建议正在找工作的同学不妨使用一下这类站点(国内的有联络家和若邻)。一般人我不告诉他~~

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号