MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-09 07:22:32
MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享
MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享:阿里巴巴解決數(shù)據(jù)拆分的偽分布式數(shù)據(jù)庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數(shù)據(jù)庫中間件Cobar,前身是早已經(jīng)開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內(nèi)部考慮到
導(dǎo)讀MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享:阿里巴巴解決數(shù)據(jù)拆分的偽分布式數(shù)據(jù)庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數(shù)據(jù)庫中間件Cobar,前身是早已經(jīng)開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內(nèi)部考慮到
阿里巴巴解決數(shù)據(jù)拆分的偽分布式數(shù)據(jù)庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數(shù)據(jù)庫中間件Cobar,前身是早已經(jīng)開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內(nèi)部考慮到A
阿里巴巴解決數(shù)據(jù)拆分的偽分布式數(shù)據(jù)庫 中間件Cobar正式開源
六月 19, 2012 by
admin · 1 Comment
編者加注:
阿里巴巴于2012年6月19日,正式對外開源的數(shù)據(jù)庫中間件Cobar,前身是早已經(jīng)開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內(nèi)部考慮到Amoeba的穩(wěn)定性、
性能和功能支持,以及其他因素,重新設(shè)立了一個(gè)項(xiàng)目組并且更換名稱為Cobar,當(dāng)時(shí)的開發(fā)人員是賀賢懋(備注:可能名字的字不對,實(shí)在有點(diǎn)久遠(yuǎn),雖然當(dāng)時(shí)一起合作),還
有一位百阿的同事也加入這個(gè)團(tuán)隊(duì)(備注:旺旺密碼不記得了,所以他的名字也無法記起,看見請莫怪我這位記憶力不好的百阿同學(xué)),開發(fā)語言是Java,一開始只支持MySQL
數(shù)據(jù)庫,并且用在新項(xiàng)目BRMMS(中文名稱:商人社區(qū),BRMMS是項(xiàng)目代號,一般只記得代號,實(shí)在參與過太多項(xiàng)目研發(fā)),后來也支持Oracle數(shù)據(jù)庫,因?yàn)榘⒗锇桶椭形恼?/p>
的Offer數(shù)據(jù)庫,需要從Oracle數(shù)據(jù)庫+存儲設(shè)備,遷移到MySQL+PC Server平臺上,為保證用戶數(shù)據(jù)的安全性,遷移過程是每128分之一切換的模式。雖然測試的非常嚴(yán)格,我
們幾乎所有可能碰到的情況,甚至極端情況都測試過,但是依然碰過一些莫名其妙的問題,比如從MySQL雙主復(fù)制模式,從主A切換為B,出現(xiàn)過某個(gè)小集群的應(yīng)用程序連接確實(shí)
切換成功,但是又自己切換回來了,直到我離開也沒有找出原因,不過后來再切換又從未出現(xiàn)過,Cobar開源對大家解決數(shù)據(jù)的垂直拆分和水平拆分,那是如虎貼翼,非常方便!
場景描述
Cobar是關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng),它可以在分布式的環(huán)境下像傳統(tǒng)數(shù)據(jù)庫一樣為您提供海量數(shù)據(jù)服務(wù)。以下是快速啟動場景:
系統(tǒng)對外提供的數(shù)據(jù)庫名是dbtest,并且其中有兩張表tb1和tb2。tb1表的數(shù)據(jù)被映射到物理數(shù)據(jù)庫dbtest1的tb1上。tb2表的一部分?jǐn)?shù)據(jù)被映射到物理數(shù)據(jù)庫dbtest2的tb2上,另外一部分?jǐn)?shù)據(jù)被映射到物理數(shù)據(jù)庫dbtest3的tb2上。
如下圖所示:

