TDH_Socket_Plugin_for_MySQL 介绍
TDH_Socket 是一个MysqL daemon 插件,
类似于HandlerSocket。现在TDH_Socket能接受客户端的TCP请求,并且直接通过MysqL的Handler层访问数据,绕开了sql解析等一系列逻辑。TDH_Socket的Java客户端可以通过在客户端解析sql的方式提供JDBC接口来提高易用性,并且也不会降低性能
。
TDH_Socket的一些特性和优点:
-
具有HandlerSocket的全部功能
-
连接复用,采用动态IO策略,只使用一个port进行通讯
-
进行DDL操作时不会hang住(可手动关闭被cache住的表)
-
易用: a)不需要在一开始open_table,会在具体执行时open_table,被open的table还是会被当前线程cache住,下次请求不需要再次 open; b)Java客户端(https://github.com/taobao/tdhs-java-client)支持JDBC,在客户端进行sql解析
-
支持多线程的并发写操作:a)默认情况下,对一个表的写操作都会在一个固定的线程被执行,从而避免可能的死锁;b)也可以通过配置使一个表的写操作被多个线程并发执行,但是可能会导致死锁而进行回滚;c)客户端可以将写请求发给指定的线程执行,可以在客户端那边在逻辑上保证不会死锁
-
读线程的动态调整
-
由于采用读写分开以及物理读和逻辑读的线程分开策略使在有大量物理读的时候也能提供比较高的性能
-
能对物理读进行流控
TDH_Socket_Plugin_for_MySQL 官网
https://github.com/alibaba/TDH_Socket
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。