mycat

1 mycat介紹
     中間件:代理;
     面向企業的開源的大的數據庫集羣,性能極高;淘寶正在使用;
    1.1 數據庫中間件歷史:
       amoeba:變形蟲
          缺點:分佈式高可用結構不穩定
        cobar:mycat前身sql

     缺點:cobar容易出現後端物理服務器的假死現象數據庫

       
2 數據庫中間件的原理後端

  

3 mycat特色:
      1 )高性能的讀寫分離
      2 )100億級別的大表水平分片,集羣並行計算
      3 )整合多種數據源的輸入和輸出服務器

 4 mycat核心組件分佈式

  4.1 邏輯庫
工具

    邏輯庫(對應物理庫):mycat中間提供客戶端傳入sql,攔截sql根據配置解析翻譯要到物理庫執行的真正sql語句;客戶端在連接mycat以後能夠操做數據庫語句,表格語句等等;客戶端在鏈接mycat看到的數據庫叫作邏輯庫(並非真正的數據庫,數據能夠來源一個物理庫,也能夠來源於多個物理庫);性能

  

      邏輯庫在mycat中須要使用<shema>標籤完成配置,在shcema.xml文件中配置spa

  4.2 邏輯表
翻譯

    4.2.1 分片表3d

    

    表格的總體數據量過大時,mycat將會使用多個物理庫中的真實表格對應作邏輯分片表的數據分片存儲,這種表格在mycat叫作分片表;

    應用場景:數據量很是大,能夠使用分片表;

  4.2.2 非分片表

    數據存儲時,總體數據量不夠海量,不足夠大時,能夠使用非分片表存儲,相對來說,非分片表比分片表配置相對簡單;

  4.2.3 全局表

      企業中一些工具表格,字典表,他們的共同特色是:數據變更穩定,數據量不大(10萬),這種表格須要和業務表作很是多的關聯查詢,爲了底層數據查詢時不作過多的誇庫操做,global全局表示爲每一個物理庫中都複製一份
            工具表,字典表:
                業務的不少邏輯,都不是用字符串表示的
                通訊成功:200狀態碼
                通訊異常:500
                通訊失敗:400
                數字表明特殊含義的狀況,能夠記錄在數據庫中某個工具表或者字典表中;

       

  4.2.4 ER表

    mycat獨有:

    分片表的一種特殊狀況,多個分片表有關係的時候,常常作關聯查詢,若是多個分片表格中相關的數據,可是切分到的存儲物理庫不一樣,會致使關聯查詢/相關數據查詢時形成底層的很是大量的誇庫操做;

     

    以訂單和訂單商品爲例,一旦分片表格設置完成,頗有可能2個表格相關的數據被切分到了不一樣的物理庫,相關數據查詢時,mycat底層誇庫操做很是多,形成查詢的效率很是低下;mycat就全球第一次提出ER表的概念;

    ER表根據相關內容的設定主表(t_order)使用table標籤配置,從表不能使用純粹的分片表格設置,須要在table下指定(childtable),根據主表的切分邏輯完成從表的切分;

       

相關文章
相關標籤/搜索