導航:首頁 > 數據處理 > jdbc插入多少數據

jdbc插入多少數據

發布時間:2024-04-27 16:53:50

1. java 如何批量插入數據

通過jdbc就可以執行批量插入了。
以下案例:
1、逐條執行10萬次
2、分批執行將10萬分成m批,每批n條,分多種分批方案來執行。
/**
* 批處理執行
*
* @param m 批次
* @param n 每批數量
* @throws Exception 異常時拋出
*/
public static void testInsertBatch(int m, int n) throws Exception {
init(); //初始化環境
Long start = System.currentTimeMillis();
for (int i = 0; i < m; i++) {
//從池中獲取連接
Connection conn = myBroker.getConnection();
Statement stmt = conn.createStatement();
for (int k = 0; k < n; k++) {
String sql = "\n" +
"insert into testdb.tuser \n" +
"\t(name, \n" +
"\tremark, \n" +
"\tcreatetime, \n" +
"\tupdatetime\n" +
"\t)\n" +
"\tvalues\n" +
"\t('" + RandomToolkit.generateString(12) + "', \n" +
"\t'" + RandomToolkit.generateString(24) + "', \n" +
"\tnow(), \n" +
"\tnow()\n" +
")";
//加入批處理
stmt.addBatch(sql);
}
stmt.executeBatch(); //執行批處理
stmt.close();
myBroker.freeConnection(conn); //連接歸池
}
Long end = System.currentTimeMillis();
System.out.println("批量執行" + m + "*" + n + "=" + m * n + "條Insert操作,共耗時:" + (end - start) / 1000f + "秒!");
}

2. 鐢↗DBC寰鐜鎻掑叆鏁版嵁

榪欎釜榪樹笉綆鍗曚簡...
浣犲壋寤哄嚭statement 鍚庤皟鐢ㄦ墽琛屾柟娉..鍐欎釜宓屽楃殑3灞傚驚鐜..姣忔¢兘鍘繪墽琛岃繖涓猻ql灝卞ソ浜...
緇欎綘涓浠g爜鎻愮ず鎵句釜鏀規敼灝辮兘瀹炵幇..
elietian
璇寸殑涓嶅..鍦╦dbc涓闄や簡鐜板湪涓涓嬪法灝忕殑鏁版嵁搴撳俬sqldb絳..涓鑸鐨刟utocommit鏄痶rue鐨
鎵浠ユ瘡嬈′笉鐢╟ommit
//鑾峰緱榪炴帴.鍒涘緩statement
for(long p =0;p<125;p++){
for(long g =0 ;g<5;g++){
for(long d= 0 ;d<9;d++)
{
String sql="insert into Entity values("+String.valueof(p)+","+Stirng.valueof(g)+","+String.valueof(d)+",0,100,0)";
st.e....(sql)鍟ユ柟娉曠殑鍘繪墽琛;//濂戒箙涓嶅啓浜嗗繕璁..鍛靛懙
}
}}
//鍏抽棴statement 鍏抽棴榪炴帴.
涓婅堪涓轟吉浠g爜...鎬濇兂濡傛..紲濅綘緙栧啓寮蹇..榪欐牱鍚..鏀筶ong..

3. 瀹炴垬浣撻獙鍑犵峂ySQLCluster鏂規坃MySQL


1.鑳屾櫙
MySQL鐨刢luster鏂規堟湁寰堝氬畼鏂瑰拰絎涓夋柟鐨勯夋嫨錛岄夋嫨澶氬氨鏄涓縐嶇儲鎮礆紝鍥犳わ紝鎴戜滑鑰冭檻MySQL鏁版嵁搴撴弧瓚充笅涓夌偣闇奼傦紝鑰冨療甯傞潰涓婂彲琛岀殑瑙e喅鏂規堬細

楂樺彲鐢ㄦэ細涓繪湇鍔″櫒鏁呴殰鍚庡彲鑷鍔ㄥ垏鎹㈠埌鍚庡囨湇鍔″櫒鍙浼哥緝鎬э細鍙鏂逛究閫氳繃鑴氭湰澧炲姞DB鏈嶅姟鍣ㄨ礋杞藉潎琛★細鏀鎸佹墜鍔ㄦ妸鏌愬叕鍙哥殑鏁版嵁璇鋒眰鍒囨崲鍒板彟澶栫殑鏈嶅姟鍣錛屽彲閰嶇疆鍝浜涘叕鍙哥殑鏁版嵁鏈嶅姟璁塊棶鍝涓鏈嶅姟鍣
闇瑕侀夌敤涓縐嶆柟妗堟弧瓚充互涓婇渶奼傘傚湪MySQL瀹樻柟緗戠珯涓婂弬鑰冧簡鍑犵嶈В鍐蟲柟妗堢殑浼樼己鐐癸細



