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

需积分: 9 12 下载量 174 浏览量 更新于2024-09-19 收藏 2.51MB PDF 举报
"陈吉平:高可用分布式数据库系统架构实践.pdf" 陈吉平,Oracle ACE Director,同时也是《构建Oracle高可用环境》一书的作者,在2009年的演讲中分享了关于高可用分布式数据库系统架构的实践。这份资料主要探讨了淘宝网站的发展历程以及其数据库系统的演变过程,特别是如何应对日益增长的业务需求和流量挑战。 淘宝网自2003年起经历了快速的增长,从每天处理2000片商品到2009年日处理8万片商品,其网站流量和交易额也随之大幅提升。在早期,淘宝网采用的是LAMP架构(Linux, Apache, MySQL, Php),利用免费开源技术来支持其运营。在这个阶段,MySQL数据库足以满足当时的需求,表数量较少,数据量也不大。 随着业务的发展,淘宝网进入V2.0阶段,采用了更强大的硬件基础设施,包括IBM小型机和EMC存储,以及Oracle数据库,以实现Scaleup(垂直扩展)的方式。然而,这样的集中式数据库架构存在单点故障风险,并且不便进行扩展。为了解决这个问题,淘宝开始探索分布式解决方案。 在后续的架构演进中,淘宝引入了分布式存储系统TFS,用于处理海量的非结构化数据,如图片,采用了Key-Value的数据模型。同时,为了提高性能,他们开发了分布式Cache系统Tair,利用PCServer作为存储媒介,进一步提升了数据访问速度。 在高可用性方面,陈吉平提到了使用DataGuard配合RedoMirror构建的双机房架构,这是一种通过数据复制确保服务连续性的策略。DataGuard是Oracle数据库的一个特性,可以创建物理 standby 数据库,提供灾难恢复和高可用性。RedoMirror则可能是淘宝自研的或者基于某个现有技术的解决方案,用于镜像redo日志,确保在主数据库出现问题时能快速切换到备用节点。 这份资料详细阐述了淘宝网如何从一个简单的LAMP架构逐步演变为支持大规模交易的高可用分布式数据库系统,包括分布式存储、缓存和高可用架构的设计,对于理解大型电商平台的数据库架构设计具有很高的参考价值。