ToKuDB存储引擎在听云的实践分享-周金可.pdf
### ToKuDB存储引擎在听云的实践分享 #### Self-Introduction - **演讲者简介**:本次分享由听云DBA周金可主讲。周金可在听云主要负责MySQL、PostgreSQL、GPDB等数据库集群的运维工作,并且在推进TokuDB存储引擎迁移项目中扮演了关键角色,还成功设计并实施了听云某业务模块单表百亿级数据的实时查询项目,以及设计并开发了听云MySQL集群自动巡检平台。 #### Why TokuDB? - **背景与动机**: - **解放人力、降低风险**:随着业务的发展,数据拆分扩容成为日常操作,频繁的操作容易引入人为故障。 - **解决数据倾斜问题**:某些分片的数据量超过了1TB,即使单用户的分片也面临数据量难以控制的问题。 - **节约成本**:通过数据压缩技术,可以在相同的磁盘容量内存储更多数据。 #### InnoDB vs TokuDB - **性能对比**: - **压缩率**:对于听云的数据结构,TokuDB相对于InnoDB能提供接近7:1的压缩比。 - **TPS(每秒事务处理量)**:TokuDB在插入操作方面表现出更为稳定的性能,而InnoDB的插入性能会随着数据量的增长而显著下降。 - **IO资源利用率**:TokuDB对IO资源的使用率远低于InnoDB,尤其是在高负载情况下。 #### Migration - **迁移过程**:周金可分享了具体的迁移步骤和技术细节,包括如何从InnoDB迁移到TokuDB,以及在此过程中遇到的技术挑战和解决方案。 #### Result - **成果与收益**: - **缓解运维压力**:自从采用TokuDB以来,听云仅需进行一次拆分扩容操作,这大大降低了运维人员的工作负担和风险。 - **显著的成本节省**:现有的集群规模可以支持业务量增加3到5倍,从而有效节约了硬件成本。 - **高效的表结构变更**:TokuDB支持在线添加字段或修改字段类型,相比InnoDB,这种操作更加高效且风险更低。 - **保持查询性能**:尽管进行了数据压缩,但由于TokuDB实例使用了SSD存储,查询性能并未受到影响。 #### Problems & Solutions - **遇到的问题及解决方案**: - **迁移期间的IO异常**:在将TokuDB实例向InnoDB实例同步的过程中,TokuDB实例可能会出现较高的IO使用率。为了解决这个问题,周金可通过优化同步策略和调整硬件配置等方式来减轻IO负载,确保了迁移过程的顺利进行。 总结来看,TokuDB存储引擎的引入不仅解决了听云面临的运维难题,还带来了显著的成本节约和性能提升。这一实践不仅对听云自身具有重要意义,也为其他面临类似挑战的企业提供了宝贵的参考经验。
剩余21页未读,继续阅读
- 粉丝: 0
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助