緇煎悎鑰冭檻錛屽喅瀹氶噰鐢∕ySQL Fabric鍜孧ySQL Cluster鏂規堬紝浠ュ強鍙﹀栦竴縐嶈緝鎴愮啛鐨勯泦緹ゆ柟妗圙alera Cluster榪涜岄勭爺銆

2.MySQLCluster
綆浠嬶細

MySQL Cluster 鏄疢ySQL 瀹樻柟闆嗙兢閮ㄧ講鏂規堬紝瀹冪殑鍘嗗彶杈冧箙銆傛敮鎸侀氳繃鑷鍔ㄥ垎鐗囨敮鎸佽誨啓鎵╁睍錛岄氳繃瀹炴椂澶囦喚鍐椾綑鏁版嵁錛屾槸鍙鐢ㄦф渶楂樼殑鏂規堬紝澹扮О鍙鍋氬埌99.999%鐨勫彲鐢ㄦс

鏋舵瀯鍙婂疄鐜板師鐞嗭細



MySQL cluster涓昏佺敱涓夌嶇被鍨嬬殑鏈嶅姟緇勬垚錛

NDB Management Server錛氱$悊鏈嶅姟鍣ㄤ富瑕佺敤浜庣$悊cluster涓鐨勫叾浠栫被鍨嬭妭鐐癸紙Data Node鍜孲QL Node錛夛紝閫氳繃瀹冨彲浠ラ厤緗甆ode淇℃伅錛屽惎鍔ㄥ拰鍋滄Node銆 SQL Node錛氬湪MySQL Cluster涓錛屼竴涓猄QL Node灝辨槸涓涓浣跨敤NDB寮曟搸鐨刴ysql server榪涚▼錛岀敤浜庝緵澶栭儴搴旂敤鎻愪緵闆嗙兢鏁版嵁鐨勮塊棶鍏ュ彛銆侱ata Node錛氱敤浜庡瓨鍌ㄩ泦緹ゆ暟鎹錛涚郴緇熶細灝介噺灝嗘暟鎹鏀懼湪鍐呭瓨涓銆


緙虹偣鍙婇檺鍒訛細

瀵歸渶瑕佽繘琛屽垎鐗囩殑琛ㄩ渶瑕佷慨鏀瑰紩鎿嶪nnodb涓篘DB錛屼笉闇瑕佸垎鐗囩殑鍙浠ヤ笉淇鏀廣侼DB鐨勪簨鍔¢殧紱葷駭鍒鍙鏀鎸丷ead Committed錛屽嵆涓涓浜嬪姟鍦ㄦ彁浜ゅ墠錛屾煡璇涓嶅埌鍦ㄤ簨鍔″唴鎵鍋氱殑淇鏀癸紱鑰孖nnodb鏀鎸佹墍鏈夌殑浜嬪姟闅旂葷駭鍒錛岄粯璁や嬌鐢≧epeatable Read錛屼笉瀛樺湪榪欎釜闂棰樸傚栭敭鏀鎸侊細鉶界劧鏈鏂扮殑Cluster鐗堟湰宸茬粡鏀鎸佸栭敭錛屼絾鎬ц兘鏈夐棶棰橈紙鍥犱負澶栭敭鎵鍏寵仈鐨勮板綍鍙鑳藉湪鍒鐨勫垎鐗囪妭鐐逛腑錛夛紝鎵浠ュ緩璁鍘繪帀鎵鏈夊栭敭銆侱ata Node鑺傜偣鏁版嵁浼氳灝介噺鏀懼湪鍐呭瓨涓錛屽瑰唴瀛樿佹眰澶с
鏁版嵁搴撶郴緇熸彁渚涗簡鍥涚嶄簨鍔¢殧紱葷駭鍒錛
A.Serializable錛堜覆琛屽寲錛夛細涓涓浜嬪姟鍦ㄦ墽琛岃繃紼嬩腑瀹屽叏鐪嬩笉鍒板叾浠栦簨鍔″規暟鎹搴撴墍鍋氱殑鏇存柊錛堜簨鍔℃墽琛岀殑鏃跺欎笉鍏佽稿埆鐨勪簨鍔″苟鍙戞墽琛屻備簨鍔′覆琛屽寲鎵ц岋紝浜嬪姟鍙鑳戒竴涓鎺ョ潃涓涓鍦版墽琛岋紝鑰屼笉鑳藉苟鍙戞墽琛屻傦級銆
B.Repeatable Read錛堝彲閲嶅嶈伙級錛氫竴涓浜嬪姟鍦ㄦ墽琛岃繃紼嬩腑鍙浠ョ湅鍒板叾浠栦簨鍔″凡緇忔彁浜ょ殑鏂版彃鍏ョ殑璁板綍錛屼絾鏄涓嶈兘鐪嬪埌鍏朵粬鍏朵粬浜嬪姟瀵瑰凡鏈夎板綍鐨勬洿鏂般
C.Read Commited錛堣誨凡鎻愪氦鏁版嵁錛夛細涓涓浜嬪姟鍦ㄦ墽琛岃繃紼嬩腑鍙浠ョ湅鍒板叾浠栦簨鍔″凡緇忔彁浜ょ殑鏂版彃鍏ョ殑璁板綍錛岃屼笖鑳界湅鍒板叾浠栦簨鍔″凡緇忔彁浜ょ殑瀵瑰凡鏈夎板綍鐨勬洿鏂般
D.Read Uncommitted錛堣繪湭鎻愪氦鏁版嵁錛夛細涓涓浜嬪姟鍦ㄦ墽琛岃繃紼嬩腑鍙浠ョ湅鍒板叾浠栦簨鍔℃病鏈夋彁浜ょ殑鏂版彃鍏ョ殑璁板綍錛岃屼笖鑳界湅鍒板叾浠栦簨鍔℃病鏈夋彁浜ょ殑瀵瑰凡鏈夎板綍鐨勬洿鏂般

