類似于HandlerSocket的MySQl插件: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)客戶端可以將寫請求發給指定的線程執行,可以在客戶端那邊在邏輯上保證不會死鎖
-
讀線程的動態調整
-
由于采用讀寫分開以及物理讀和邏輯讀的線程分開策略使在有大量物理讀的時候也能提供比較高的性能
-
能對物理讀進行流控
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!