SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
MySQL InnoDB Cluster 소개
| 소속 : 락플레이스
| 날짜 : 2022년 12월 07일
Agenda
MySQL 소개
1
2
4
3
InnoDB Cluster 소개
InnoDB Cluster 구성
InnoDB Cluster의 설정 및 동작방식
5 Demo : InnoDB Cluster 구축 및 변경
Agenda
MySQL 소개
1
2
4
3
InnoDB Cluster 소개
InnoDB Cluster 구성
InnoDB Cluster의 설정 및 동작방식
5 Demo : InnoDB Cluster 구축 및 변경
DB-Engines Ranking – Trend Popularity
MySQL 소개
1
◆ 전세계에서 가장 많이 사용하는 대표적인 오픈소스 DBMS
◆ 듀얼 라이선스 (커뮤니티 버전, 상용 엔터프라이즈 버전)
◆ 플랫폼 독립성 : 다수의 OS에서 개발 및 구축할 수 있는 유연성
◆ SQL & NoSQL 액세스 : 복합 처리 및 단순한 고속 Key Value 작업 수행
◆ 빅 데이터 상호 운영성 : Hadoop 및 Cassandra를 위한 운영 데이터 저장소로서 MySQL 활용
MySQL 소개 MySQL 소개
1
MySQL HA 구성방안 MySQL 소개
1
구성 방법 HA 형태 특 징 서버 대수 참 고
MySQL
Replication
Master-Slave
구조(단방향) • 부하 분산 및 백업 용도
• 네트워크 전송
• BinLog 전송을 통해 동기화
• 비동기 방식
최소 서버 대수 2대 수동 Fail-over
Master-Master
구조(양방향)
OS Cluster 방식
Active-Standby
방식
• Shared Volume 구조
• Storage 또는 OS Cluster로 MySQL
이중화 구현
• Auto Failover
• 동기 방식
최소 서버 대수 2대
SAN 스토리지 같은
공유 스토리지 필요
MySQL InnoDB
Cluster
Active-Active
방식
• Shared Nothing 구조
• Master서버 장애 시 새로운 Master에
대한 정보를 Router 에서 업데이트해 서
부하를 자동으로 분산
• Auto Failover
• Group Replication, MySQL Shell,
MySQL Router 기반 동기 방식
최소 서버대수 3대
온라인 중
Scale out 지원
MySQL HA 구성방안 - Replication MySQL 소개
1
장 점
▪ SELECT Query를 Slave로 보내서 부하분산
가능
▪ Slave에서 백업을 수행하는 동안 Master
는 지속적인 서비스 가능
▪ Set-up 과정이 가장 단순하고 용이
단 점
▪ Async 방식으로 Master 와 Slave 간 데이터 차 발생 가능
▪ Master 장애발생시 기록한 binlog가 Slave로 복제되지
않을 수 있음. Slave가 Master로 승격된 경우, 데이터 손실이
발생할 수 있음
▪ 장애 발생 시 자동 Fail over 불가(수동 장애조치)
MySQL HA 구성방안 - Replication MySQL 소개
1
MySQL HA 구성방안 – OS Cluster MySQL 소개
1
장 점
▪ Active –Standby 구성으로 Heartbeat을 통해
Auto- failover 가능
▪ Active node의 장애 발생 시 Standby node가
Active 되어 서비스
▪ MySQL에서 제공되는 모든 Storage engine
사용 가능
단 점
▪ Failover를 위한 별도의 OS 클러스터 솔루션 필요
▪ Cluster의 node 중 둘 이상에 동시에 기동 될 수
없으며 반드시 하나에서만 Active 상태
▪ 장애 시 잠깐 동안의 Failover time 발생
Agenda
MySQL 소개
1
2
4
3
InnoDB Cluster 소개
InnoDB Cluster 구성
InnoDB Cluster의 설정 및 동작방식
5 Demo : InnoDB Cluster 구축 및 변경
Innodb Cluster 개요 InnoDB Cluster 소개
2
그림 - InnoDB Cluster Architecture
MySQL Database
Shared Nothing Cluster Solution
• Fault tolerance
• Auto Failover
• Active/Active 업데이트
(제한적으로 적용)
• 자동 멤버쉽 관리
- 멤버 추가 삭제
- 네트워크 파티션 및 장애
• 충돌 감지 및 해결
• 데이터 유실 방지
InnoDB Cluster 특징 InnoDB Cluster 소개
2
장 점
▪ Single Primary or Multi Primary의 다양한 방식의 이중화 구성 가
능
▪ Multi Primary 구성시 모든 노드에서 데이터 조회 및 변경 가능
▪ Monitoring 및 자동 Auto Failover기능 제공
▪ MySQL Router를 활용하여 R/W 부하 분산
▪ 한 노드 장애시에도 중단없이 서비스 가능(3노드 기준)
참 고
▪ 노드는 최소 3, 홀수로 증설 해야 하며 최대 9노드
▪ MySQL 5.7 미만 버전 에서 사용 불가
▪ InnoDB Storage Engine만 지원
▪ Write 가 적고 Read 가 많으면서 가용성이 중요한 경우 적합
▪ 성능은 single, replica 대비 낮으므로 사용자가 많은 서비스에는 부적합
▪ Cluster의 성능은 가장 낮은 성능의 노드에 의해 결정
Innodb Cluster 운영 방식 - Single primary InnoDB Cluster 소개
2
그림 - Single Primary 구성
Single Primary Mode
• Read/Write가 가능한 Primary 노드와 Read Only의 2개의 노드로 구성
• 서버 장애를 자동으로 감지
• 그룹 내에서 장애여부 판단 후 새로운 Primary 승격
Innodb Cluster 운영 방식 - Multi primary InnoDB Cluster 소개
2
그림 - Multi Primary 구성
Multi Primary Mode
• 모든 노드가 Primary 노드로 Read/Write가 가능
• 모든 노드에서 Write시 lock contention(Dead Lock) 발생 가능성 높음
• 모든 노드에 대한 엔진 버전이 동일 해야 함
Innodb Cluster 요구 사항 InnoDB Cluster 소개
2
Infrastructure Server Instance Configuration
• InnoDB 스토리지 엔진
• disabled_storage_engines
="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
• Primary Key 필수
• GTID 설정
• 네트워크 성능
• Binary log active
-- log-bin[=[log_file_name]
• Slave updates logged
-- log-slave-updates = on (v8.0.26 <)
-- log_replica_updates=on (v8.0.26 >)
• Binary log row format
-- binlog-format=row
• Global transaction identifiers enabled (on)
-- gtid-mode = on
-- enforce_gtid_consistency = on
• Replication information (metadata) repositories
-- master-info-repository=TABLE
-- relay-log-info-repository=TABLE
https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements.html
Agenda
MySQL 소개
1
4 InnoDB Cluster의 설정 및 동작방식
5 Demo : InnoDB Cluster 구축 및 변경
2 InnoDB Cluster 소개
3 InnoDB Cluster 구성
InnoDB Cluster 구성 - Group Replication InnoDB Cluster 구성
3
특 징
• 자동그룹 멤버쉽 관리 및 장애 감지
- 자동으로 서버 페일 오버
- 탄력성 있는 확장성
- 자동 복구
• 멀티 마스터 업데이트 지원
- 자동으로 데이터 충돌 발견 및 해결
- 데이터 일관성 보장
• 훌륭한 통합성 제공
- InnoDB 엔진
- GTID 기반 복제
- PERFORMANCE_SCHEMA
https://dev.mysql.com/doc/refman/8.0/en/group-replication.html
InnoDB Cluster 구성 - MySQL Shell InnoDB Cluster 구성
3
특 징
• JavaScript, Python 및SQL 지원
• 도큐먼트 스토어와 함께 관계형 모델 지원
(X 프로토콜 및 MySQL 프로토콜 지원)
• InnoDB Cluster 생성 및 관리 API 제공
• 운영에 필요한 여러가지 유틸리티 제공
https://dev.mysql.com/doc/mysql
shell/8.0/en/mysql shell utilities.html
• 명령어, 배치 스크립트 지원
https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-features.html
InnoDB Cluster 구성 - MySQL Router InnoDB Cluster 구성
3
특 징
• 경량의 미들웨어
• 애플리케이션 연결 투명성 제공
• 로드 밸런싱 정책 기반으로 커넥션에 대한 자동
Failover를 관리
• R/W 포트 (6446, 64460) 로 Primary 멤버에 대한
자동 라우팅 (R/W, DML, Query)
• R/O 포트 (6447, 64470) 로 Secondary 멤버에 대
한 자동 라우팅 (R/O, Query only)
https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-innodb-
cluster.html
Agenda
MySQL 소개
1
5 Demo : InnoDB Cluster 구축 및 변경
2 InnoDB Cluster 소개
3 InnoDB Cluster 구성
4 InnoDB Cluster의 설정 및 동작방식
InnoDB Cluster 설정 InnoDB Cluster의 설정 및 동작방식
4
인스턴스 구성 사전 확인
mysql-js> dba.checkInstanceConfiguration('icadmin@ic-1:3306')
인스턴스 구성
mysql-js> dba.configureInstance('icadmin@ic-1:3306')
Innodb Cluster 생성
mysql-js> cluster = dba.createCluster('testCluster')
Innodb Cluster에 인스턴스 추가
mysql-js> cluster.addInstance('icadmin@ic-2:3306')
Router 배포
# ./mysqlrouter --bootstrap root@ic-1:3306 --user=mysql -d
/myrouter/routerconf
https://dev.mysql.com/doc/mysql-shell/8.0/en/deploying-production-innodb-cluster.html
MySQL 비동기식 복제(Async) InnoDB Cluster의 설정 및 동작방식
4
https://dev.mysql.com/doc/refman/8.0/en/group-replication-primary-secondary-replication.html
MySQL 반동기식 복제(Semi Sync) InnoDB Cluster의 설정 및 동작방식
4
https://dev.mysql.com/doc/refman/8.0/en/group-replication-primary-secondary-replication.html
MySQL Group Replication 복제방식 InnoDB Cluster의 설정 및 동작방식
4
https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html
InnoDB Cluster Consistency - Eventual InnoDB Cluster의 설정 및 동작방식
4
https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html#sysvar_group_replication_consistency
InnoDB Cluster Consistency - Before InnoDB Cluster의 설정 및 동작방식
4
InnoDB Cluster Consistency - After InnoDB Cluster의 설정 및 동작방식
4
InnoDB Cluster Consistency – Before and After InnoDB Cluster의 설정 및 동작방식
4
InnoDB Cluster Consistency –
BEFORE_ON_PRIMARY_FAILOVER
InnoDB Cluster의 설정 및 동작방식
4
InnoDB Cluster Consistency –
BEFORE_ON_PRIMARY_FAILOVER
InnoDB Cluster의 설정 및 동작방식
4
8.0.29
PM SM
util.checkForServerUpgrade( )
PM
SM
8.0.29 8.0.29
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29
stop mysqld on SM
8.0.29 8.0.29
PM SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29
upgrade MySQL binaries
8.0.29 8.0.30
PM SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29
Start mysqld
8.0.29 8.0.30
PM SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.29 8.0.30
PM SM
Join
the group
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.29 8.0.30
PM SM SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.29 8.0.30
PM SM
stop mysqld on the other SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.30 8.0.30
PM SM
upgrade MySQL binaries
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.30 8.0.30
PM SM
start mysqld
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.30 8.0.30
PM SM
Join
the group
Join
the group
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.30 8.0.30
PM SM
SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.29 8.0.30 8.0.30
SM
stop mysqld on the PM
PM
Auto
failover
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.30 8.0.30 8.0.30
SM
upgrade MySQL binaries
PM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.30 8.0.30 8.0.30
SM
start mysqld
PM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.30 8.0.30 8.0.30
SM
PM
Join
the group
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
8.0.30 8.0.30 8.0.30
SM
PM
SM
How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식
4
Agenda
MySQL 소개
1
2 InnoDB Cluster 소개
3 InnoDB Cluster 구성
4 InnoDB Cluster의 설정 및 동작방식
5 Demo : InnoDB Cluster 구축 및 변경
Thank you

Contenu connexe

Tendances

MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group CommitTakanori Sejima
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialJean-François Gagné
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at RestMydbops
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기NHN FORWARD
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼NeoClova
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance OptimisationMydbops
 
MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)NeoClova
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleMariaDB plc
 
MySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxMySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxNeoClova
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1NeoClova
 
Fine-tuning Group Replication for Performance
Fine-tuning Group Replication for PerformanceFine-tuning Group Replication for Performance
Fine-tuning Group Replication for PerformanceVitor Oliveira
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Mydbops
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법Ji-Woong Choi
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB OptimizationJongJin Lee
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxNeoClova
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileRainer Gerhards
 

Tendances (20)

MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at Rest
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼MariaDB MaxScale monitor 매뉴얼
MariaDB MaxScale monitor 매뉴얼
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
 
Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1
 
MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)MariaDB 10.5 binary install (바이너리 설치)
MariaDB 10.5 binary install (바이너리 설치)
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScale
 
MySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxMySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptx
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
Fine-tuning Group Replication for Performance
Fine-tuning Group Replication for PerformanceFine-tuning Group Replication for Performance
Fine-tuning Group Replication for Performance
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 

Similaire à MySQL InnoDB Cluster 소개

MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항정명훈 Jerry Jeong
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetesrockplace
 
개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축정해 이
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 
MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항I Goo Lee
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOI Goo Lee
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석Daeyong Shin
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other FeaturesJongJin Lee
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLrockplace
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQLrockplace
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습smartstudy_official
 
Mysql on windows_kr_20170221
Mysql on windows_kr_20170221Mysql on windows_kr_20170221
Mysql on windows_kr_20170221Sumi Ryu
 
