Vitess:高性能MySQL前端

jopen 12年前發布 | 22K 次閱讀 MySQL 數據庫服務器

Vitess:高性能MySQL前端

MySQL最初并沒有針對大型Web應用進行構建和優化,Vitess項目的目標是推動MySQL數據庫面向大型Web應用的擴展性。

Vtocc是vitess項目中第一個可用的產品,它的作用是作為MySQL的 前端,為接收和發送SQL命令提供一個RPC接口。它能夠在少量且吞吐量合理(~10kqps)的數據庫連接上高效復用大量的傳入連接(10K+)。另 外,它還內置了SQL語法分析器,使得服務器有能力理解并優化處理接收到的查詢語句。

Vtocc已經在許多大型生產環境中有所應用,例如,油Tube全新的MySQL服務架構以其為核心。

特性概覽

  • Python DBAPI 2.0兼容的客戶端接口(vt_occ2.py)
  • Go語言數據庫/SQL兼容的客戶端接口
  • 支持基于HTTP或TCP套接字的多種協議
  • 支持綁定變量查詢,支持查詢緩存:可避免重復分析,高效復用查詢計劃
  • 支持連接池
  • 事務處理管理:可以限制事務處理的并發連接數
  • DML注釋:每個DML語句都包含一個注釋區域,以標識它所改動行的主鍵
  • 內置可靠性解決方案
    • 強化查詢:可以為子查詢重用正在執行的查詢
    • 限制查詢返回的行數量的最大值
    • 可終止運行時間過長無響應的事務
    • 可終止運行時間過長無法返回結果的查詢
    • 可自動終止后臺空閑連接,以避免出現脫機數據庫錯誤

Vtocc未來可能會具備的新特性:

  • 支持行緩存的一致性,重寫查詢,以最大化行緩存的利用率
  • 內置binlog解釋器,支持由vtocc注入的提供行變更更新流的DML文檔分析
  • 支持DDL
  • 支持持久性連接 (張志平/編譯)

項目主頁:http://www.baiduhome.net/lib/view/home/1353814492621

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!