步驟一:環(huán)境準(zhǔn)備
軟件準(zhǔn)備
操作系統(tǒng): Linux或者Windows (推薦在Linux環(huán)境下運(yùn)行Cobar)
MySQL: http://www.mysql.com/downloads/ (推薦使用5.1以上版本)
JDK:
http://www.oracle.com/technetwork/java/javase/downloads/ (推薦使用1.6以上版本)
Cobar:
http://code.alibabatech.com/wiki/display/cobar/release/ (下載tar.gz或者zip文件)
數(shù)據(jù)準(zhǔn)備
假設(shè)本文MySQL所在服務(wù)器IP為192.168.0.1,端口為3306,用戶名為test,密碼為空,我們需要?jiǎng)?chuàng)建schema:dbtest1、dbtest2、dbtest3,table:tb1、tb2,腳本如下:
數(shù)據(jù)庫創(chuàng)建腳本:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#創(chuàng)建dbtest1
drop
database if exists dbtest1;
create
database dbtest1;
use dbtest1;
#在dbtest1上創(chuàng)建tb1
create
table tb1(
id int
not null ,
gmt datetime);
#創(chuàng)建dbtest2
drop
database if exists dbtest2;
create
database dbtest2;
use dbtest2;
#在dbtest2上創(chuàng)建tb2
create
table tb2(
id int
not null ,
val varchar (256));
#創(chuàng)建dbtest3
drop
database if exists dbtest3;
create
database dbtest3;
use dbtest3;
#在dbtest3上創(chuàng)建tb2
create
table tb2(
id int
not null ,
val varchar (256));
|
步驟二:部署和配置Cobar
請確保機(jī)器上設(shè)置了JAVA環(huán)境變量JAVA_HOME 下載Cobar壓縮文件并解壓,進(jìn)入conf目錄可以看到schema.xml, rule.xml, server.xml等相關(guān)的配置文件
?
1
2
3
4
5
6
|
wget http: //code .alibabatech.com /mvn/releases/com/alibaba/cobar/cobar-server/1 .2.4 /cobar-server-1 .2.4. tar .gz
tar
zxf cobar-server-1.2.4. tar .gz
cd
cobar-server-1.2.4 #可以看到bin,conf,lib,logs四個(gè)目錄
schema.xml配置如下<span style= "color: #ff0000;" >(注意:schema.xml包含MySQL的IP、端口、用戶名、密碼等配置,您需要按照注釋替換為您的MySQL信息。)< /span >
<strong>schema.xml 配置< /strong >:
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
"1.0"
encoding= "UTF-8" ?>
"schema.dtd" >
"http://cobar.alibaba.com/" >
"dbtest"
dataNode= "dnTest1" >
"tb2"
dataNode= "dnTest2,dnTest3"
rule= "rule1"
/>
"dnTest1" >
"dataSource" >
dsTest[ 0 ]
"dnTest2" >
"dataSource" >
dsTest[ 1 ]
"dnTest3" >
"dataSource" >
dsTest[ 2 ]
"dsTest"
type= "mysql" >
"location" >
192.168 . 0.1 : 3306 /dbtest1
192.168 . 0.1 : 3306 /dbtest2
192.168 . 0.1 : 3306 /dbtest3
"user" >test
"password" >
"sqlMode" >STRICT_TRANS_TABLES
?
1
|
rule.xml配置如下"color: #ff0000;" >(本文僅以數(shù)字類型的id字段作為拆分字段,將數(shù)據(jù)拆分到兩個(gè)庫中。)
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
"1.0"
encoding= "UTF-8" ?>
"rule.dtd" >
"http://cobar.alibaba.com/" >
"rule1" >
id
< function
name= "func1"
class = "com.alibaba.cobar.route.function.PartitionByLong" >
"partitionCount" > 2
"partitionLength" > 512
function >
|
?
?
1
2
3
4
5
6
7
8
9
10
|
"1.0"
encoding= "UTF-8" ?>
"server.dtd" >
"http://cobar.alibaba.com/" >
"test" >
"password" >test
"schemas" >dbtest
|
步驟三:啟動和使用Cobar
啟動Cobar,進(jìn)入bin目錄可以看到Cobar的啟動、停止與重啟腳本
?
1
2
3
|
. /startup .sh
#Cobar進(jìn)程名為CobarStartup
查看logs目錄下stdout.log, 啟動成功日志如下< /strong >
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
10:54:19,264 INFO ===============================================
10:54:19,265 INFO Cobar is ready to startup ...
10:54:19,265 INFO Startup processors ...
10:54:19,443 INFO Startup connector ...
10:54:19,446 INFO Initialize dataNodes ...
10:54:19,470 INFO dnTest1:0 init success
10:54:19,472 INFO dnTest3:0 init success
10:54:19,473 INFO dnTest2:0 init success
10:54:19,481 INFO CobarManager is started and listening on 9066
10:54:19,483 INFO CobarServer is started and listening on 8066
10:54:19,484 INFO ===============================================
訪問Cobar同訪問MySQL的方式完全相同, 常用訪問方式如下< /strong >"color: #ff0000;" >(注意:本文將Cobar部署在192.168.0.1這臺機(jī)器上,否則請?zhí)鎿Q為您的Cobar所在IP,其他信息不變)< /span >
|
?
1
2
3
4
5
6
7
8
9
|
#命令行
mysql -h192.168.0.1 -utest -ptest -P8066 -Ddbtest
#JDBC(建議5.1以上的mysql driver版本)
Class.forName( "com.mysql.jdbc.Driver" );
Connection conn = DriverManager.getConnection( "jdbc:mysql://192.168.0.1:8066/dbtest" ,
"test" , "test" );
......
SQL執(zhí)行示例,執(zhí)行語句時(shí)與使用傳統(tǒng)單一數(shù)據(jù)庫無區(qū)別< /strong >
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
mysql>show databases; #dbtest1、dbtest2、dbtest3對用戶透明
+ ----------+
| DATABASE
|
+ ----------+
| dbtest |
+ ----------+
mysql>show tables; #dbtest中有兩張表tb1和tb2
+ -------------------+
| Tables_in_dbtest1 |
+ -------------------+
| tb1 |
| tb2 |
+ -------------------+
mysql> insert
into tb1 (id, gmt)
values (1, now()); #向表tb1插入一條數(shù)據(jù)
mysql> insert
into tb2 (id, val)
values (1, "part1" ); #向表tb2插入一條數(shù)據(jù)
mysql> insert
into tb2 (id, val)
values (2, "part1" ), (513,
"part2" ); #向表tb2同時(shí)插入多條數(shù)據(jù)
mysql> select
* from
tb1; #查詢表tb1,驗(yàn)證數(shù)據(jù)被成功插入
+ ----+---------------------+
| id | gmt |
+ ----+---------------------+
| 1 | 2012-06-12 15:00:42 |
+ ----+---------------------+
mysql> select
* from
tb2; #查詢tb2,驗(yàn)證數(shù)據(jù)被成功插入
+ -----+-------+
| id | val |
+ -----+-------+
| 1 | part1 |
| 2 | part1 |
| 513 | part2 |
+ -----+-------+
mysql> select
* from
tb2 where id
in (1, 513); #根據(jù)id查詢
+ -----+-------+
| id | val |
+ -----+-------+
| 1 | part1 |
| 513 | part2 |
+ -----+-------+
|
查看后端MySQL數(shù)據(jù)庫dbtest1,dbtest2和dbtest3,驗(yàn)證數(shù)據(jù)分布在不同的庫中
產(chǎn)品約束
使用JDBC時(shí),推薦使用5.1以上版本Driver進(jìn)行連接不支持跨庫的關(guān)聯(lián)操作:join、分頁、排序、子查詢。不支持rewriteBatchedStatements=true參數(shù)設(shè)置。默認(rèn)為false不支持useServerPrepStmts=true參數(shù)設(shè)置。默認(rèn)為falseBLOB, BINARY, VARBINARY字段不能使用。若特殊需求需要這三種字段,禁止使用PreparedStatement的setBlob()或setBinaryStream()方法設(shè)置參數(shù)。不支持SAVEPOINT操作。不支持SET語句的執(zhí)行,事務(wù)和字符集設(shè)置語句除外對于拆分表(一個(gè)表的數(shù)據(jù)被映射到多個(gè)MySQL數(shù)據(jù)庫),不能更新已有記錄的拆分字段(分庫字段)值只支持MySQL數(shù)據(jù)節(jié)點(diǎn)。對于拆分表,插入操作須給出列名,必須包含拆分字段。
源碼下載地址:http://code.alibabatech.com/svn/cobar/
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享
MySQLOPS數(shù)據(jù)庫與運(yùn)維自動化技術(shù)分享:阿里巴巴解決數(shù)據(jù)拆分的偽分布式數(shù)據(jù)庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數(shù)據(jù)庫中間件Cobar,前身是早已經(jīng)開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內(nèi)部考慮到
Top
主站蜘蛛池模板:
国产视频资源在线观看
|
欧美高清免费
|
日韩有码在线观看
|
国产一区二区久久久
|
在线精品免费视频
|
国产一区二区在线播放
|
欧美黄站|
国产中文字幕在线
|
国产精品区一区二区三
|
91久久精品国产亚洲
|
亚洲一区二区三区精品影院
|
欧美日韩综合视频
|
国产在线欧美日韩一区二区
|
国产精品手机视频一区二区
|
美女全黄网站
|
啪啪免费网
|
精品国产91久久久久久久
|
亚洲日韩图片专区第1页
|
美女露胸动态无遮挡
|
国产精品美女一区二区三区
|
五月婷婷中文字幕
|
亚洲欧美视屏
|
亚洲欧美日韩在线播放
|
九草在线播放
|
欧美极品尤物在线播放一级
|
欧美综合图片区
|
国产精品福利久久久久久小说
|
中文字幕久久亚洲一区
|
亚洲第一页中文字幕
|
曰韩欧美
|
欧美视频日韩视频
|
在线免费观看一区二区三区
|
欧美日韩免费一区二区在线观看
|
国产日本在线观看
|
日本中文字幕有码
|
国产日韩欧美一区二区三区视频
|
亚洲一区二区三区精品视频
|
国产精品久久久久久久久久久久
|
夜夜骑日日操
|
广东东莞一级毛片免费
|
亚洲 欧美 自拍 另类
|
|