版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 MYCATMycat在線視頻培訓代碼demo:http:/ Mycat 開源組 -MYCAT 是什么?-MYCAT的前世今生。-MYCAT社區(qū)發(fā)展。-數(shù)據(jù)庫切分及其解決方案。-MYCAT特性及其解決方案。-MYCAT入門介紹。內(nèi)容:MYCAT是什么一個用于MySQL讀寫分離和與數(shù)據(jù)切分的高可用中間件一個模擬為MySQL Server的超級數(shù)據(jù)庫代理一個能平滑擴展支持1000億大表的分布式數(shù)據(jù)庫系統(tǒng)一個可管控多種關系數(shù)據(jù)庫的數(shù)據(jù)庫路由器MYCAT之前世今生2013年阿里的Cobar在某大型項目中使用過程中發(fā)現(xiàn)存在一些比較嚴重的問題,于是第一代改良版Mycat誕生。Mycat開源以后,一些Cob
2、ar的用戶參與了Mycat的開發(fā),最終Mycat發(fā)展成為一個由眾多軟件公司的實力派架構師和資深開發(fā)人員維護的社區(qū)型開源軟件。2014年Mycat首次在上海的中華架構師大會上對外宣講,引發(fā)圍觀,更多的人參與進來,隨后越來越多的項目采用了Mycat2015年7月為止,Mycat項目總共有16個Committer,其中核心參與者的年薪總額超過200萬2015年5月,由核心參與者們一起編寫的第一本官方權威指南Mycat權威指南電子版發(fā)布,累計超過500本,成為開源項目中的首創(chuàng)。截至2015年7月,超過100個項目采用Mycat,涵蓋銀行、電信、電子商務、物流、移動應用、O2O的眾多領域和公司。截至20
3、14年7月,Mycat官方QQ群(106088787)已經(jīng)超過2700人,大多數(shù)為資深IT工程師、架構師、DBA、以及一些CXO和高端獵頭,成為國內(nèi)具有影響力的高端IT專業(yè)群Mycat社區(qū)首次提出BigSQL的概念,并逐步將大數(shù)據(jù)和實時計算等先進技術引入到Mycat里,從而吸引和聚集了一大批業(yè)內(nèi)大數(shù)據(jù)和云計算方面的資深工程師,Mycat社區(qū)成為名副其實的國內(nèi)大數(shù)據(jù)領域?qū)嵙ε沙蓡T。Mycat社區(qū)里不斷有優(yōu)秀工程師被創(chuàng)業(yè)公司挖走,為了能更好的支持創(chuàng)業(yè)公司并尋求更多的優(yōu)秀工程師參與采用,Mycat社區(qū)目前已經(jīng)開始開展在線高端IT培訓,培養(yǎng)高端Java架構師、工程師。為什么選擇MYCAT基于阿里的成熟
4、項目Cobar而來,它有過大量的大規(guī)模生產(chǎn)案例社區(qū)非?;钴S,維護者的水平很高,重大Bug都24小時修復目前的生產(chǎn)案例是開源項目中為數(shù)最多的,而且很多是大型項目Mycat的版本分為長期支持版本和當前最新版本兩種,前者出現(xiàn)重大Bug后,還會及時修復,解決了生產(chǎn)中應用的后顧之憂Mycat的資料非常全,包括志愿者提供的資料,用戶分享的經(jīng)驗資料,以及官方定期更新的Mycat權威指南,絕大多數(shù)技術問題,都可以通過文檔和社區(qū)交流來解決如果需要專業(yè)技術支持服務,也可以跟Mycat社區(qū)交流,通過贊助開源項目的方式,名利雙收,一舉兩得。何為數(shù)據(jù)(系統(tǒng))切分? 簡單來說,就是指通過某種特定的條件,按照某個維度,將我
5、們存放在同一個數(shù)據(jù)庫中的數(shù)據(jù)分散存放到多個數(shù)據(jù)庫(主機)上面以達到分散單庫(主機)負載的效果。 切分模式:A.垂直(縱向)切分。B.水平切分。系統(tǒng)切分及其解決方案一個數(shù)據(jù)庫由很多表的構成,每個表對應著不同的業(yè)務,垂直切分是指按照業(yè)務將表進行分類,分布到不同的數(shù)據(jù)庫上面,這樣也就將數(shù)據(jù)或者說壓力分擔到不同的庫上面,如下圖:優(yōu)點: -拆分后業(yè)務清晰,拆分規(guī)則明確。 -系統(tǒng)之間整合或擴展容易。 -數(shù)據(jù)維護簡單。缺點: -部分業(yè)務表無法JOIN,只能通過接口方式解決,提高了系統(tǒng)復雜度。 -受每種業(yè)務不同的限制存在單庫性能瓶頸,不易數(shù)據(jù)擴展跟性能提高。 -事務處理復雜。 垂直拆分相對于垂直拆分,水平拆分
6、不是將表的數(shù)據(jù)做分類,而是按照某個字段的某種規(guī)則來分散到多個庫之中,每個表中包含一部分數(shù)據(jù)。簡單來說,我們可以將數(shù)據(jù)的水平切分理解為是按照數(shù)據(jù)行的切分,就是將表中的某些行切分到一個數(shù)據(jù)庫,而另外的某些行又切分到其他的數(shù)據(jù)庫中,主要有分表,分庫兩種模式,如圖:優(yōu)點: 不存在單庫大數(shù)據(jù),高并發(fā)的性能瓶頸。 對應用透明,應用端改造較少。 按照合理拆分規(guī)則拆分,JOIN操作基本避免跨庫。 提高了系統(tǒng)的穩(wěn)定性跟負載能力。缺點: 拆分規(guī)則難以抽象。 分片事務一致性難以解決。 數(shù)據(jù)多次擴展難度跟維護量極大。 跨庫JOIN性能較差。 水平切分前面講了垂直切分跟水平切分的不同跟優(yōu)缺點,會發(fā)現(xiàn)每種切分方式都有缺點
7、,但共同的特點缺點有:-引入分布式事務的問題。-跨節(jié)點JOIN 的問題。-跨節(jié)點合并排序分頁問題。針對數(shù)據(jù)源管理,目前主要有兩種思路:A. 客戶端模式,在每個應用程序模塊中配置管理自己需要的一個(或者多個)數(shù)據(jù)源,直接訪問各個數(shù)據(jù)庫,在模塊內(nèi)完成數(shù)據(jù)的整合; 優(yōu)點:相對簡單,無性能損耗。 缺點:不夠通用,數(shù)據(jù)庫連接的處理復雜,對業(yè)務不夠透明,處理復雜。B. 通過中間代理層來統(tǒng)一管理所有的數(shù)據(jù)源,后端數(shù)據(jù)庫集群對前端應用程序透明; 優(yōu)點:通用,對應用透明,改造少。 缺點:實現(xiàn)難度大,有二次轉(zhuǎn)發(fā)性能損失。切分原則:-盡量不切分,架構是進化而來,不是一蹴而就。-最大可能的找到最合適的切分維度。-由于
8、數(shù)據(jù)庫中間件對數(shù)據(jù)JOIN 實現(xiàn)的優(yōu)劣難以把握,而且實現(xiàn)高性能難度極大,業(yè)務讀取 盡量少使用多表JOIN-盡量通過數(shù)據(jù)冗余,分組避免數(shù)據(jù)垮庫多表JOIN。-盡量避免分布式事務。-單表切分數(shù)據(jù)1000萬以內(nèi)。切分的處理難點: -360 ATLAS-ALIBABA COBAR -MYCAT-TDDL-HEISENBERG-OCEANUS-VITESS-ONEPROXY 開源的切分方案TLAS是由 QIHOO 360, WEB平臺部基礎架構團隊開發(fā)維護的一個基于MYSQL協(xié)議的數(shù)據(jù)中間層項目。它是在MYSQL-PROXY 0.8.2版本的基礎上,對其進行了優(yōu)化,增加了一些新的功能特性。360內(nèi)部使用
9、ATLAS運行的MYSQL業(yè)務,每天承載的讀寫請求數(shù)達幾十億條。主要功能:主要功能:* 讀寫分離* 從庫負載均衡* IP過濾* SQL語句黑白名單* 自動分表360 AtlasCOBAR是阿里巴巴(B2B)部門開發(fā)的一種關系型數(shù)據(jù)的分布式處理系統(tǒng),它可以在分布式的環(huán)境下看上去像傳統(tǒng)數(shù)據(jù)庫一樣為您提供海量數(shù)據(jù)服務. COBAR的分布式主要是通過將表放入不同的庫來實現(xiàn):1. COBAR支持將一張表水平拆分成多份分別放入不同的庫來實現(xiàn)表的水平拆分2. COBAR也支持將不同的表放入不同的庫3. 多數(shù)情況下,用戶會將以上兩種方式混合使用這里需要強調(diào)的是,COBAR不支持將一張表,例如TEST表拆分成T
10、EST_1, TEST_2, TEST_3.放在同一個庫中,必須將拆分后的表分別放入不同的庫來實現(xiàn)分布式。HA:在用戶配置了MYSQL心跳的情況下,COBAR可以自動向后端連接的MYSQL發(fā)送心跳,判斷MYSQL運行狀況,一旦運行出現(xiàn)異常,COBAR可以自動切換到備機工作。但需要強調(diào)的是:1. COBAR的主備切換有兩種觸發(fā)方式,一種是用戶手動觸發(fā),一種是COBAR的心跳語句檢測到異常后自動觸發(fā)。那么,當心跳檢測到主機異常,切換到備機,如果主機恢復了,需要用戶手動切回主機工作,COBAR不會在主機恢復時自動切換回主機,除非備機的心跳也返回異常。2. COBAR只檢查MYSQL主備異常,不關心主
11、備之間的數(shù)據(jù)同步,因此用戶需要在使用COBAR之前在MYSQL主備上配置雙向同步,詳情可以參閱MYSQL參考手冊。其次,我們也需要注意COBAR的功能約束:1) 不支持跨庫情況下的JOIN、分頁、排序、子查詢操作。2) SET語句執(zhí)行會被忽略,事務和字符集設置除外。3) 分庫情況下,INSERT語句必須包含拆分字段列名。4) 分庫情況下,UPDATE語句不能更新拆分字段的值。5) 不支持SAVEPOINT操作。6) 暫時只支持MYSQL數(shù)據(jù)節(jié)點。alibaba cobar淘寶根據(jù)自己的業(yè)務特點開發(fā)了TDDL(TAOBAO DISTRIBUTED DATA LAYER 外號:頭都大了 )框架,主
12、要解決了分庫分表對應用的透明化以及異構數(shù)據(jù)庫之間的數(shù)據(jù)復制,它是一個基于集中式配置的 JDBC DATASOURCE實現(xiàn),具有主備,讀寫分離,動態(tài)數(shù)據(jù)庫配置等功能。TDDL所處的位置(TDDL通用數(shù)據(jù)訪問層,部署在客戶端的JAR包,用于將用戶的SQL路由到指定的數(shù)據(jù)庫中). 1.數(shù)據(jù)庫主備和動態(tài)切換2.帶權重的讀寫分離3.單線程讀重試4.集中式數(shù)據(jù)源信息管理和動態(tài)變更5.剝離的穩(wěn)定JBOSS數(shù)據(jù)源6.支持MYSQL和ORACLE數(shù)據(jù)庫7.基于JDBC規(guī)范,很容易擴展支持實現(xiàn)JDBC規(guī)范的數(shù)據(jù)源8.無SERVER,CLIENT-JAR形式存在,應用直連數(shù)據(jù)庫9.讀寫次數(shù),并發(fā)度流程控制,動態(tài)變更
13、10.可分析的日志打印,日志流控,動態(tài)變更TDDL強大好用的MYSQL分庫分表中間件,由百度員工個人編寫。分庫分表與應用脫離,分庫表如同使用單庫表一樣減少DB 連接數(shù)壓力熱重啟配置可水平擴容遵守MYSQL原生協(xié)議無語言限制,MYSQLCLIENT,C,JAVA等都可以使用HEISENBERG服務器通過管理命令可以查看,如連接數(shù),線程池,結點等,并可以調(diào)整heisenberg58 OCEANUS致力于打造一個功能簡單、可依賴、易于上手、易于擴展、易于集成的解決方案,甚至是平臺化系統(tǒng)。擁抱開源,提供各類插件機制集成其他開源項目,新手可以在幾分鐘內(nèi)上手編程,分庫分表邏輯不再與業(yè)務緊密耦合,擴容有標準
14、模式,減少意外錯誤的發(fā)生 DATANODE:數(shù)據(jù)源節(jié)點。為一個數(shù)據(jù)源命名,配置鏈接屬性、報警實現(xiàn)NAMENODE:數(shù)據(jù)源的簇。為一組數(shù)據(jù)源命名,指定這組數(shù)據(jù)源的負載方式、訪問模式、權重TABLE:映射表。匹配解析SQL中的TABLE名稱,命中TABLE標簽的NAME屬性值后,會執(zhí)行約定的路由邏輯BEAN:實體。由其他標簽引用,實體類必須有無參的構造函數(shù)TRACKER:監(jiān)控埋點。涉及到計算和IO的功能點都有監(jiān)控點,自定義一個埋點實現(xiàn)類,當功能耗時超出預期時會執(zhí)行其中的回調(diào)函數(shù),便于監(jiān)控和優(yōu)化系統(tǒng)Oceanus谷歌開發(fā)的數(shù)據(jù)庫中間件,集群基于ZOOKEEPER管理,通過RPC方式進行數(shù)據(jù)處理,總體
15、分為,SERVER,COMMAND LINE,GUI監(jiān)控 3部分。vitess分布式關系型數(shù)據(jù)庫服務DRDS阿里分布式關系型數(shù)據(jù)庫服務(DISTRIBUTE RELATIONAL DATABASE SERVICE,簡稱DRDS)是一種水平拆分、可平滑擴縮容、讀寫分離的在線分布式數(shù)據(jù)庫服務。前身為淘寶TDDL,是近千個應用首選組件,已穩(wěn)定服務了七年以上。rds/drds-遵守MYSQL原生協(xié)議,跨語言,跨數(shù)據(jù)庫的通用中間件代理。-基于心跳的自動故障切換,支持讀寫分離,支持MYSQL一雙主多從,以及一主多從-有效管理數(shù)據(jù)源連接,基于數(shù)據(jù)分庫,而不是分表的模式。-基于NIO實現(xiàn),有效管理線程,高并發(fā)
16、問題。-支持數(shù)據(jù)的多片自動路由與聚合,支持SUM,COUNT,MAX等常用的聚合函數(shù)。-支持2表JOIN,甚至基于CALTLET的多表JOIN。-支持通過全局表,ER關系的分片策略,實現(xiàn)了高效的多表JOIN查詢。-支持多租戶方案。-支持分布式事務(弱XA)-支持全局序列號,解決分布式下的主鍵生成問題。-分片規(guī)則豐富,插件化開發(fā),易于擴展。-強大的WEB,命令行監(jiān)控。-支持前端作為MYSQ通用代理,后端JDBC方式支持ORACLE、DB2、SQL SERVER 、 MONGODB 、巨杉。-集群基于ZOOKEEPER管理,在線升級,擴容,智能優(yōu)化,大數(shù)據(jù)處理(2.0開發(fā)版)。MycatMYCAT
17、架構圖MYCAT高效NIO和線程設計-邏輯庫(SCHEMA)-邏輯表(TABLE) - ER 表表 - 非分片表 - 分片表 - 全局表- 分片節(jié)點(DATANODE) -節(jié)點主機(DATAHOST) -分片規(guī)則(RULE)-全局序列號(SEQUENCE)-多租戶Mycat概念MYCAT抽象多個MYQL實例,對外提供唯一的訪問數(shù)據(jù)源。 邏輯庫與邏輯表Server.xml mycat orderdb Scema配置 select 1 select 1 MYCAT的路由解決方案在數(shù)據(jù)切分處理中,特別是水平切分中,中間件最終要的兩個處理過程就是數(shù)據(jù)的切分、數(shù)據(jù)的聚合。選擇合適的切分規(guī)則,至關重要,因
18、為它決定了后續(xù)數(shù)據(jù)聚合的難易程度,甚至可以避免跨庫的數(shù)據(jù)聚合處理。拆分原則:1. 避免或減少跨庫join。2. 選擇最合適的拆分維度。Mycat拆分表解決方案:-MYCAT 全局表全局表-ER關系關系-表拆分表拆分 -拆分維度拆分維度 -主鍵分片vs 非主鍵分片非主鍵分片路由規(guī)則配置Rule.xml user_id func1 1 1024 拆分字段(拆分維度)MYCAT全局表ordershost1ordershost2ordershost3ordershost4insert into orders (xxx)Mycat每個節(jié)點同時并發(fā)插入和更新數(shù)據(jù),每個節(jié)點都可以讀取數(shù)據(jù),提升讀性能的同時解
19、決跨 節(jié)點Join的效率 ER模型就是將表按照相同拆分規(guī)則,相同拆分值,切分到同一個分片節(jié)點上,避免出現(xiàn)跨分片的JOIN的一種切分模型??梢耘渲脼楦缸颖?,也可以不配置為父子表。ER表及ER關系模型 -MYCAT數(shù)據(jù)JOIN解決方案全局表技術獨創(chuàng)的ER關系分片基于Catlet的sharejoin兩表自動Join模塊復雜SQL可通過用戶自定義的Catlet進行處理Catlet是Java編寫的一段程序,類似數(shù)據(jù)庫中的存儲過程,可以實現(xiàn)任意復雜SQL的Join、Group、Order等功能/*!mycat:catlet=demo.catlets.ShareJoin */ select a.*,b.id
20、, as tit from customer a,company b pany_id=b.id;嵌套循環(huán)連接(NESTED LOOPS JOIN)哈希連接(HASH JOIN) 排序合并連接(SORT MERGE JOIN) 常見的join算法:BKA(Batched Key Access)MYCAT高可用讀寫分離和自動切換機制-基于心跳的自動切換-Mycat 支持基于MySQL主從復制狀態(tài)的高級讀寫分離與主從切換控制機制。-強制走寫節(jié)點解決讀寫分離時延問題Mycat讀寫分片配置(注意:讀寫節(jié)點,主從節(jié)點直接數(shù)據(jù)同步需要數(shù)據(jù)庫自己同步,mycat不負責)MyCAT的讀寫分離機制如
21、下:a.事務內(nèi)的SQL,默認走寫節(jié)點,以注釋/*balance*/開頭,則會根據(jù)balance=“1” 或“2”或“3” 去獲取 .b.自動提交的select語句會走讀節(jié)點,并在所有可用讀節(jié)點中間隨機負載均衡,默認根據(jù)balance=“1” 或“2”或“3” 去獲取,以注釋/*balance*/開頭則會走寫,解決部分已經(jīng)開啟讀寫分離,但是需要強一致性數(shù)據(jù)實時獲取數(shù)據(jù)的場景走寫c. 當某個主節(jié)點宕機,則其全部讀節(jié)點都不再被使用,因為此時,同步失敗,數(shù)據(jù)已經(jīng)不是最新的,MYCAT會采用另外一個主節(jié)點所對應的全部讀節(jié)點來實現(xiàn)select負載均衡。d.當所有主節(jié)點都失敗,則為了系統(tǒng)高可用性,自動提交的
22、所有select語句仍將提交到全部存活的讀節(jié)點上執(zhí)行,此時系統(tǒng)的很多頁面還是能出來數(shù)據(jù),只是用戶修改或提交會失敗。MyCAT的讀寫分離的配置如下: select user() dataHost的balance屬性設置為:0,不開啟讀寫分離機制1,全部的readHost與stand by writeHost參與select語句的負載均衡,簡單的說,當雙主雙從模式(M1-S1,M2-S2,并且M1與M2互為主備),正常情況下,M2,S1,S2都參與select語句的負載均衡。2,所有的readHost與writeHost都參與select語句的負載均衡,也就是說,當系統(tǒng)的寫操作壓力不大的情況下,所
23、有主機都可以承擔負載均衡。3. 全部的讀節(jié)點參數(shù)讀,寫節(jié)點不參與,如果配置了多個writerhost,則多個writerhost下面的readhost參數(shù)讀負載。Mycat2.0mysqlMycat2.0 -集群處理-自動擴容-智能優(yōu)化-大數(shù)據(jù)處理mysqlmysqlMycatMycatbalanceZookeeper Regist centerMycatAdmin/web應用應用MYCAT對多租戶應用的支持MYCAT對事務的支持為弱XA,如果業(yè)務需要嚴格的強一致性,需要采用事務補償方案,或者盡量避免跨庫操作。Mycat事務支持mycat的事務處理是,依次輪詢需要處理的分片執(zhí)行對應的Sql,當
24、應用commit時在依次輪詢commit。如果中間一個分片執(zhí)行sql出錯全部回滾。但是如果應用發(fā)起commit命令,Mycat發(fā)起commit到db成功,但是實際db未成功時,mycat無法保證各個節(jié)點回滾,這就是弱xa。分布式事務處理-異步化處理-最終一致性Mycat主從及多主配置dataHost的writeType屬性設置為: writeType=0 默認配置。 writeType=1 代表配置多主,mycat會往所有寫節(jié)點,隨機寫數(shù)據(jù),但是每次只會寫入一個節(jié)點,此模式下無讀節(jié)點,節(jié)點之間開啟數(shù)據(jù)庫級別同步。此配置為mysql高級級別使用,因為多主會帶來數(shù)據(jù)庫同步問題。 select us
25、er() 基于主從同步的讀寫分離與主從切換1.4 開始支持MySQL 主從復制狀態(tài)綁定的讀寫分離與主從切換機制,讀更加安全可靠,配置如下:MyCAT 心跳檢查語句配置為show slave status ,dataHost 上定義兩個新屬性: switchType=2 與slaveThreshold=100,此時意味著開啟MySQL 主從復制狀態(tài)綁定的讀寫分離與切換機制,Mycat 心跳機制通過檢測show slave status 中的Seconds_Behind_Master, Slave_IO_Running,Slave_SQL_Running 三個字段來確定當前主從同步的狀態(tài)以及Sec
26、onds_Behind_Master 主從復制時延, 當Seconds_Behind_MasterslaveThreshold 時,讀寫分離篩選器會過濾掉此Slave 機器,防止讀到很久之前的舊數(shù)據(jù),而當主節(jié)點宕機后,切換邏輯會檢查Slave 上的Seconds_Behind_Master 是否為0,為0 時則表示主從同步,可以安全切換,否則不會切換。switchType 目前有三種選擇: -1 表示不自動切換 1 默認值,自動切換 2 基于MySQL 主從同步的狀態(tài)決定是否切換下面為參考配置: show slave status Mycat高級特性(注解)MyCat對自身不支持的Sql語句提
27、供了一種解決方案在要執(zhí)行的SQL語句前添加額外的一段代碼,這樣Sql就能正確執(zhí)行,這段代碼稱之為“注解”。注解的形式是 /*!mycat: sql=Sql語句*/使用時將=號后的“Sql語句”替換為需要的Sql語句即可,后面會提到具體的用法。例子假設需要執(zhí)行的語句是 Insert into persons(id,name,sharding_id) values(1,郭靖,10010),(2,黃蓉,10010);鑒于路由分析的原因,MyCat暫不支持這種語句的執(zhí)行,如果一定需要執(zhí)行這種語句,可在這段sql代碼前添加 /*!mycat: sql=select id from persons whe
28、re sharding_id=10010 */語句變?yōu)槿缦滦问郊纯蓤?zhí)行 /*!mycat: sql=select id from persons where sharding_id=10010 */insert into persons(id,name,sharding_id) values(1,郭靖,10010),(2,黃蓉,10010);原理 MyCat執(zhí)行SQL語句的流程是先進行SQL解析處理,解析出分片信息(路由信息)后,然后到該分片對應的物理庫上去執(zhí)行;若傳入的SQL語句MyCat無法解析,則MyCat不會去執(zhí)行;而注解則是告訴MyCat按照注解內(nèi)的SQL(稱之為注解SQL)去進行解
29、析處理,解析出分片信息后,將注解后真正要執(zhí)行的SQL語句(稱之為原始SQL)發(fā)送到該分片對應的物理庫上去執(zhí)行。從上面的原理可以看到,注解只是告訴MyCat到何處去執(zhí)行原始SQL;因而使用注解前,要清楚的知道該原始SQL去哪個分片執(zhí)行,然后在注解SQL中也指向該分片,這樣才能使用!例子中的sharding_id=10010即是指明分片信息的。需要說明的是,若注解SQL沒有能明確到具體某個分片,譬如例子中的注解SQL沒有添加sharding_id=10010這個條件,則MyCat會將原始SQL發(fā)送到persons表所在的所有分片上去執(zhí)行去,這樣造成的后果若是插入語句,則在多個分片上都存在重復記錄,
30、同樣查詢、更新、刪除操作也會得到錯誤的結果!解決問題MySql不支持的語法結構,如insert values(),() insert select等 同一個實例內(nèi)的跨庫關聯(lián)查詢,如用戶庫和平臺庫內(nèi)的表關聯(lián) 存儲過程調(diào)用全局序列號全局序列號是MyCAT提供的一個新功能,為了實現(xiàn)分庫分表情況下,表的主鍵是全局唯一,而默認的MySQL的自增長主鍵無法滿足這個要求。全局序列號的語法符合標準SQL規(guī)范,其格式為:next value for MYCATSEQ_GLOBAL其中MYCATSEQ_GLOBAL是序列號的名字,MyCAT自動創(chuàng)建新的序列號,免去了開發(fā)的復雜度,另外,MyCAT也提供了一個全局的
31、序列號,名稱為:MYCATSEQ_GLOBAL。注意,注意,MYCATSEQ_必須大寫才能正確識別。必須大寫才能正確識別。注意:注意:序列:序列:MYCATSEQ_MYCAT配置:配置:MYCAT=dn1 表為:表為:MYCAT 也就是也就是”表名表名“=序列號后半部分的名字(序列號后半部分的名字(MYCATSEQ_xxx 中的中的xxx)目前全局序列號提供了本地文件跟數(shù)據(jù)庫模式及本地基于時間戳算法的三種方式: Insert table t_node(name) values(testname);Demo:http:/ 監(jiān)控MyCAT 自身有類似其他數(shù)據(jù)庫的管理監(jiān)控方式,可以通過Mysql 命令行,登錄管理端口(9066)執(zhí)行相應的SQL 進行管理,也可以通過jdbc 的方式進行遠程連接管理,本小節(jié)主要講解命令行的管理操作。登錄:目前mycat 有兩個端口,8066 數(shù)據(jù)端口,9066 管理端口,命令行的登陸是通過9066 管理端口來操作,登錄方式類似于mysql 的服務端登陸。mysql -h -utest
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年國家公考行測試題和答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學年七年級上學期期末生物試題
- 2020-2022年運動員醫(yī)療用品供應資格商采購項目招標文件
- 2024年07月湖北漢口銀行消費者權益保護部社會招考(726)筆試歷年參考題庫附帶答案詳解
- 2024年淳安縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年湖南醫(yī)學高等??茖W校第三附屬醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年07月浙江浙江泰隆商業(yè)銀行溫州分行社會招考筆試歷年參考題庫附帶答案詳解
- 2024年07月浙江浙江民泰商業(yè)銀行社會招考(717)筆試歷年參考題庫附帶答案詳解
- 2024年深澤縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 習作:故事新編 說課稿-2023-2024學年統(tǒng)編版語文四年級下冊
- 4R危機管理理論
- 浪潮iqt在線測評題及答案
- 湖北省八校聯(lián)合體2025屆高二生物第一學期期末檢測試題含解析
- 度三年級語文上冊期末試卷(圖片版含答案)
- 農(nóng)林牧漁類專業(yè)綜合訓練卷 第20卷 (原卷版)
- 2024年中國輔酶Q10膠囊行業(yè)投資分析、市場運行態(tài)勢、未來前景預測報告
- FANUC機器人培訓教程(完成版)
- 玉溪大紅山鐵礦二期北采區(qū)采礦施工組織設計
- 中醫(yī)診療技術操作規(guī)程
- 樂理知識考試題庫130題(含答案)
- 2024年外研版九年級英語上冊知識點總結
評論
0/150
提交評論