3.MySQL Fabric
綆浠嬶細

涓轟簡瀹炵幇鍜屾柟渚跨$悊MySQL 鍒嗙墖浠ュ強瀹炵幇楂樺彲鐢ㄩ儴緗詫紝Oracle鍦2014騫5鏈堟帹鍑轟簡涓濂椾負鍚勬柟瀵勪簣鍘氭湜鐨凪ySQL浜у搧 -- MySQL Fabric, 鐢ㄦ潵綆$悊MySQL 鏈嶅姟錛屾彁渚涙墿灞曟у拰瀹規槗浣跨敤鐨勭郴緇燂紝Fabric褰撳墠瀹炵幇浜嗕袱涓鐗規э細楂樺彲鐢ㄥ拰浣跨敤鏁版嵁鍒嗙墖瀹炵幇鍙鎵╁睍鎬у拰璐熻澆鍧囪錛岃繖涓や釜鐗規ц兘鍗曠嫭浣跨敤鎴栫粨鍚堜嬌鐢ㄣ

MySQL Fabric 浣跨敤浜嗕竴緋誨垪鐨刾ython鑴氭湰瀹炵幇銆

搴旂敤妗堜緥錛氱敱浜庤ユ柟妗堝湪鍘誨勾鎵嶆帹鍑猴紝鐩鍓嶅湪緗戜笂鏆傛椂娌℃悳緔㈠埌鏈夊ぇ鍏鍙哥殑搴旂敤妗堜緥銆

鏋舵瀯鍙婂疄鐜板師鐞嗭細

Fabric鏀鎸佸疄鐜伴珮鍙鐢ㄦх殑鏋舵瀯鍥懼備笅錛

Fabric浣跨敤HA緇勫疄鐜伴珮鍙鐢ㄦэ紝鍏朵腑涓鍙版槸涓繪湇鍔″櫒錛屽叾浠栨槸澶囦喚鏈嶅姟鍣錛 澶囦喚鏈嶅姟鍣ㄩ氳繃鍚屾ュ嶅埗瀹炵幇鏁版嵁鍐椾綑銆傚簲鐢ㄧ▼搴忎嬌鐢ㄧ壒瀹氱殑椹卞姩錛岃繛鎺ュ埌Fabric 鐨凜onnector緇勪歡錛屽綋涓繪湇鍔″櫒鍙戠敓鏁呴殰鍚庯紝Connector鑷鍔ㄥ崌綰у叾涓涓涓澶囦喚鏈嶅姟鍣ㄤ負涓繪湇鍔″櫒錛屽簲鐢ㄧ▼搴忔棤闇淇鏀廣
Fabric鏀鎸佸彲鎵╁睍鎬у強璐熻澆鍧囪鐨勬灦鏋勫備笅錛





浣跨敤澶氫釜HA 緇勫疄鐜板垎鐗囷紝姣忎釜緇勪箣闂村垎鎷呬笉鍚岀殑鍒嗙墖鏁版嵁錛堢粍鍐呯殑鏁版嵁鏄鍐椾綑鐨勶紝榪欎釜鍦ㄩ珮鍙鐢ㄦт腑宸茬粡鎻愬埌錛
搴旂敤紼嬪簭鍙闇鍚慶onnector鍙戦乹uery鍜宨nsert絳夎鍙ワ紝Connector閫氳繃MasterGroup鑷鍔ㄥ垎閰嶈繖浜涙暟鎹鍒板悇涓緇勶紝鎴栦粠鍚勪釜緇勪腑緇勫悎絎﹀悎鏉′歡鐨勬暟鎹錛岃繑鍥炵粰搴旂敤紼嬪簭銆
緙虹偣鍙婇檺鍒訛細
褰卞搷姣旇緝澶х殑涓や釜闄愬埗鏄錛

