eBay 的Scalability最佳实践

本文探讨了eBay实现大规模可扩展性的七个实战经验,包括水平切分、避免分布式事务、虚拟化所有层次及缓存策略等内容。这些实践对数据库架构师来说极具价值。

原贴:
eBay 的Scalability最佳实践

用什么来衡量一天没有白过? 可能看到一篇好文章能算做一个条件。infoQ 上的这篇 Scalability Best Practices: Lessons from eBay 会让每个架构师都比较激动的。

过几天估计 infoQ 中文站就翻译这篇文章了,所以只记录一点自己的想法好了。在其中的 7 个实战经验中,每一条都值得写篇学习笔记,我比较关注面向 DB 的几条。

水平切分

对于 eBay 这样个头的大 Web 应用,如果数据不能分片,就无从谈及扩展。这个话题我之前描述过一点,文章中提及数据库层的切片要比应用层复杂许多,我想其中最大的一个难点就是不同用户之间的关联数据问题吧,否则就完全可以根据用户范围或者群体划分到不同的 DB 上。现实的应用总是如此复杂,让每个架构师都早生华发啊。

避免分布式事务

其中提到的前 Inktomi 工程师 Eric Brewer 提出的 CAP 定理: Consistency (C), Availability (A), Partition-tolerance (P) ,最多能同时选择两个。三个不能同时实现。对于 eBay ,选择的是 A 和 P,牺牲了一致性,而通过系统的其它手段(比如事件系统)来追回事务的完整程度。BTW: 这次倒是没有提及 BASE :)

虚拟化所有层次

这样做的目的是为了达到编程上的方便以及运营操作的灵活性。通过 eBay 的 O/R 层实现了对数据库的虚拟化。这样应用程序开发者无需关注数据存在哪里的。

Cache

其中提到了 Cache 的应用场景:针对缓慢改变的数据、只读为主的数据、元数据、配置信息和静态数据等。 把握这个原则是很关键的。我个人就看到有病急乱投医的设计者把数据一股脑的扔进 Cache,潜在的麻烦很难消除。

强烈推荐大家直接点过去看一下该文。

补充:关于 BASE。
Basically Availble
Soft-state
Eventual Consistency

ACID_BASE.png


--EOF--

| | TrackBacks (0) | | Edit

Generator | Trampoline
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascr<script language="javascript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&amp;cpa_choice=caaqhat2_geaci52gvkp95-sklgsuiebmaa&amp;oe=utf-8&amp;dt=1212119646843&amp;lmt=1212119823&amp;format=ref_text&amp;output=textlink&amp;correlator=1212119646828&amp;url=http%3a%2f%2fwww.dbanotes.net%2farch%2febay_scalability.html&amp;region=_google_cpa_region_&amp;ref=http%3a%2f%2fwww.dbanotes.net%2f&amp;frm=0&amp;ff=tahoma&amp;cc=100&amp;ga_vid=4322851505867868700.1212119647&amp;ga_sid=1212119647&amp;ga_hid=1628138492&amp;flash=9.0.115.0&amp;u_h=1024&amp;u_w=1280&amp;u_ah=874&amp;u_aw=1280&amp;u_cd=32&amp;u_tz=480&amp;u_java=true" type="text/javascript"></script>type="text/javascript"> Get Firefox with Google Toolbar for better browsing
Generate revenue from your website. Google AdSense.

自定义搜索

添加评论

直接 匿名评论 或者 登录 评论这篇文章(OpenID、TypeKey...)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值