淘宝网高可用分布式数据库系统架构演进

需积分: 10 11 下载量 189 浏览量 更新于2024-07-26 1 收藏 3.27MB PDF 举报
"陈吉平在演讲中分享了高可用分布式数据库系统架构的实践,主要涵盖了淘宝网站的发展历程、数据库的发展历程、分布式数据库体系架构案例以及总结。演讲者是Oracle ACEDirector,《构建Oracle高可用环境》一书的作者。内容包括淘宝从2003年至2009年的流量增长,早期采用LAMP架构,随后转向集中式数据库,使用IBM小型机和Oracle数据库,但随着业务发展,逐渐引入分布式存储系统TFS和分布式缓存Tair,以应对海量数据和高可用性的需求。此外,还提到了通过DataGuard+RedoMirror实现的双机房高可用架构。" 陈吉平的分享揭示了随着淘宝业务的迅速发展,数据库架构经历了从简单到复杂的过程。最初,淘宝网采用的是业界常见的LAMP架构,即Linux操作系统、Apache Web服务器、MySQL数据库和PHP编程语言。这一组合在初创阶段满足了需求,支持了较少数据和简单结构的运行。然而,随着流量的爆炸性增长,原有的架构无法满足扩展性和性能的要求。 进入V2.0阶段,淘宝选择了IBM小型机搭配EMC存储设备,采用Oracle数据库进行集中式的数据处理,以实现Scaleup(垂直扩展)的方式提升性能。虽然这种方式简化了初期的部署,但随着时间推移,这种集中式的架构成为扩展的瓶颈,因为它依赖于单一的数据库资源,难以灵活地进行横向扩展。 为了解决这个问题,淘宝开始探索分布式解决方案。首先引入了TFS(Taobao File System),这是一种分布式存储系统,专门用于处理海量的非结构化数据,例如图片等Key-Value形式的数据。接着,为了缓解数据库压力,开发了Tair,一个分布式缓存系统,将热数据存储在成本更低的PCServer上,显著提升了数据访问速度。 在高可用性方面,淘宝采用了DataGuard结合RedoMirror的技术,构建了双机房架构,确保即使在单个机房出现故障时,数据也能得到保护,业务能够不间断地运行。这种架构设计体现了对业务连续性和数据安全的高度关注。 陈吉平的分享展示了淘宝如何通过不断的技术迭代和创新,适应了电商行业高速发展的挑战,为其他面临类似问题的企业提供了宝贵的实践经验。这些经验不仅涉及技术选型,还包括了如何在业务增长和高可用性之间找到平衡,以及如何利用分布式系统来优化性能和扩展能力。