鑷澧為暱閿涓嶈兘浣滀負鍒嗙墖鐨勯敭錛涗簨鍔″強鏌ヨ㈠彧鏀鎸佸湪鍚屼竴涓鍒嗙墖鍐咃紝浜嬪姟涓鏇存柊鐨勬暟鎹涓嶈兘璺ㄥ垎鐗囷紝鏌ヨ㈣鍙ヨ繑鍥炵殑鏁版嵁涔熶笉鑳借法鍒嗙墖銆


嫻嬭瘯楂樺彲鐢ㄦ

鏈嶅姟鍣ㄦ灦鏋勶細



鍔熻兘



IP



Port





Backing store(淇濆瓨鍚勬湇鍔″櫒閰嶇疆淇℃伅)



200.200.168.24



3306





Fabric 綆$悊榪涚▼錛圕onnector錛



200.200.168.24



32274





HA Group 1 -- Master



200.200.168.23



3306





HA Group 1 -- Slave



200.200.168.25



3306



瀹夎呰繃紼嬬渷鐣ワ紝涓嬮潰璁茶堪濡備綍璁劇疆楂樺彲鐢ㄧ粍銆佹坊鍔犲囦喚鏈嶅姟鍣ㄧ瓑榪囩▼

棣栧厛錛屽壋寤洪珮鍙鐢ㄧ粍錛屼緥濡傜粍鍚峠roup_id-1錛屽懡浠わ細

mysqlfabric group create group_id-1

寰緇勫唴group_id-1娣誨姞鏈哄櫒200.200.168.25鍜200.200.168.23錛

mysqlfabric group add group_id-1 200.200.168.25:3306

mysqlfabric group add group_id-1 200.200.168.23:3306

鐒跺悗鏌ョ湅緇勫唴鏈哄櫒鐘舵侊細



鐢變簬鏈璁劇疆涓繪湇鍔″櫒錛屼袱涓鏈嶅姟鐨勭姸鎬侀兘鏄瘲ECONDARY
鎻愬崌鍏朵腑涓涓涓轟富鏈嶅姟鍣錛
mysqlfabric group promote group_id-1 --slave_id 00f9831f-d602-11e3-b65e-0800271119cb
鐒跺悗鍐嶆煡鐪嬬姸鎬侊細



璁劇疆鎴愪富鏈嶅姟鍣ㄧ殑鏈嶅姟宸茬粡鍙樻垚Primary銆
鍙﹀栵紝mode灞炴ц〃紺鴻ユ湇鍔″櫒鏄鍙璇誨啓錛圧EAD_WRITE)錛屾垨鍙璇(READ_ONLY)錛屽彧璇昏〃紺哄彲浠ュ垎鎽婃煡璇㈡暟鎹鐨勫帇鍔涳紱鍙鏈変富鏈嶅姟鍣ㄨ兘璁劇疆鎴愬彲璇誨啓錛圧EAD_WRITE)銆
榪欐椂媯鏌25鏈嶅姟鍣ㄧ殑slave鐘舵侊細



鍙浠ョ湅鍒板畠鐨勪富鏈嶅姟鍣ㄥ凡緇忔寚鍚23
鐒跺悗嬋媧繪晠闅滆嚜鍔ㄥ垏鎹㈠姛鑳斤細
mysqlfabric group activate group_id-1
嬋媧誨悗鍗沖彲嫻嬭瘯鏈嶅姟鐨勯珮鍙浠ユ
棣栧厛錛岃繘琛岀姸鎬佹祴璇曪細
鍋滄涓繪湇鍔″櫒23



鐒跺悗鏌ョ湅鐘舵侊細



鍙浠ョ湅鍒幫紝榪欐椂灝25鑷鍔ㄦ彁鍗囦負涓繪湇鍔″櫒銆
浣嗗傛灉灝23鎮㈠嶈搗鏉ュ悗錛岄渶瑕佹墜鍔ㄩ噸鏂拌劇疆23涓轟富鏈嶅姟鍣ㄣ
瀹炴椂鎬ф祴璇曪細
鐩鐨勶細嫻嬭瘯鍦ㄤ富鏈嶅姟鏇存柊鏁版嵁鍚庯紝澶囦喚鏈嶅姟鍣ㄥ氫箙鎵嶆樉紺鴻繖浜涙暟鎹
嫻嬭瘯妗堜緥錛氫嬌鐢╦ava浠g爜寤鴻繛鎺ワ紝寰鏌愬紶琛ㄦ彃鍏100鏉¤板綍錛岀湅澶囦喚鏈嶅姟鍣ㄥ氫箙鎵嶈兘鍚屾ヨ繖100鏉℃暟鎹
嫻嬭瘯緇撴灉錛
琛ㄤ腑鍘熸潵鏈101鏉℃暟鎹錛岃繍琛岀▼搴忓悗錛屾煡鐪嬩富鏈嶅姟鍣ㄧ殑鏁版嵁鏉℃暟錛



鍙瑙佷富鏈嶅姟鍣ㄥ綋鐒剁珛鍗沖緱鍒版洿鏂般
鏌ョ湅澶囦喚鏈嶅姟鍣ㄧ殑鏁版嵁鏉℃暟錛



