由于公司的安排,不得不对mysql源码的阅读中断一段时间,改去研究spockproxy。花了近一个月的时间终于看完了,有了一点想法,在这里记下:
其实,这个proxy也是实现是高度定制化的,应用场景非常的特殊,如下图。它可以根据应用需要,在某个整型字段上对表分区。或许任何的proxy都逃不了这种高度定制的应用场景。
它的基本实现是借用了mysqlproxy的源码,去掉了可嵌入lua脚本的功能。即便如此,我还是觉得这种实现比较低效,因为从客户端发出sql命令到服务器执行进行了两次sql解析。一次在proxy上,一次在mysqld上。我们能不能对此进行改进呢?
或许可以吧!基本想法是:对mysqld拆分,使其成为分布式架构,(1)将sql解析和后台的存储引擎完全的解耦,增加对sql语句的路由功能;(2)增加通过网络到存储引擎的接口;(3)修改存储引擎使其成为单独的服务器,与解析层进行通信。在存储引擎层面上mysql cluster基本是这种架构,但不知道是否如此的实现。需进一步的研究。
阅读(1476) | 评论(0) | 转发(0) |