??MyCat 是目前最流行的基于 java
語言編寫的數據庫中間件
,是一個實現了 MySQL 協議的服務器,前端用戶可以把它看作是一個數據庫代理,用 MySQL 客戶端工具和命令行訪問,而其后端可以用 MySQL 原生協議與多個 MySQL 服務器通信,也可以用 JDBC 協議與大多數主流數據庫服務器通信,其核心功能是分庫分表
。配合數據庫的主從模式還可實現讀寫分離
。
??MyCat 是基于阿里開源的 Cobar 產品而研發,Cobar 的穩定性、可靠性、優秀的架構和性能以及眾多成熟的使用案例使得 MyCat 變得非常的強大。
??MyCat 發展到目前的版本,已經不是一個單純的 MySQL 代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流數據庫,也支持 MongoDB 這種新型NoSQL 方式的存儲,未來還會支持更多類型的存儲。而在最終用戶看來,無論是那種存儲方式,在 MyCat 里,都是一個傳統的數據庫表,支持標準的 SQL 語句進行數據的操作,這樣一來,對前端業務系統來說,可以大幅降低開發難度,提升開發速度。
??MyCat 官網: http://www.mycat.io/
??單一的 MySQL 其數據存儲量級和操作量級有限.
??Mycat 可以管理若干 MySQL 數據庫,同時實現數據的存儲和操作.
Mycat 是 java 編寫的中間件. 開源,免費.
有非常多的人和組織對 Mycat 實行開發,維護,管理,更新.
Mycat 版本提升較快,可以跟隨環境發展.如果有問題,可以快速解決.
Mycat 有開源網站和開源社區.且有官方發布的電子書籍.
Mycat 是阿里原應用 corba 轉型而來的.
??MyCat 在互聯網應用中占比非常高.
??邏輯上的切分. 在物理層面,是使用多庫[database],多表[table]實現的切分.
??就是把原本存儲于一個庫的數據存儲到多個庫上。
??由于對數據庫的讀寫都是對同一個庫進行操作,所以單庫并不能解決大規模并發寫入的問題。例如,我們會建立定義數據庫 workDB、商品數據庫 payDB、用戶數據庫 userDB、日志數據庫 logDB 等,分別用于存儲項目數據定義表、商品定義表、用戶數據表、日志數據表等。
優點
減少增量數據寫入時的鎖對查詢的影響。
由于單表數量下降,常見的查詢操作由于減少了需要掃描的記錄,使得單表單次查詢所需的檢索行數變少,減少了磁盤 IO,時延變短。
缺點:無法解決單表數據量太大的問題。
??把原本存儲于一個表的數據分塊存儲到多個表上。
??當一個表中的數據量過大時,我們可以把該表的數據按照某種規則,進行劃分,然后存儲到多個結構相同的表,和不同的庫上。例如,我們 userDB 中的 userTable 中數據量很大,那么可以把 userDB 切分為結構相同的多個 userDB:part0DB、part1DB 等,再將 userDB 上的 userTable,切分為很多userTable:userTable0、userTable1 等,然后將這些表按照一定的規則存儲到多個 userDB 上。
優點
單表的并發能力提高了,磁盤 I/O 性能也提高了。
如果出現高并發的話,總表可以根據不同的查詢,將并發壓力分到不同的小表里面。
缺點:無法實現表連接查詢。
??Mycat 中定義的 database.是邏輯上存在的.但是物理上是不存在的.主要是針對縱向切分提供的概念.
??Mycat 中定義的 table.是邏輯上存在,物理上是不存在的.主要是針對橫向切分提供的概念.
應用 | 端口 |
---|---|
MySQL | 3306 |
Mycat | 8066 |
tomcat | 8080 |
Oracle | 1521 |
nginx | 80 |
http | 80 |
redis | 6379 |
??物理 MySQL 存放的主機地址.可以使用主機名,IP,域名定義.
??配置物理的 database. 數據保存的物理節點.就是 database.
??當控制數據的時候,如何訪問物理 database 和 table.就是訪問 dataHost 和 dataNode 的算法. 在 Mycat 處理具體的數據 CRUD 的時候,如何訪問 dataHost 和 dataNode 的算法.如:哈希算法,crc32 算法等.
感謝各位的閱讀,以上就是“什么是MyCat”的內容了,經過本文的學習后,相信大家對什么是MyCat這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是本站,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
當基金虧了時,死守不一定能夠回本。虧損出現后,否還能回本取決于基金市場的行情。當基金內在價值相對較好時,投資者繼續低位定投加倉,后續可能會回本盈利。但是如果是基金持續虧損或者市場普遍大跌的情況,死守通常不會回本?;鹛澚怂朗貢乇締峄鹗找嬷傅氖腔鸾洜I公司運作基金資產所獲得的收益。這種收益主要來源于基資產運作中的利息收入、股利收入、資本利得、資本增值等。這些收益在扣除了基運作費用(包括經理人費用...
平時工作中,經常會接觸到企業“外檔”和“內檔”,不少朋友會問我什么是企業“內檔”,今天小編和大家一起來看看,公司內檔去哪里調取?調取公司內檔需要什么材料?企業“外檔”和“內檔”查詢方法詳解公司內檔去哪里調取?調取公司注冊內檔要去工商局調取一、調取公司內檔資料:1、企業出具的委托書...
股指交割日大盤必跌嗎?不一定。股指交割雖然導致了部分的風險由股指期貨轉移到了股票,但是不一定導致股票大盤必然下跌,股票指數的下跌和上漲是很綜合性的因素。交割日造成股票大盤下跌的因素主要是,拋售引起的做空,紛紛都要賣出交割,這樣股指會有所下跌,加上交割日那幾天做空的人比較多,股指的震蕩比較大。股指交割日對股市利空還是利好?1.根據過往股指交割日走勢來看,股指期貨或期權的交割日一般對股市的影響不大,反...