浣嗗囦喚鏈嶅姟鍣ㄧ瓑寰呬簡1-2鍒嗛挓鎵嶅悓姝ュ畬鎴愶紙鍙浠ョ湅鍒癴abric浣跨敤鐨勬槸寮傛ュ嶅埗錛岃繖鏄榛樿ゆ柟寮忥紝鎬ц兘杈冨ソ錛屼富鏈嶅姟鍣ㄤ笉鐢ㄧ瓑寰呭囦喚鏈嶅姟鍣ㄨ繑鍥烇紝浣嗗悓姝ラ熷害杈冩參錛

瀵逛簬浠庢湇鍔″櫒鍚屾ユ暟鎹紼沖畾鎬ч棶棰橈紝鏈変互涓嬭В鍐蟲柟妗堬細

浣跨敤鍗婂悓姝ュ姞寮烘暟鎹涓鑷存э細寮傛ュ嶅埗鑳芥彁渚涜緝濂界殑鎬ц兘錛屼絾涓誨簱鍙鏄鎶奲inlog鏃ュ織鍙戦佺粰浠庡簱錛屽姩浣滃氨緇撴潫浜嗭紝涓嶄細楠岃瘉浠庡簱鏄鍚︽帴鏀跺畬姣曪紝椋庨櫓杈冮珮銆傚崐鍚屾ュ嶅埗浼氬湪鍙戦佺粰浠庡簱鍚庯紝絳夊緟浠庡簱鍙戦佺『璁や俊鎮鍚庢墠榪斿洖銆傚彲浠ヨ劇疆浠庡簱涓鍚屾ユ棩蹇楃殑鏇存柊鏂瑰紡錛屼粠鑰屽噺灝戜粠搴撳悓姝ョ殑寤惰繜錛屽姞蹇鍚屾ラ熷害銆 瀹夎呭崐鍚屾ュ嶅埗錛
鍦╩ysql涓榪愯
install plugin rpl_semi_sync_master soname 'semisync_master.so';
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_master_enabled=ON;
SET GLOBAL rpl_semi_sync_slave_enabled=ON;
淇鏀筸y.cnf 錛
rpl_semi_sync_master_enabled=1
rpl_semi_sync_slave_enabled=1
sync_relay_log=1
sync_relay_log_info=1
sync_master_info=1
紼沖畾鎬ф祴璇曪細
嫻嬭瘯妗堜緥錛氫嬌鐢╦ava浠g爜寤鴻繛鎺ワ紝寰鏌愬紶琛ㄦ彃鍏1w鏉¤板綍錛屾彃鍏ヨ繃紼嬩腑灝嗗叾涓鐨刴aster鏈嶅姟鍣ㄥ仠浜嗭紝鐪嬪囦喚鏈嶅姟鍣ㄦ槸鍚︽湁榪1w絎旇板綍
嫻嬭瘯緇撴灉錛屽仠姝涓繪湇鍔″櫒鍚庯紝java紼嬪簭鎶涘嚭寮傚父錛


浣嗚繖鏃跺啀嬈″彂閫乻ql鍛戒護錛屽彲浠ユ垚鍔熻繑鍥炪傝瘉鏄庡彧鏄褰撴椂鐨勪簨鍔″け璐ヤ簡銆傝繛鎺ュ垏鎹㈠埌浜嗗囦喚鏈嶅姟鍣錛屼粛鐒跺彲鐢ㄣ
緲婚槄浜唌ysql鏂囨。錛屾湁絝犺妭璇存槑浜嗚繖涓闂棰橈細



閲岄潰鎻愬埌錛氬綋涓繪湇鍔″櫒褰撴満鏃訛紝鎴戜滑鐨勫簲鐢ㄧ▼搴忚櫧鐒舵槸涓嶉渶鍋氫換浣曚慨鏀圭殑錛屼絾鍦ㄤ富鏈嶅姟鍣ㄨ澶囦喚鏈嶅姟鍣ㄦ浛鎹㈠墠錛屾煇浜涗簨鍔′細涓㈠け錛岃繖浜涘彲浠ヤ綔涓烘e父鐨刴ysql閿欒鏉ュ勭悊銆
鏁版嵁瀹屾暣鎬ф牎楠岋細
嫻嬭瘯涓繪湇鍔″櫒鍋滄㈠悗錛屽囦喚鏈嶅姟鍣ㄦ槸鍚﹁兘澶熷悓姝ユ墍鏈夋暟鎹銆
閲嶅惎浜嗗垰鎵嶅仠姝涓繪湇鍔″櫒鍚庯紝鏌ョ湅璁板綍鏁



鍙浠ョ湅鍒板湪鎻掑叆1059鏉¤板綍鍚庤鍋滄浜嗐

