NTSE:高性能MySQL存储引擎研发分享

需积分: 0 0 下载量 152 浏览量 更新于2024-07-17 收藏 767KB PDF 举报
"Velocity china 2010会议的一些ppt资料,主要介绍了网易杭州研究院副院长汪源关于NTSE(Non-Transactional Storage Engine)的演讲,这是一个面向Web应用特征优化的MySQL存储引擎,旨在提供高性能和高可用性。" 在2010年的Velocity China会议上,网易杭州研究院的副院长汪源分享了他们开发的NTSE存储引擎,这是一个针对Web应用优化的非事务型MySQL存储引擎。NTSE的主要目标是提升性能和可用性,并在博客模拟基准测试中表现出色,性能超过纯InnoDB的10倍,以及InnoDB+Memcached的5倍,同时还能节省50%的磁盘空间。此外,NTSE还支持在线增加或删除索引和字段,提高了系统的灵活性。 汪源指出,数据库在Web应用中扮演着核心角色,特别是对于像网易博客这样的UGC(User Generated Content)平台,需要处理海量数据。然而,传统数据库如InnoDB在面对大量IO操作时可能成为性能瓶颈,而且其在表模式修改时需保持只读状态,影响服务的可用性。因此,开发自己的存储引擎成为了必要的选择。 NTSE的优势在于: 1. 去除了不必要的事务处理机制,从而减少了不必要的开销。 2. 集成了行级缓存以提高页级缓存的效率,减少了对Memcached的依赖。 3. 采用紧凑的记录存储格式、记录压缩和索引前缀压缩等技术,提升了空间效率。 4. 实现了在线修改表模式,借助日志同步,使得服务在修改模式时无需停止。 此外,汪源提到,项目团队具备良好的技术储备,能够解决现有存储引擎的问题,并通过实践证明,NTSE确实可以提供更高效、更灵活的数据库解决方案。这个项目始于2008年6月,到2010年5月已在部分产品中试运行,表明了NTSE的成熟度和潜力。 NTSE的未来发展可能会继续优化性能,增强高可用性,以及可能考虑引入更多的功能来适应不断变化的Web应用需求。这个演讲不仅展示了NTSE的技术特点,也揭示了在面对大规模Web服务时,如何通过创新技术解决数据库性能和可用性的挑战。