首页IT科技» 用HSCALE实现MySQL的数据分布式存储 江边潮未尽,枫红一季秋 NinGoo’s blog

» 用HSCALE实现MySQL的数据分布式存储 江边潮未尽,枫红一季秋 NinGoo’s blog

时间2025-07-29 01:40:17分类IT科技浏览4721
导读:针对单个表过大造成的性能问题,MySQL在5.1开始引入了分区表(partition ,可以将数据在内部拆分存储,对应用透明,但是分区表只能将表在同一个数据库内部分解,而且对于表的维护(比如执行alter table 还是比较麻烦。手工分表也是一个解决方法,手工分表还有一个好处是可以将表分布到不同的服务器中,实现分布式存储。但是手...

针对单个表过大造成的性能问题              ,MySQL在5.1开始引入了分区表(partition)                    ,可以将数据在内部拆分存储      ,对应用透明          ,但是分区表只能将表在同一个数据库内部分解                     ,而且对于表的维护(比如执行alter table)还是比较麻烦              。手工分表也是一个解决方法         ,手工分表还有一个好处是可以将表分布到不同的服务器中      ,实现分布式存储                    。但是手工分表要求应用程序做相应的改写                     ,以支持从不同的表中来存取数据      。

HSCALE简单来说就是一个支持手工分表的中间层            ,对于应用来说看起来还是一个表   ,而由HSCALE来负责底层子表的数据存取          。HSCALE是基于MySQL Proxy的一个插件应用                     ,通过MySQL Proxy的lua脚本拦截分拆对应的SQL语句来实现数据的分布存储               ,而且使用lua脚本可以自由定制分表策略,比起MySQL自己的partition更加灵活些                     。现在版本还是0.2                  ,功能有限                   ,只能实现同库分表   ,但是基于MySQL Proxy的架构              ,未来要实现示分库分表也不是什么难事         。

作者利用mysqlslap对HSCALE和MySQL Proxy做了几组性能测试                    ,结果参考这里      ,还有这里      。

当然          ,现在MySQL Proxy和HSCALE都是刚刚起步                     ,要在产品库中应用还有很长的一段路要走         ,从上面的性能测试中可以看到基于最新的MySQL Proxy 0.7版的HSCALE性能有了较大的提升      ,期待后续版本有更好的表现                     。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
在校大学生如何赚取生活费(大学生该如何赚取生活费-大学生每月需要多少生活费?家长可从7个方面判断给多少) 微信小程序数据绑定原理图(微信小程序中怎么绑定和传递数据)