鐜板湪鐪嬬湅澶囦喚鏈嶅姟鍣ㄧ殑璁板綍鏁版槸澶氬皯錛岀湅鐪嬪湪涓繪湇鍔″櫒褰撴満鍚庢槸鍚︽墍鏈夋暟鎹閮借兘鍚屾ヨ繃鏉



澶х害緇忚繃浜嗗嚑鍗佺掞紝鎵嶅悓姝ュ畬錛屾暟鎹鉶界劧涓嶆槸絝嬪嵆鍚屾ヨ繃鏉ワ紝浣嗘病鏈変涪澶便

1.2銆佸垎鐗囷細濡備綍鏀鎸佸彲鎵╁睍鎬у拰璐熻澆鍧囪

fabric鍒嗙墖綆浠嬶細褰撲竴鍙版満鍣ㄦ垨涓涓緇勬壙鍙椾笉浜嗘湇鍔″帇鍔涘悗錛屽彲浠ユ坊鍔犳湇鍔″櫒鍒嗘憡璇誨啓鍘嬪姏錛岄氳繃Fabirc鐨勫垎鐗囧姛鑳藉彲浠ュ皢鏌愪簺琛ㄤ腑鏁版嵁鍒嗘暎瀛樺偍鍒頒笉鍚屾湇鍔″櫒銆傛垜浠鍙浠ヨ懼畾鍒嗛厤鏁版嵁瀛樺偍鐨勮勫垯錛岄氳繃鍦ㄨ〃涓璁劇疆鍒嗙墖key璁劇疆鍒嗛厤鐨勮勫垯銆傚彟澶栵紝鏈変簺琛ㄧ殑鏁版嵁鍙鑳藉苟涓嶉渶瑕佸垎鐗囧瓨鍌錛岄渶瑕佸皢鏁村紶琛ㄥ瓨鍌ㄥ湪鍚屼竴涓鏈嶅姟鍣ㄤ腑錛屽彲浠ュ皢璁劇疆涓涓鍏ㄥ矓緇勶紙Global Group錛夌敤浜庡瓨鍌ㄨ繖浜涙暟鎹錛屽瓨鍌ㄥ埌鍏ㄥ矓緇勭殑鏁版嵁浼氳嚜鍔ㄦ嫹璐濆埌鍏朵粬鎵鏈夌殑鍒嗙墖緇勪腑銆



4.Galera Cluster
綆浠嬶細

Galera Cluster鍙風О鏄涓栫晫涓婃渶鍏堣繘鐨勫紑婧愭暟鎹搴撻泦緹ゆ柟妗



涓昏佷紭鐐瑰強鐗規э細

鐪熸g殑澶氫富鏈嶅姟妯″紡錛氬氫釜鏈嶅姟鑳藉悓鏃惰璇誨啓錛屼笉鍍廎abric閭f牱鏌愪簺鏈嶅姟鍙鑳戒綔澶囦喚鐢ㄥ悓姝ュ嶅埗錛氭棤寤惰繜澶嶅埗錛屼笉浼氫駭鐢熸暟鎹涓㈠け鐑澶囩敤錛氬綋鏌愬彴鏈嶅姟鍣ㄥ綋鏈哄悗錛屽囩敤鏈嶅姟鍣ㄤ細鑷鍔ㄦ帴綆★紝涓嶄細浜х敓浠諱綍褰撴満鏃墮棿鑷鍔ㄦ墿灞曡妭鐐癸細鏂板炴湇鍔″櫒鏃訛紝涓嶉渶鎵嬪伐澶嶅埗鏁版嵁搴撳埌鏂扮殑鑺傜偣鏀鎸両nnoDB寮曟搸瀵瑰簲鐢ㄧ▼搴忛忔槑錛氬簲鐢ㄧ▼搴忎笉闇浣滀慨鏀


鏋舵瀯鍙婂疄鐜板師鐞嗭細
棣栧厛錛屾垜浠鐪嬬湅浼犵粺鐨勫熀浜巑ysql Replication錛堝嶅埗錛夌殑鏋舵瀯鍥撅細



Replication鏂瑰紡鏄閫氳繃鍚鍔ㄥ嶅埗綰跨▼浠庝富鏈嶅姟鍣ㄤ笂鎷瘋礉鏇存柊鏃ュ織錛岃╁悗浼犻佸埌澶囦喚鏈嶅姟鍣ㄤ笂鎵ц岋紝榪欑嶆柟寮忓瓨鍦ㄤ簨鍔′涪澶卞強鍚屾ヤ笉鍙婃椂鐨勯庨櫓銆侳abric浠ュ強浼犵粺鐨勪富浠庡嶅埗閮芥槸浣跨敤榪欑嶅疄鐜版柟寮忋

鑰孏alera鍒欓噰鐢ㄤ互涓嬫灦鏋勪繚璇佷簨鍔″湪鎵鏈夋満鍣ㄧ殑涓鑷存э細



