<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQLOPS數據庫與運維自動化技術分享

        來源:懂視網 責編:小采 時間:2020-11-09 07:22:32
        文檔

        MySQLOPS數據庫與運維自動化技術分享

        MySQLOPS數據庫與運維自動化技術分享:阿里巴巴解決數據拆分的偽分布式數據庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到
        推薦度:
        導讀MySQLOPS數據庫與運維自動化技術分享:阿里巴巴解決數據拆分的偽分布式數據庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到

        阿里巴巴解決數據拆分的偽分布式數據庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到A

        阿里巴巴解決數據拆分的偽分布式數據庫 中間件Cobar正式開源

        六月 19, 2012 by admin · 1 Comment

        編者加注:

        阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到Amoeba的穩定性、

        性能和功能支持,以及其他因素,重新設立了一個項目組并且更換名稱為Cobar,當時的開發人員是賀賢懋(備注:可能名字的字不對,實在有點久遠,雖然當時一起合作),還

        有一位百阿的同事也加入這個團隊(備注:旺旺密碼不記得了,所以他的名字也無法記起,看見請莫怪我這位記憶力不好的百阿同學),開發語言是Java,一開始只支持MySQL

        數據庫,并且用在新項目BRMMS(中文名稱:商人社區,BRMMS是項目代號,一般只記得代號,實在參與過太多項目研發),后來也支持Oracle數據庫,因為阿里巴巴中文站

        的Offer數據庫,需要從Oracle數據庫+存儲設備,遷移到MySQL+PC Server平臺上,為保證用戶數據的安全性,遷移過程是每128分之一切換的模式。雖然測試的非常嚴格,我

        們幾乎所有可能碰到的情況,甚至極端情況都測試過,但是依然碰過一些莫名其妙的問題,比如從MySQL雙主復制模式,從主A切換為B,出現過某個小集群的應用程序連接確實

        切換成功,但是又自己切換回來了,直到我離開也沒有找出原因,不過后來再切換又從未出現過,Cobar開源對大家解決數據的垂直拆分和水平拆分,那是如虎貼翼,非常方便!

        場景描述

        Cobar是關系型數據的分布式處理系統,它可以在分布式的環境下像傳統數據庫一樣為您提供海量數據服務。以下是快速啟動場景:

      1. 系統對外提供的數據庫名是dbtest,并且其中有兩張表tb1和tb2。
      2. tb1表的數據被映射到物理數據庫dbtest1的tb1上。
      3. tb2表的一部分數據被映射到物理數據庫dbtest2的tb2上,另外一部分數據被映射到物理數據庫dbtest3的tb2上。
        如下圖所示:
      4. 步驟一:環境準備

      5. 軟件準備

        操作系統: Linux或者Windows (推薦在Linux環境下運行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文件)

      6. 數據準備

        假設本文MySQL所在服務器IP為192.168.0.1,端口為3306,用戶名為test,密碼為空,我們需要創建schema:dbtest1、dbtest2、dbtest3,table:tb1、tb2,腳本如下:

        數據庫創建腳本:

        ?

        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

        #創建dbtest1

        drop database if exists dbtest1;

        create database dbtest1;

        use dbtest1;

        #在dbtest1上創建tb1

        create table tb1(

        id int not null,

        gmt datetime);

        #創建dbtest2

        drop database if exists dbtest2;

        create database dbtest2;

        use dbtest2;

        #在dbtest2上創建tb2

        create table tb2(

        id int not null,

        val varchar(256));

        #創建dbtest3

        drop database if exists dbtest3;

        create database dbtest3;

        use dbtest3;

        #在dbtest3上創建tb2

        create table tb2(

        id int not null,

        val varchar(256));

        步驟二:部署和配置Cobar

        請確保機器上設置了JAVA環境變量JAVA_HOME 下載Cobar壓縮文件并解壓,進入conf目錄可以看到schema.xml, rule.xml, server.xml等相關的配置文件

        ?

        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四個目錄

        schema.xml配置如下<span style="color: #ff0000;">(注意:schema.xml包含MySQL的IP、端口、用戶名、密碼等配置,您需要按照注釋替換為您的MySQL信息。)</span>

        <strong>schema.xml 配置</strong>:

        ?

        <button id="uwe0e"><input id="uwe0e"></input></button>
        • <button id="uwe0e"><input id="uwe0e"></input></button>
        • 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;">(本文僅以數字類型的id字段作為拆分字段,將數據拆分到兩個庫中。)

          ?

          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

          server.xml配置如下

          ?

          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,進入bin目錄可以看到Cobar的啟動、停止與重啟腳本

          ?

          1

          2

          3

          ./startup.sh #Cobar進程名為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這臺機器上,否則請替換為您的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執行示例,執行語句時與使用傳統單一數據庫無區別</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插入一條數據

          mysql>insert into tb2 (id, val) values (1, "part1"); #向表tb2插入一條數據

          mysql>insert into tb2 (id, val) values (2, "part1"), (513, "part2"); #向表tb2同時插入多條數據

          mysql>select * from tb1; #查詢表tb1,驗證數據被成功插入

          +----+---------------------+

          | id | gmt |

          +----+---------------------+

          | 1 | 2012-06-12 15:00:42 |

          +----+---------------------+

          mysql>select * from tb2; #查詢tb2,驗證數據被成功插入

          +-----+-------+

          | id | val |

          +-----+-------+

          | 1 | part1 |

          | 2 | part1 |

          | 513 | part2 |

          +-----+-------+

          mysql>select * from tb2 where id in (1, 513); #根據id查詢

          +-----+-------+

          | id | val |

          +-----+-------+

          | 1 | part1 |

          | 513 | part2 |

          +-----+-------+

        • 查看后端MySQL數據庫dbtest1,dbtest2和dbtest3,驗證數據分布在不同的庫中
        • 產品約束

        • 使用JDBC時,推薦使用5.1以上版本Driver進行連接
        • 不支持跨庫的關聯操作:join、分頁、排序、子查詢。
        • 不支持rewriteBatchedStatements=true參數設置。默認為false
        • 不支持useServerPrepStmts=true參數設置。默認為false
        • BLOB, BINARY, VARBINARY字段不能使用。若特殊需求需要這三種字段,禁止使用PreparedStatement的setBlob()或setBinaryStream()方法設置參數。
        • 不支持SAVEPOINT操作。
        • 不支持SET語句的執行,事務和字符集設置語句除外
        • 對于拆分表(一個表的數據被映射到多個MySQL數據庫),不能更新已有記錄的拆分字段(分庫字段)值
        • 只支持MySQL數據節點。
        • 對于拆分表,插入操作須給出列名,必須包含拆分字段。
        • 源碼下載地址:http://code.alibabatech.com/svn/cobar/

          聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

          文檔

          MySQLOPS數據庫與運維自動化技術分享

          MySQLOPS數據庫與運維自動化技術分享:阿里巴巴解決數據拆分的偽分布式數據庫 中間件Cobar正式開源 六月 19, 2012 by admin · 1 Comment 編者加注: 阿里巴巴于2012年6月19日,正式對外開源的數據庫中間件Cobar,前身是早已經開源的Amoeba,不過其作者陳思儒離職去盛大之后,阿里巴巴內部考慮到
          推薦度:
          • 熱門焦點

          最新推薦

          猜你喜歡

          熱門推薦

          Top
          主站蜘蛛池模板: 亚洲美女aⅴ久久久91| 国产一区二区免费在线| 婷婷精品国产亚洲AV麻豆不片| 香蕉视频在线免费看| 久久久久亚洲精品天堂久久久久久 | 亚洲精品国产suv一区88| 毛色毛片免费观看| 亚洲七久久之综合七久久| 波多野结衣久久高清免费| 亚洲AV无码专区在线电影成人| 好爽好紧好大的免费视频国产 | 精品久久久久久无码免费| 亚洲精品无码不卡在线播HE| 在线观看免费视频网站色| 亚洲av日韩av无码| 91频在线观看免费大全| 亚洲欧洲无码一区二区三区| 亚洲国产精品无码久久青草| 中文在线观看永久免费| 亚洲一级二级三级不卡| 少妇高潮太爽了在线观看免费| 亚洲国产成人久久精品大牛影视| 日韩精品电影一区亚洲| 青青操免费在线观看| 亚洲一区二区三区深夜天堂| 国产一区二区视频免费| 久久久久国产精品免费免费不卡| 亚洲日韩国产精品乱-久| 亚洲福利在线播放| 午夜视频在线免费观看| 亚洲国产成人AV在线播放| 国产黄色一级毛片亚洲黄片大全| 久久99免费视频| 亚洲制服丝袜一区二区三区| 日韩免费无码一区二区视频| 一级毛片免费不卡| 亚洲特级aaaaaa毛片| 无码专区一va亚洲v专区在线| 日韩中文字幕免费视频| 国产亚洲欧美日韩亚洲中文色| 亚洲第一区精品观看|
        • <tfoot id="uwe0e"><delect id="uwe0e"></delect></tfoot>
          <center id="uwe0e"><tr id="uwe0e"></tr></center>