InfoQ

技术访谈

与冯大辉谈数据库架构

受访人 冯大辉 采访人 李明(nasi)、Jason Lai(赖翥翔) 发布于 2008年6月9日 上午2时42分

社区
Architecture
主题
应用服务器,
性能和可伸缩性,
架构,
数据库设计,
企业架构
标签
数据库,
性能和扩展性,
数据库管理
概要
在上个月阿里巴巴举办的网侠大会上,InfoQ中文站有幸与著名的DBA冯大辉在一起,谈了谈网站/数据库架构、数据库性能调优、数据关系映射以及DBA个人职业发展等方面的话题。

个人简介
冯大辉,就职于阿里巴巴集团旗下支付宝(中国)网络科技有限公司(Alipay.com),担任数据库架构师,负责支付宝数据库架构规划、解决方案等相关工作。2007 年国内首批 Oracle ACE. 网上 ID 为“Fenng”,业余时间关注 Web 2.0 网站架构技术。个人Blog:http://www.dbanotes.net
InfoQ中文站的读者们,大家好,今天我们有幸请到冯大辉先生参加我们的这个采访,大辉你好,请跟大家介绍一下你是谁,在做些什么?
作为一名资深的DBA,大辉却在自己的BLOG上边写了不少关于网站架构这方面的一些文章,能不能谈谈DBA跟网站架构这方面的关系呢?
一般来说要提升网站的性能,瓶颈主要都有那些,如果要解决这些瓶颈,又都存在哪些最佳实践呢?
一个要经受住大规模、高并发、访问量考验的成功Web2.0网站在设计的架构中要注意哪些东西呢?
那刚才在网站性能和调优这方面,你刚才也提到了,缓存的作用是非常重要的,那么他到底处于怎么样一个重要的地位呢?如何对缓存进行优化从而提升性能?
你刚才说到Cache命中率,那对于一个比较成功的这种网站,它Cache命中率一般会在多少呢?
在Web2.0的时代,海量数据对于越来越多的开发者来说,已经不再是一个遥不可及的话题了,可能随便哪一个访问量很大的Web2.0网站都有可能拥有令人咂舌的数据量,那么对于这种网站,除了对数据库存储进行优化,除了缓存,然后还有那些策略?
我们也听说过另外一种分片数据库机制,那么请你谈谈分片这种策略是怎么样一种策略?
那分片这种策略有什么利弊吗?
目前在许多网站的架构设计中有绝大多数的项目在持久化方面就是采用数据关系映射(ORM)的方式。大家对于这种高负载的大规模网站应用来说,你觉得存在哪些应用呢?
那你所做的支付宝,其实是企业级别的应用,在企业级别应用所采用的这种架构策略和,一般Web 2.0所采用的这种架构策略会有什么异同?
那目前在Web2.0网站这个领域里面,网站的架构主要有哪些趋势,下边还将有怎么样一个走向呢?
那最后作为一个由DBA成长为DB Architect(应为:Architect),同样都是A,但这个A已经有一个变化,那么你对后来者有哪些建议呢?
show all  show all
说的真好 发表人 Jeffrey Zhao 发表于 2008年6月9日 上午3时41分
Re: 说的真好 发表人 gakaki withyou 发表于 2008年6月9日 上午8时35分
Re: 说的真好 发表人 霍 泰稳 发表于 2008年6月10日 下午8时4分
Re: 说的真好 发表人 feng xishun 发表于 2008年6月9日 下午8时1分
Re: 说的真好 发表人 Fenng David 发表于 2008年6月9日 下午8时19分
Re: 说的真好 发表人 霍 泰稳 发表于 2008年6月10日 下午8时6分
Re: 说的真好 发表人 Fenng David 发表于 2008年6月10日 下午9时53分
Re: 说的真好 发表人 霍 泰稳 发表于 2008年6月11日 上午1时25分
Re: 说的真好 发表人 Jeffrey Zhao 发表于 2008年6月12日 上午3时30分
flash 发表人 Jarod Lau 发表于 2008年6月9日 上午8时41分
Re: flash 发表人 Xiaogang Guo 发表于 2008年6月23日 上午5时3分
确实说得好 发表人 Huang Huang 发表于 2008年6月13日 上午4时54分
务虚 发表人 husthxd gz 发表于 2008年6月17日 上午3时35分
  1. 返回顶部

    说的真好

    2008年6月9日 上午3时41分 发表人 Jeffrey Zhao

    以后有这方面的问题可以直接发这个链接了,呵呵。

  2. 返回顶部

    Re: 说的真好

    2008年6月9日 上午8时35分 发表人 gakaki withyou

    真是宝贵的资料啊 老赵也在啊 最近微软也出内存数据库了呵

  3. 返回顶部

    flash

    2008年6月9日 上午8时41分 发表人 Jarod Lau

    对flash版本的检查做的太差了吧。用flash 10上说要求9

  4. 返回顶部

    Re: 说的真好

    2008年6月9日 下午8时1分 发表人 feng xishun

    咋感觉老是在唱衰MySql那?

  5. 返回顶部

    Re: 说的真好

    2008年6月9日 下午8时19分 发表人 Fenng David

    倒也不是唱衰 MySQL ,只是提醒一下而已 :)

    想比 Oracle,我个人其实更喜欢 MySQL

  6. 返回顶部

    Re: 说的真好

    2008年6月10日 下午8时4分 发表人 霍 泰稳

    老赵不仅在,而且还是InfoQ中文站.NET社区的编辑呢:)

  7. 返回顶部

    Re: 说的真好

    2008年6月10日 下午8时6分 发表人 霍 泰稳

    据说淘宝网在逐渐将自己的数据库从Oracle迁移到MySQL,不知道现在进展如何,大辉能否透露一些这方面的情况?如果真迁移完成了,那可真是给阿里巴巴节省了不少运营费用。

  8. 返回顶部

    Re: 说的真好

    2008年6月10日 下午9时53分 发表人 Fenng David

    据说淘宝网在逐渐将自己的数据库从Oracle迁移到MySQL,不知道现在进展如何,大辉能否透露一些这方面的情况?如果真迁移完成了,那可真是给阿里巴巴节省了不少运营费用。


    第六期的《程序员》有淘宝使用开源软件的介绍。我还没仔细看,似乎提到了 DB 的使用情况

  9. 返回顶部

    Re: 说的真好

    2008年6月11日 上午1时25分 发表人 霍 泰稳

    《解密淘宝网的开源架构》这篇文章我看了,里面提到了一些:

    在淘宝网的应用中,采用了两种关系型数据库管理系统。一个是Oracle的Oracle 10g,另外一个是Sun的MySQL。Oracle有很强大的功能和安全性,可以处理相对海量的数据。而MySQL非常适合用多台PC Server组成多点的存储节点阵列,每单位的数据存储成本也非常的低廉。

    可以看出,在关键的数据处理上淘宝网还是选择了专有软件,哪怕成本高一些。另外一个限制网站大量采用MySQL的原因我想还是MySQL方面的人才,相比于Oracle,精通MySQL的DBA依然是稀缺资源。

  10. 返回顶部

    Re: 说的真好

    2008年6月12日 上午3时30分 发表人 Jeffrey Zhao

    我认为“限制大量采用MySQL”和“精通MySQL人员缺失”也是互成因果的。
    其实我想对于DBA来说,太多东西是相通的了,如果真“率先”“大量采用MySQL”,我想精通这方面的人不会比Oracle少。

  11. 返回顶部

    确实说得好

    2008年6月13日 上午4时54分 发表人 Huang Huang

    以前看他的blog,都不知道博主,原来博主跟博客一样帅啊。那啥,T-shirt都跟blog的背景色配的呢。。。 看完之后受益良多。

  12. 返回顶部

    务虚

    2008年6月17日 上午3时35分 发表人 husthxd gz

    抽象化,站得高,才能看得远。

  13. 返回顶部

    Re: flash

    2008年6月23日 上午5时3分 发表人 Xiaogang Guo

    已经改好了。谢谢提醒。

深度内容

模块化Java:声明式模块化

本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

Ian Robinson和Jim Webber谈论基于Web的整合

本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。

项目管理修炼之道(精选版)

项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。

那是鸟,还是飞机?不,那是超人!

在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。

访谈和书摘:Eben Hewitt的新书《Java SOA Cookbook》

Java SOA Cookbook

Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。

Mark Richard的《Java消息服务》第二版

Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。

模块化Java:动态模块化

本文是“模块化Java”系列文章的第三篇,讨论动态模块化,内容涉及如何解析bundle类、bundle如何变化、以及bundle之间如何通信。

让测试也敏捷起来

对于测试组织来说,敏捷方法带来的快速迭代却让测试本身变得困难起来:缺乏“足够详细的文档”,缺乏“仔细设计用例的时间”等等。在本演讲中,段念将与大家探讨如何在敏捷过程中进行测试。