瀹㈡埛絝閫氳繃Galera Load Balancer璁塊棶鏁版嵁搴擄紝鎻愪氦鐨勬瘡涓浜嬪姟閮戒細閫氳繃wsrep API 鍦ㄦ墍鏈夋湇鍔″櫒涓鎵ц岋紝瑕佷笉鎵鏈夋湇鍔″櫒閮芥墽琛屾垚鍔燂紝瑕佷笉灝辨墍鏈夐兘鍥炴粴錛屼繚璇佹墍鏈夋湇鍔$殑鏁版嵁涓鑷存э紝鑰屼笖鎵鏈夋湇鍔″櫒鍚屾ュ疄鏃舵洿鏂般
緙虹偣鍙婇檺鍒訛細

鐢變簬鍚屼竴涓浜嬪姟闇瑕佸湪闆嗙兢鐨勫氬彴鏈哄櫒涓婃墽琛岋紝鍥犳ょ綉緇滀紶杈撳強騫跺彂鎵ц屼細瀵艱嚧鎬ц兘涓婃湁涓瀹氱殑娑堣椼傛墍鏈夋満鍣ㄤ笂閮藉瓨鍌ㄧ潃鐩稿悓鐨勬暟鎹錛屽叏鍐椾綑銆傝嫢涓鍙版満鍣ㄦ棦浣滀負涓繪湇鍔″櫒錛屽張浣滀負澶囦喚鏈嶅姟鍣錛屽嚭鐜頒箰瑙傞攣瀵艱嚧rollback鐨勬傜巼浼氬炲ぇ錛岀紪鍐欑▼搴忔椂瑕佸皬蹇冦備笉鏀鎸佺殑SQL錛歀OCK / UNLOCK TABLES / GET_LOCK(), RELEASE_LOCK()…涓嶆敮鎸乆A Transaction
鐩鍓嶅熀浜嶨alera Cluster鐨勫疄鐜版柟妗堟湁涓夌嶏細Galera Cluster for MySQL銆丳ercona XtraDB Cluster銆丮ariaDB Galera Cluster銆
鎴戜滑閲囩敤杈冩垚鐔熴佸簲鐢ㄦ堜緥杈冨氱殑Percona XtraDB Cluster銆
搴旂敤妗堜緥錛
瓚呰繃2000澶氬跺栧浗浼佷笟浣跨敤錛


鍖呮嫭錛

闆嗙兢閮ㄧ講鏋舵瀯錛



鍔熻兘



IP



Port





Backing store(淇濆瓨鍚勬湇鍔″櫒閰嶇疆淇℃伅)



200.200.168.24



3306





Fabric 綆$悊榪涚▼錛圕onnector錛



200.200.168.24



32274





HA Master 1



200.200.168.24



3306





HA Master 2



200.200.168.25



3306





HA Master 3



200.200.168.23



3306



4.1銆佹祴璇曟暟鎹鍚屾

鍦ㄦ満鍣24涓婂壋寤轟竴涓琛錛



絝嬪嵆鍦25 涓鏌ョ湅錛屽彲瑙佸凡琚鍚屾ュ壋寤



浣跨敤Java浠g爜鍦24鏈嶅姟鍣ㄤ笂鎻掑叆100鏉¤板綍



絝嬪嵆鍦25鏈嶅姟鍣ㄤ笂鏌ョ湅璁板綍鏁



鍙瑙佹暟鎹鍚屾ユ槸絝嬪嵆鐢熸晥鐨勩
4.2銆佹祴璇曟坊鍔犻泦緹よ妭鐐
娣誨姞涓涓闆嗙兢鑺傜偣鐨勬ラゅ緢綆鍗曪紝鍙瑕佸湪鏂板姞鍏ョ殑鏈哄櫒涓婇儴緗插ソPercona XtraDB Cluster錛岀劧鍚庡惎鍔錛岀郴緇熷皢鑷鍔ㄥ皢鐜板瓨闆嗙兢涓鐨勬暟鎹鍚屾ュ埌鏂扮殑鏈哄櫒涓娿
鐜板湪涓轟簡嫻嬭瘯錛屽厛灝嗗叾涓涓涓鑺傜偣鏈嶅姟鍋滄錛



鐒跺悗浣跨敤java浠g爜鍦ㄩ泦緹や笂鎻掑叆100W鏁版嵁



鏌ョ湅100w鏁版嵁鐨勬暟鎹搴撳ぇ灝忥細



榪欐椂鍚鍔ㄥ彟澶栦竴涓鑺傜偣錛屽惎鍔ㄦ椂鍗充細鑷鍔ㄥ悓姝ラ泦緹ょ殑鏁版嵁錛



鍚鍔ㄥ彧闇20縐掑乏鍙籌紝鏌ョ湅鏁版嵁澶у皬涓鑷達紝鏌ョ湅琛ㄨ板綍鏁幫紝涔熷凡緇忓悓姝ヨ繃鏉