MySQL Performance Tuning (In Korean)
MySQL Performance Tuning (In Korean)MySQL Performance Tuning (In Korean)
MySQL Performance Tuning (In Korean)OracleMySQL
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유Kyoungchan Lee
 
SQL Azure 실무 도입하기
SQL Azure 실무 도입하기SQL Azure 실무 도입하기
SQL Azure 실무 도입하기정현 남
 

Similaire à MySQL InnoDB Cluster 소개 (20)

MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
 
개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축개발자가 도전하는 MariaDB 서버구축
개발자가 도전하는 MariaDB 서버구축
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other Features
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQL
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQL
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습
 
Mysql on windows_kr_20170221
Mysql on windows_kr_20170221Mysql on windows_kr_20170221
Mysql on windows_kr_20170221
 
MySQL Performance Tuning (In Korean)
MySQL Performance Tuning (In Korean)MySQL Performance Tuning (In Korean)
MySQL Performance Tuning (In Korean)
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
 
SQL Azure 실무 도입하기
SQL Azure 실무 도입하기SQL Azure 실무 도입하기
SQL Azure 실무 도입하기
 

Plus de rockplace

락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료rockplace
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop rockplace
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure rockplace
 
[락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료 [락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료 rockplace
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLrockplace
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBrockplace
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 rockplace
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLrockplace
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
Red Hat Openshift Container Platform
Red Hat Openshift Container Platform Red Hat Openshift Container Platform
Red Hat Openshift Container Platform rockplace
 
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축rockplace
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migrationrockplace
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Databaserockplace
 
Azure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBAzure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBrockplace
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점rockplace
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Studyrockplace
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azurerockplace
 
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축rockplace
 

Plus de rockplace (20)

락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure
 
[락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료 [락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQL
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQL
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
Red Hat Openshift Container Platform
Red Hat Openshift Container Platform Red Hat Openshift Container Platform
Red Hat Openshift Container Platform
 
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migration
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 
Azure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBAzure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDB
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Study
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azure
 
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
 

MySQL InnoDB Cluster 소개

  • 1. MySQL InnoDB Cluster 소개 | 소속 : 락플레이스 | 날짜 : 2022년 12월 07일
  • 2. Agenda MySQL 소개 1 2 4 3 InnoDB Cluster 소개 InnoDB Cluster 구성 InnoDB Cluster의 설정 및 동작방식 5 Demo : InnoDB Cluster 구축 및 변경
  • 3. Agenda MySQL 소개 1 2 4 3 InnoDB Cluster 소개 InnoDB Cluster 구성 InnoDB Cluster의 설정 및 동작방식 5 Demo : InnoDB Cluster 구축 및 변경
  • 4. DB-Engines Ranking – Trend Popularity MySQL 소개 1
  • 5. ◆ 전세계에서 가장 많이 사용하는 대표적인 오픈소스 DBMS ◆ 듀얼 라이선스 (커뮤니티 버전, 상용 엔터프라이즈 버전) ◆ 플랫폼 독립성 : 다수의 OS에서 개발 및 구축할 수 있는 유연성 ◆ SQL & NoSQL 액세스 : 복합 처리 및 단순한 고속 Key Value 작업 수행 ◆ 빅 데이터 상호 운영성 : Hadoop 및 Cassandra를 위한 운영 데이터 저장소로서 MySQL 활용 MySQL 소개 MySQL 소개 1
  • 6. MySQL HA 구성방안 MySQL 소개 1 구성 방법 HA 형태 특 징 서버 대수 참 고 MySQL Replication Master-Slave 구조(단방향) • 부하 분산 및 백업 용도 • 네트워크 전송 • BinLog 전송을 통해 동기화 • 비동기 방식 최소 서버 대수 2대 수동 Fail-over Master-Master 구조(양방향) OS Cluster 방식 Active-Standby 방식 • Shared Volume 구조 • Storage 또는 OS Cluster로 MySQL 이중화 구현 • Auto Failover • 동기 방식 최소 서버 대수 2대 SAN 스토리지 같은 공유 스토리지 필요 MySQL InnoDB Cluster Active-Active 방식 • Shared Nothing 구조 • Master서버 장애 시 새로운 Master에 대한 정보를 Router 에서 업데이트해 서 부하를 자동으로 분산 • Auto Failover • Group Replication, MySQL Shell, MySQL Router 기반 동기 방식 최소 서버대수 3대 온라인 중 Scale out 지원
  • 7. MySQL HA 구성방안 - Replication MySQL 소개 1 장 점 ▪ SELECT Query를 Slave로 보내서 부하분산 가능 ▪ Slave에서 백업을 수행하는 동안 Master 는 지속적인 서비스 가능 ▪ Set-up 과정이 가장 단순하고 용이 단 점 ▪ Async 방식으로 Master 와 Slave 간 데이터 차 발생 가능 ▪ Master 장애발생시 기록한 binlog가 Slave로 복제되지 않을 수 있음. Slave가 Master로 승격된 경우, 데이터 손실이 발생할 수 있음 ▪ 장애 발생 시 자동 Fail over 불가(수동 장애조치)
  • 8. MySQL HA 구성방안 - Replication MySQL 소개 1
  • 9. MySQL HA 구성방안 – OS Cluster MySQL 소개 1 장 점 ▪ Active –Standby 구성으로 Heartbeat을 통해 Auto- failover 가능 ▪ Active node의 장애 발생 시 Standby node가 Active 되어 서비스 ▪ MySQL에서 제공되는 모든 Storage engine 사용 가능 단 점 ▪ Failover를 위한 별도의 OS 클러스터 솔루션 필요 ▪ Cluster의 node 중 둘 이상에 동시에 기동 될 수 없으며 반드시 하나에서만 Active 상태 ▪ 장애 시 잠깐 동안의 Failover time 발생
  • 10. Agenda MySQL 소개 1 2 4 3 InnoDB Cluster 소개 InnoDB Cluster 구성 InnoDB Cluster의 설정 및 동작방식 5 Demo : InnoDB Cluster 구축 및 변경
  • 11. Innodb Cluster 개요 InnoDB Cluster 소개 2 그림 - InnoDB Cluster Architecture MySQL Database Shared Nothing Cluster Solution • Fault tolerance • Auto Failover • Active/Active 업데이트 (제한적으로 적용) • 자동 멤버쉽 관리 - 멤버 추가 삭제 - 네트워크 파티션 및 장애 • 충돌 감지 및 해결 • 데이터 유실 방지
  • 12. InnoDB Cluster 특징 InnoDB Cluster 소개 2 장 점 ▪ Single Primary or Multi Primary의 다양한 방식의 이중화 구성 가 능 ▪ Multi Primary 구성시 모든 노드에서 데이터 조회 및 변경 가능 ▪ Monitoring 및 자동 Auto Failover기능 제공 ▪ MySQL Router를 활용하여 R/W 부하 분산 ▪ 한 노드 장애시에도 중단없이 서비스 가능(3노드 기준) 참 고 ▪ 노드는 최소 3, 홀수로 증설 해야 하며 최대 9노드 ▪ MySQL 5.7 미만 버전 에서 사용 불가 ▪ InnoDB Storage Engine만 지원 ▪ Write 가 적고 Read 가 많으면서 가용성이 중요한 경우 적합 ▪ 성능은 single, replica 대비 낮으므로 사용자가 많은 서비스에는 부적합 ▪ Cluster의 성능은 가장 낮은 성능의 노드에 의해 결정
  • 13. Innodb Cluster 운영 방식 - Single primary InnoDB Cluster 소개 2 그림 - Single Primary 구성 Single Primary Mode • Read/Write가 가능한 Primary 노드와 Read Only의 2개의 노드로 구성 • 서버 장애를 자동으로 감지 • 그룹 내에서 장애여부 판단 후 새로운 Primary 승격
  • 14. Innodb Cluster 운영 방식 - Multi primary InnoDB Cluster 소개 2 그림 - Multi Primary 구성 Multi Primary Mode • 모든 노드가 Primary 노드로 Read/Write가 가능 • 모든 노드에서 Write시 lock contention(Dead Lock) 발생 가능성 높음 • 모든 노드에 대한 엔진 버전이 동일 해야 함
  • 15. Innodb Cluster 요구 사항 InnoDB Cluster 소개 2 Infrastructure Server Instance Configuration • InnoDB 스토리지 엔진 • disabled_storage_engines ="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY" • Primary Key 필수 • GTID 설정 • 네트워크 성능 • Binary log active -- log-bin[=[log_file_name] • Slave updates logged -- log-slave-updates = on (v8.0.26 <) -- log_replica_updates=on (v8.0.26 >) • Binary log row format -- binlog-format=row • Global transaction identifiers enabled (on) -- gtid-mode = on -- enforce_gtid_consistency = on • Replication information (metadata) repositories -- master-info-repository=TABLE -- relay-log-info-repository=TABLE https://dev.mysql.com/doc/refman/8.0/en/group-replication-requirements.html
  • 16. Agenda MySQL 소개 1 4 InnoDB Cluster의 설정 및 동작방식 5 Demo : InnoDB Cluster 구축 및 변경 2 InnoDB Cluster 소개 3 InnoDB Cluster 구성
  • 17. InnoDB Cluster 구성 - Group Replication InnoDB Cluster 구성 3 특 징 • 자동그룹 멤버쉽 관리 및 장애 감지 - 자동으로 서버 페일 오버 - 탄력성 있는 확장성 - 자동 복구 • 멀티 마스터 업데이트 지원 - 자동으로 데이터 충돌 발견 및 해결 - 데이터 일관성 보장 • 훌륭한 통합성 제공 - InnoDB 엔진 - GTID 기반 복제 - PERFORMANCE_SCHEMA https://dev.mysql.com/doc/refman/8.0/en/group-replication.html
  • 18. InnoDB Cluster 구성 - MySQL Shell InnoDB Cluster 구성 3 특 징 • JavaScript, Python 및SQL 지원 • 도큐먼트 스토어와 함께 관계형 모델 지원 (X 프로토콜 및 MySQL 프로토콜 지원) • InnoDB Cluster 생성 및 관리 API 제공 • 운영에 필요한 여러가지 유틸리티 제공 https://dev.mysql.com/doc/mysql shell/8.0/en/mysql shell utilities.html • 명령어, 배치 스크립트 지원 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-features.html
  • 19. InnoDB Cluster 구성 - MySQL Router InnoDB Cluster 구성 3 특 징 • 경량의 미들웨어 • 애플리케이션 연결 투명성 제공 • 로드 밸런싱 정책 기반으로 커넥션에 대한 자동 Failover를 관리 • R/W 포트 (6446, 64460) 로 Primary 멤버에 대한 자동 라우팅 (R/W, DML, Query) • R/O 포트 (6447, 64470) 로 Secondary 멤버에 대 한 자동 라우팅 (R/O, Query only) https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-innodb- cluster.html
  • 20. Agenda MySQL 소개 1 5 Demo : InnoDB Cluster 구축 및 변경 2 InnoDB Cluster 소개 3 InnoDB Cluster 구성 4 InnoDB Cluster의 설정 및 동작방식
  • 21. InnoDB Cluster 설정 InnoDB Cluster의 설정 및 동작방식 4 인스턴스 구성 사전 확인 mysql-js> dba.checkInstanceConfiguration('icadmin@ic-1:3306') 인스턴스 구성 mysql-js> dba.configureInstance('icadmin@ic-1:3306') Innodb Cluster 생성 mysql-js> cluster = dba.createCluster('testCluster') Innodb Cluster에 인스턴스 추가 mysql-js> cluster.addInstance('icadmin@ic-2:3306') Router 배포 # ./mysqlrouter --bootstrap root@ic-1:3306 --user=mysql -d /myrouter/routerconf https://dev.mysql.com/doc/mysql-shell/8.0/en/deploying-production-innodb-cluster.html
  • 22. MySQL 비동기식 복제(Async) InnoDB Cluster의 설정 및 동작방식 4 https://dev.mysql.com/doc/refman/8.0/en/group-replication-primary-secondary-replication.html
  • 23. MySQL 반동기식 복제(Semi Sync) InnoDB Cluster의 설정 및 동작방식 4 https://dev.mysql.com/doc/refman/8.0/en/group-replication-primary-secondary-replication.html
  • 24. MySQL Group Replication 복제방식 InnoDB Cluster의 설정 및 동작방식 4 https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html
  • 25. InnoDB Cluster Consistency - Eventual InnoDB Cluster의 설정 및 동작방식 4 https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html#sysvar_group_replication_consistency
  • 26. InnoDB Cluster Consistency - Before InnoDB Cluster의 설정 및 동작방식 4
  • 27. InnoDB Cluster Consistency - After InnoDB Cluster의 설정 및 동작방식 4
  • 28. InnoDB Cluster Consistency – Before and After InnoDB Cluster의 설정 및 동작방식 4
  • 29. InnoDB Cluster Consistency – BEFORE_ON_PRIMARY_FAILOVER InnoDB Cluster의 설정 및 동작방식 4
  • 30. InnoDB Cluster Consistency – BEFORE_ON_PRIMARY_FAILOVER InnoDB Cluster의 설정 및 동작방식 4
  • 31. 8.0.29 PM SM util.checkForServerUpgrade( ) PM SM 8.0.29 8.0.29 How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 32. 8.0.29 stop mysqld on SM 8.0.29 8.0.29 PM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 33. 8.0.29 upgrade MySQL binaries 8.0.29 8.0.30 PM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 34. 8.0.29 Start mysqld 8.0.29 8.0.30 PM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 35. 8.0.29 8.0.29 8.0.30 PM SM Join the group How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 36. 8.0.29 8.0.29 8.0.30 PM SM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 37. 8.0.29 8.0.29 8.0.30 PM SM stop mysqld on the other SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 38. 8.0.29 8.0.30 8.0.30 PM SM upgrade MySQL binaries How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 39. 8.0.29 8.0.30 8.0.30 PM SM start mysqld How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 40. 8.0.29 8.0.30 8.0.30 PM SM Join the group Join the group How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 41. 8.0.29 8.0.30 8.0.30 PM SM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 42. 8.0.29 8.0.30 8.0.30 SM stop mysqld on the PM PM Auto failover How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 43. 8.0.30 8.0.30 8.0.30 SM upgrade MySQL binaries PM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 44. 8.0.30 8.0.30 8.0.30 SM start mysqld PM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 45. 8.0.30 8.0.30 8.0.30 SM PM Join the group How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 46. 8.0.30 8.0.30 8.0.30 SM PM SM How to Rolling Upgrade Innodb Cluster InnoDB Cluster의 설정 및 동작방식 4
  • 47. Agenda MySQL 소개 1 2 InnoDB Cluster 소개 3 InnoDB Cluster 구성 4 InnoDB Cluster의 설정 및 동작방식 5 Demo : InnoDB Cluster 구축 및 변경