淘宝商品库MySQL优化实战与技术细节
5星 · 超过95%的资源 需积分: 10 55 浏览量
更新于2024-07-21
收藏 112KB PPT 举报
“商品库MySQL优化实践”
在QCon2011北京大会上,余锋(褚霸)分享了淘宝商品库MySQL优化的实践经验和详细方案。这个项目的主要目标是优化一个具有亿级记录的商品数据库,以提升系统性能、保证安全性,并确保运维的稳定性。
商品库的特性包括:
1. 数据量巨大:拥有约1亿条记录,每条记录平均大小为100字节,总计数据文件达170GB。
2. 访问模式:20%的热门键占据了55%的访问量,读写比例为10:1,表明大部分操作为读取。
3. 硬件配置:选择了Dell PowerEdge C2100服务器,配备双物理处理器,12核心,24虚拟核心,96GB内存,LSI MegaSAS 9260 RAID卡,512MB内存,Fusion-io ioDrive 320GB MLC PCI-E Flash卡,以及12块SEAGATE ST3300657SS 300GB硬盘。
4. 软件环境:运行Red Hat Enterprise Linux Server release 5.4,内核版本2.6.18-164.el5,使用EXT3文件系统,以及FB内部版本的Flashcache,MySQL版本为5.1.48-log。
技术要求与方案:
1. 高可用性和安全性:优化的第一原则是保证系统的高可用性和数据安全性。
2. 性能稳定与性价比:追求高性能的同时,要确保性能的平稳,尽可能降低成本。
3. 运维风险管理:通过合理的架构设计降低运维风险。
4. 技术方案包括:
- 使用MySQL数据库集群,进行数据水平切割,实现主从备份。
- 选用高性价比的PC服务器,配置大内存和强大CPU。
- 引入高性能PCI-E Flash卡作为缓存,提升系统I/O性能。
- 充分利用系统各组件的缓存,尝试新技术。
- 在容灾和数据安全性方面做好规划,确保多层面考虑。
内存分配策略:
- MySQL内存分配,特别是InnoDB buffer pool,用于缓存数据和索引。
- OS page cache,操作系统级别的缓存,用于提升读取效率。
- 程序驱动的IO能力分配,优化读写操作,提高IOPS以应对零散读取,而集中写入则可以提升吞吐量。
Cache策略:
- MySQL内部的缓存机制,如InnoDB自有的缓冲池。
- 匿名页面和文件页面缓存,以优化磁盘操作。
通过上述的硬件选型、软件配置和内存、缓存的优化,余锋分享了如何在淘宝的商品库中实现高效的MySQL优化实践,这不仅提升了系统的整体性能,也确保了数据的安全性和运维的稳定性。同时,这样的优化方案也为其他大型数据库的管理提供了宝贵的参考经验。
2021-10-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-08 上传
点击了解资源详情
chang_di
- 粉丝: 0
- 资源: 2
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