5.瀵規瘮鎬葷粨





MySQL Fabric



Galera Cluster





浣跨敤妗堜緥



2014騫5鏈堟墠鎺ㄥ嚭錛岀洰鍓嶅湪緗戜笂鏆傛椂娌℃悳緔㈠埌鏈夊ぇ鍏鍙哥殑搴旂敤妗堜緥



鏂規堣緝鎴愮啛錛屽栧浗澶氬朵簰鑱旂綉鍏鍙鎬嬌鐢





鏁版嵁澶囦喚鐨勫疄鏃舵



鐢變簬浣跨敤寮傛ュ嶅埗錛屼竴鑸寤舵椂鍑犲嶮縐掞紝浣嗘暟鎹涓嶄細涓㈠け銆



瀹炴椂鍚屾ワ紝鏁版嵁涓嶄細涓㈠け





鏁版嵁鍐椾綑



浣跨敤鍒嗙墖錛岄氳繃璁劇疆鍒嗙墖key瑙勫垯鍙浠ュ皢鍚屼竴寮犺〃鐨勪笉鍚屾暟鎹鍒嗘暎鍦ㄥ氬彴鏈哄櫒涓



姣忎釜鑺傜偣鍏ㄥ啑浣欙紝娌℃湁鍒嗙墖





楂樺彲鐢ㄦ



閫氳繃Fabric Connector瀹炵幇涓繪湇鍔″櫒褰撴満鍚庣殑鑷鍔ㄥ垏鎹錛屼絾鐢變簬澶囦喚寤惰繜錛屽垏鎹㈠悗鍙鑳戒笉鑳界珛鍗蟲煡璇㈡暟鎹



浣跨敤HAProxy瀹炵幇銆傜敱浜庡疄鏃跺悓姝ワ紝鍒囨崲鐨勫彲鐢ㄦф洿楂樸





鍙浼哥緝鎬



娣誨姞鑺傜偣鍚庯紝闇瑕佸厛鎵嬪伐澶嶅埗闆嗙兢鏁版嵁



鎵╁睍鑺傜偣鍗佸垎鏂逛究錛屽惎鍔ㄨ妭鐐規椂鑷鍔ㄥ悓姝ラ泦緹ゆ暟鎹錛100w鏁版嵁錛100M錛夊彧闇20縐掑乏鍙





璐熻澆鍧囪



閫氳繃HASharding瀹炵幇



浣跨敤HAProxy瀹炵幇璐熻澆鍧囪





紼嬪簭淇鏀



闇瑕佸垏鎹㈡垚jdbc:mysql:fabric鐨刯dbc綾誨拰url



紼嬪簭鏃犻渶淇鏀





鎬ц兘瀵規瘮



浣跨敤java鐩存帴鐢╦dbc鎻掑叆100鏉¤板綍錛屽ぇ姒2000+ms



璺熺洿鎺ユ搷浣渕ysql涓鏍鳳紝鐩存帴鐢╦dbc鎻掑叆100鏉¤板綍錛屽ぇ姒600ms



6.瀹炶返搴旂敤
緇煎悎鑰冭檻涓婇潰鏂規堢殑浼樼己鐐癸紝鎴戜滑姣旇緝鍋忓悜閫夋嫨Galera 濡傛灉鍙鏈変袱鍙版暟鎹搴撴湇鍔″櫒錛岃冭檻閲囩敤浠ヤ笅鏁版嵁搴撴灦鏋勫疄鐜伴珮鍙鐢ㄦс佽礋杞藉潎琛″拰鍔ㄦ佹墿灞曪細



濡傛灉涓夊彴鏈哄櫒鍙浠ヨ冭檻錛



閱讀全文

與jdbc插入多少數據相關的資料

熱點內容
技術幹部下海退休按什麼算 瀏覽:533
企業內部信息發布app有哪些 瀏覽:1000
沈陽最大乾果市場在哪裡 瀏覽:102
橫排如何統計不重復數據 瀏覽:579
黃精市場容量變化趨勢怎麼寫 瀏覽:781
如何知道大宗交易的期限 瀏覽:110
抖音如何才能看不到別人發的信息 瀏覽:560
海產品貓眼螺怎麼養 瀏覽:405
磁條交易有哪些 瀏覽:867
深圳證券交易所什麼時候設中小板 瀏覽:742
案件簡易程序改成普通程序要多久 瀏覽:285
消費者如何對瑕疵產品進行索賠 瀏覽:193
執行信息登記什麼意思 瀏覽:75
跨庫資料庫怎麼獲取 瀏覽:871
日照職業技術學院怎麼填報專業 瀏覽:86
肯德基代理多少錢一年 瀏覽:346
茶園信息卡去哪裡辦理 瀏覽:373
成本信息由什麼組成 瀏覽:761
資生堂哪個公司代理 瀏覽:802
錢幣怎麼交易到國外 瀏覽:185