<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # **誕生背景** ## **海量數據的存儲問題** ``` 如今隨著互聯網的發展,數據的量級也是撐指數的增長,從GB到TB到PB。對數據的各種操作也是愈加的困難,傳統的關系性數 據庫已經無法滿足快速查詢與插入數據的需求。這個時候NoSQL的出現暫時解決了這一危機。它通過降低數據的安全性,減少對 事務的支持,減少對復雜查詢的支持,來獲取性能上的提升。但是,在有些場合NoSQL一些折中是無法滿足使用場景的,就比如 有些使用場景是絕對要有事務與安全指標的。這個時候NoSQL肯定是無法滿足的,所以還是需要使用關系性數據庫。如果使用關 系型數據庫解決海量存儲的問題呢?此時就需要做數據庫集群,為了提高查詢性能將一個數據庫的數據分散到不同的數據庫中存 儲。 ``` ## **什么是數據庫分片** ``` 簡單來說,就是指通過某種特定的條件,將我們存放在同一個數據庫中的數據分散存放到多個數據庫(主機)上面,以達到分散 單臺設備負載的效果。數據的切分(Sharding)根據其切分規則的類型,可以分為兩種切分模式。一種是按照不同的表(或者 Schema)來切分到不同的數據庫(主機)之上,這種切可以稱之為數據的垂直(縱向)切分 ``` **數據的垂直(縱向)切分示意圖** :-: ![](https://img.kancloud.cn/39/85/3985c656e92fa6fd9b888efd59b54da3_438x331.png) ``` 另外一種則是根據表中的數據的邏輯關系,將同一個表中的數據按照某種條件拆分到多臺數據庫(主機)上面,這種切分稱之為 數據的水平(橫向)切分。 ``` **如何實現數據庫分片** ``` 當數據庫分片后,數據由一個數據庫分散到多個數據庫中。此時系統要查詢時需要切換不同的數據庫進行查詢,那么系統如何知 道要查詢的數據在哪個數據庫中?當添加一條記錄時要向哪個數據庫中插入呢?這些問題處理起來都是非常的麻煩。這種情況下 可以使用一個數據庫中間件mycat來解決相關的問題。接下來了解一下什么是mycat。 ``` ## **什么是Mycat** ``` Mycat 背后是阿里曾經開源的知名產品——Cobar。Cobar 的核心功能和優勢是 MySQL 數據庫分片,此產品曾經廣為流傳,據 說最早的發起者對 Mysql 很精通,后來從阿里跳槽了,阿里隨后開源的 Cobar,并維持到 2013 年年初,然后,就沒有然后 了。Cobar 的思路和實現路徑的確不錯。基于 Java 開發的,實現了 MySQL 公開的二進制傳輸協議,巧妙地將自己偽裝成一 MySQL Server,目前市面上絕大多數 MySQL 客戶端工具和應用都能兼容。比自己實現一個新的數據庫協議要明智的多, 因為生態環境在哪里擺著。Mycat 是基于 cobar 演變而來,對cobar 的代碼進行了徹底的重構,使用 NIO 重構了網絡模塊, 并且優化Buffer內核,增強了聚合,Join 等基本特性,同時兼容絕大多數數據庫成為通用的數據庫中間件。簡單的說, MyCAT就是:一個新穎的數據庫中間件產品支持mysql集群,或者mariadb cluster,提供高可用性數據分片集群。你可以 像使用mysql一樣使用mycat。對于開發人員來說根本感覺不到mycat的存在 ``` ![](https://img.kancloud.cn/99/db/99dbfdf65a693b084acfe27d5f857a41_554x380.png) ## **Mycat支持的數據庫** ![](https://img.kancloud.cn/c8/4c/c84c45225de63aca07c6c1461d7adc03_602x225.png) ## **關鍵特性** ![](https://img.kancloud.cn/e4/52/e4526bad2a5545e704d8bac7534149c2_1018x440.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看