DBコピーとマスク

5142 ワード

DB沙丁実習回顧




なぜ海西沙丁(partition)と海西沙丁の大きさが大きく異なるのですか?

サディンは負荷バランス


サディンは負荷バランス技術です
  • RR(Round Robin)
  • 静的および動的
  • 機械負荷バランスと適応負荷バランス
  • 推定)spiderエンジンは適応負荷バランスを用いて記憶され,前回の実験結果はshard db 1とshard db 2の大きさの違いをもたらす.

    複製とサディンの結合


    Shading(Write Scale)+Read Scale(レプリケーション)
  • はまず砂丁を適用します.
  • 書き込み性能向上
  • と個別のサンドをコピーします.
  • の読み取り性能を向上する
  • .

    実習


    デバイスの設定


    コピー


    MySQLマスタープロファイルのコピー

    cd /home/자신
    
    mkdir master
    
    vi config_file.cnf
    
    [mysqld]
    log-bin=mysql-bin 
    server-id=1 
    
    cd /home/자신
    
    mkdir slave 
    
    vi config_file.cnf
    
    [mysqld]
    server-id=2 
    read_only=1 

    ドッキングの作成

    docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/master/:/etc/mysql/conf.d  --name=shard_db1 mariadb:10.1
    
    docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/slave/:/etc/mysql/conf.d  --name=shard_db1_slave mariadb:10.1
    

    ipの検証

    $ docker inspect shard_db1 | grep IPAddress 
    $ docker inspect shard_db1_slave | grep IPAddress

    プライマリ設定

    select @@server_id;
    
    show master status;
    
    값 저장 해놓기 
    
    CREATE USER 'repluser'@'%' IDENTIFIED BY 'replpw';
    
    GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
    

    セカンダリサーバの設定

    CHANGE MASTER TO MASTER_HOST='서버IP주소', MASTER_USER='복제슬레이브
    계정명', MASTER_PASSWORD='계정비밀번호', MASTER_LOG_FILE='바이너리로그파일명',
    MASTER_LOG_POS=바이너리로그상의 위치;
    start slave;
    

    サディン


    これを真似てください

    ダウンロードlaunchpad


    これを真似てください

    Webアプリケーションの設定


    build.gradle

    dependencies {
    	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    	runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
    	implementation 'org.springframework.boot:spring-boot-starter-web'
    	compileOnly 'org.projectlombok:lombok'
    	implementation 'org.springframework.boot:spring-boot-starter-validation'
    	developmentOnly 'org.springframework.boot:spring-boot-devtools'
    	annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    	annotationProcessor 'org.projectlombok:lombok'
    	testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }

    application.yml

    spring:
      datasource:
        url: jdbc:mariadb://172.17.0.2:3306/employees
        driver-class-name: org.mariadb.jdbc.Driver
        username: root
        password: ssu
    
      jpa:
        open-in-view: false
        show-sql: true
        generate-ddl: false
        format-sql: true
        hibernate:
          ddl-auto: none

    JAvaコード


    githubで参考にしてください~
    https://github.com/bangjom/Sharding-Replication