데이터 베이스 MySQL 튜토리얼 MySQL5.7 그룹 제출 및 병렬 복제 예제 튜토리얼

MySQL5.7 그룹 제출 및 병렬 복제 예제 튜토리얼

Jun 20, 2017 pm 03:13 PM
복사 평행한

MySQL 버전 5.5부터 MySQL의 매우 중요한 기능인 병렬 복제 메커니즘이 도입되었습니다.
MySQL5.6에서는 스키마를 차원으로 하여 병렬 복제를 지원하기 시작합니다. 즉, binlog 행 이벤트가 다른 스키마의 객체에 대해 작동하는 경우 DDL 및 외래 키 종속성이 없다고 판단되면 병렬 복제가 가능합니다.
커뮤니티에서는 테이블을 차원으로 사용하거나 레코드를 차원으로 사용하는 병렬 복제 버전도 도입했습니다. 스키마, 테이블, 레코드 등 행 형식의 대기 데이터베이스 슬레이브 구문 분석 이벤트를 기반으로 실시간으로 판단합니다. 충돌이 없는지 확인하고 병렬성을 달성하기 위해 배포하십시오.
MySQL5.7, 멀티 스레드 슬레이브, 즉 MTS의 병렬 복제는 메인 데이터베이스의 병렬성을 극대화할 것으로 예상되며 구현 방법은 슬레이브 노드가 병렬을 구현할 수 있도록 binlog 이벤트에 필요한 정보를 추가하는 것입니다. 이 정보를 기반으로 복제합니다.
MySQL 5.7의 병렬 복제는 그룹 커밋을 기반으로 합니다. 기본 데이터베이스에서 완료할 수 있는 모든 준비된 명령문은 데이터 충돌이 없음을 나타내며 슬레이브 노드에서 병렬로 복제될 수 있습니다.
MySQL 5.7의 그룹 제출과 관련하여 다음 매개변수를 살펴봐야 합니다.
mysql> show global variables like '%group_commit%';+-----------------------------------------+-------+| Variable_name | Value |+-----------------------------------------+-------+| binlog_group_commit_sync_delay | 0 || binlog_group_commit_sync_no_delay_count | 0 |+-----------------------------------------+-------+2 rows in set (0.00 sec)
로그인 후 복사

binlog_group_commit_sync_delay 이 매개변수는 디스크를 플러시하기 전에 로그 제출을 기다리는 시간을 제어합니다. 기본값은 0입니다. 즉, 제출 후 즉시 디스크를 플러시합니다. 0보다 높게 설정하면 여러 로그 동료가 동시에 디스크 플러시를 제출할 수 있습니다. 이를 그룹 제출이라고 합니다. 그룹 제출은 병렬 복제의 기본입니다. 이 값을 0보다 크게 설정하면 그룹 제출 기능이 활성화된다는 의미입니다. 최대값은 1000000마이크로초로만 설정할 수 있습니다.
binlog_group_commit_sync_no_delay_count, 이 매개변수는 binlog_group_commit_sync_delay의 대기 시간 내에 사물 수가 binlog_group_commit_sync_no_delay_count에 설정된 매개변수에 도달하면 그룹 제출이 트리거됨을 의미합니다. 이 값이 0으로 설정되면 영향이 없습니다. 시간에 도달했지만 트랜잭션 수에 도달하지 않은 경우 그룹 제출 작업도 수행됩니다.
그룹 제출은 MySQL의 binlog를 기반으로 그룹 제출에 무슨 일이 일어나고 있는지 더 재미있는 방법입니다.
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000005 |grep last_committed
#170607 11:24:57 server id 353306 end_log_pos 876350 CRC32 0x92093332 GTID last_committed=654 sequence_number=655#170607 11:24:58 server id 353306 end_log_pos 880406 CRC32 0x344fdf71 GTID last_committed=655 sequence_number=656#170607 11:24:58 server id 353306 end_log_pos 888700 CRC32 0x4ba2b05b GTID last_committed=656 sequence_number=657#170607 11:24:58 server id 353306 end_log_pos 890675 CRC32 0xf8a8ad64 GTID last_committed=657 sequence_number=658#170607 11:24:58 server id 353306 end_log_pos 892770 CRC32 0x127f9cdd GTID last_committed=658 sequence_number=659#170607 11:24:58 server id 353306 end_log_pos 894757 CRC32 0x518abd93 GTID last_committed=659 sequence_number=660#170607 11:37:46 server id 353306 end_log_pos 895620 CRC32 0x99174f95 GTID last_committed=660 sequence_number=661#170607 11:37:51 server id 353306 end_log_pos 895897 CRC32 0xb4ffc341 GTID last_committed=661 sequence_number=662#170607 11:38:00 server id 353306 end_log_pos 896174 CRC32 0x6bcbc492 GTID last_committed=662 sequence_number=663#170607 11:39:40 server id 353306 end_log_pos 896365 CRC32 0x1fe16c7c GTID last_committed=663 sequence_number=664
로그인 후 복사

위는 그룹 제출을 활성화하지 않는 로그입니다. 거기에는 binlog에 last_committed와 sequence_number라는 두 개의 매개변수가 있습니다. 다음 항목이
메인 라이브러리에서 그룹 제출을 구성한 후 슬레이브 라이브러리에 다음 매개변수를 추가해야 한다는 것을 알 수 있습니다. last_committed는 항상 다음과 같습니다. 이전 항목의 시퀀스 번호가 동일합니다. 이 역시 순차적으로 제출되기 때문에 이해하기 쉽기 때문에 이해하는 것도 놀라운 일이 아닙니다.
그룹 제출 모드의 내용을 살펴보겠습니다.
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000008|grep last_commit
#170609 10:11:07 server id 353306 end_log_pos 75629 CRC32 0xd54f2604 GTID last_committed=269 sequence_number=270#170609 10:13:03 server id 353306 end_log_pos 75912 CRC32 0x43675b14 GTID last_committed=270 sequence_number=271#170609 10:13:24 server id 353306 end_log_pos 76195 CRC32 0x4f843438 GTID last_committed=270 sequence_number=272
로그인 후 복사

마지막 두 가지 중 last_committed가 동일하다는 것을 알 수 있습니다. 이는 무엇을 의미하며, 두 가지가 제출되었음을 의미합니다. 그룹으로서 두 가지가 perpare 잘림에서 동일한 last_committed를 얻고 서로 영향을 미치지 않습니다. 결국 그룹으로 제출됩니다. 이를 그룹 제출이라고 합니다.
#MTS
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8 #太多的线程会增加线程间同步的开销,建议4-8个slave线程
master_info_repository=TABLErelay_log_info_repository=TABLErelay_log_recovery=ONslave-parallel-type有两个之,DATABASE和LOGICAL_CLOCK,DATABASE: 默认值,兼容5.6以schema维度的并行复制, LOGICAL_CLOCK: MySQL 5.7基于组提交的并行复制机制。
로그인 후 복사

요약하자면, MySQL5.7의 병렬 복제는 메인 라이브러리의 그룹 커밋과 슬레이브 라이브러리의 다음 매개변수 구성을 기반으로 합니다. mysql> '%slave_para%';

+------------------------+---------------+| Variable_name | Value |+------------------------+---------------+| slave_parallel_type | LOGICAL_CLOCK || slave_parallel_workers | 8 |+------------------------+---------------+2 rows in set (0.01 sec)
로그인 후 복사

To MySQL 5.7의 병렬 복제를 사용하려면 먼저 마스터 데이터베이스에서 binlog_group_commit_sync_delay를 0보다 큰 값으로 설정한 다음 슬레이브 데이터베이스에서 스레드 수 및 관련 메서드를 설정해야 합니다. 위에서 설정한 값은 8이며, 슬레이브 라이브러리를 보면 슬레이브 라이브러리에 트랜잭션 처리를 기다리는 스레드가 1개가 아닌 8개가 있는 것을 볼 수 있습니다.

위 내용은 MySQL5.7 그룹 제출 및 병렬 복제 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

QQ뮤직 가사 복사하기 가사 복사하기 QQ뮤직 가사 복사하기 가사 복사하기 Mar 12, 2024 pm 08:22 PM

우리 사용자는 이 플랫폼을 사용할 때 일부 기능의 다양성을 이해할 수 있어야 합니다. 우리는 일부 노래의 가사가 매우 잘 쓰여져 있다는 것을 알고 있습니다. 때로는 여러 번 들어도 그 의미가 매우 심오하다고 느낄 때가 있기 때문에 그 의미를 이해하고 싶으면 직접 복사해서 카피라이팅으로 사용하고 싶을 때도 있습니다. 가사 복사하는 방법만 배우면 됩니다. 이러한 작업은 모두가 익숙할 것이라고 생각하지만 실제로 휴대폰에서 작업하는 것은 다소 어렵습니다. 따라서 오늘 편집자는 더 나은 이해를 돕기 위해. 위의 운영 경험 중 일부에 대한 좋은 설명이 있습니다. 마음에 드시면 꼭 오셔서 편집자와 함께 살펴보세요.​

복사 단축키는 무엇인가요? 복사 단축키는 무엇인가요? Mar 10, 2023 pm 02:00 PM

복사 단축키는 "Ctrl+c"이고 해당 붙여넣기 키는 컴퓨터에서 "Ctrl+v"입니다. 마우스를 사용하여 텍스트를 끌어서 선택한 다음 Ctrl 키를 누른 다음 C 키를 클릭하여 완료합니다. 복사, 단축키는 특정 특정 키, 키 시퀀스 또는 키 조합을 통해 작업을 완료하는 것을 의미합니다.

PS 복사 레이어 단축키 PS 복사 레이어 단축키 Feb 23, 2024 pm 02:34 PM

PS 복사 레이어 단축키를 보면 PS 사용 시 레이어를 복사하고 싶을 때 [Ctrl+J] 단축키를 사용하면 빠르게 복사할 수 있다는 것을 알 수 있습니다. 레이어 복사 단축키에 대한 소개를 통해 구체적인 작업 방법을 알려드릴 수 있으니, 자세한 내용은 아래에서 확인하시기 바랍니다. PS 복사 레이어 바로가기 키 답변: [Ctrl+J] 구체적인 방법: 1. PS에서 이미지를 열고 복사해야 하는 레이어를 선택합니다. 2. 키보드의 [Ctrl+J]를 동시에 누르면 레이어 복사가 완료됩니다. 기타 복사 방법: 1. 이미지를 연 후 해당 레이어를 길게 누른 후 [새 레이어] 아이콘을 아래로 이동하세요. 2. 아이콘으로 이동한 후 손을 떼세요. 3. 레이어 복사가 완료되었습니다.

복사-붙여넣기 단축키 사용법 알아보기 복사-붙여넣기 단축키 사용법 알아보기 Jan 13, 2024 pm 12:27 PM

많은 사용자들이 컴퓨터를 사용하다 보면 복사해서 붙여넣어야 하는 부분이 생기면 마우스로 복사하기가 매우 번거롭습니다. 그렇다면 복사하여 붙여넣기 단축키를 어떻게 사용하는지 자세한 튜토리얼을 살펴보세요~ 단축키 복사 및 붙여넣기 키 사용 방법: 1. 복사 키: Ctrl+C, 복사할 텍스트 또는 이미지를 선택한 후 단축키를 누릅니다. 2. 붙여넣기 키: Ctrl+V 붙여넣고 싶은 곳에서 바로 단축키를 누르면 됩니다.

C#의 일반적인 성능 조정 및 코드 리팩토링 기술과 솔루션 C#의 일반적인 성능 조정 및 코드 리팩토링 기술과 솔루션 Oct 09, 2023 pm 12:01 PM

C#의 일반적인 성능 조정 및 코드 리팩토링 기술과 솔루션 소개: 소프트웨어 개발 프로세스에서 성능 최적화와 코드 리팩토링은 무시할 수 없는 중요한 링크입니다. 특히 C#을 사용하여 대규모 애플리케이션을 개발할 때 코드를 최적화하고 리팩토링하면 애플리케이션의 성능과 유지 관리 가능성을 향상시킬 수 있습니다. 이 문서에서는 몇 가지 일반적인 C# 성능 조정 및 코드 리팩터링 기술을 소개하고 해당 솔루션과 특정 코드 예제를 제공합니다. 1. 성능 튜닝 기술: 적절한 컬렉션 유형 선택: C#은 List, Dict와 같은 다양한 컬렉션 유형을 제공합니다.

Excel에서 테이블을 복사하고 원본 형식을 유지하는 방법은 무엇입니까? Excel에서 테이블을 복사하고 원본 형식을 유지하는 방법은 무엇입니까? Mar 21, 2024 am 10:26 AM

우리는 여러 테이블 데이터를 처리하기 위해 엑셀을 자주 사용하는데, 설정된 테이블을 복사하여 붙여넣은 후 원래 형식이 기본값으로 돌아가므로 이를 재설정해야 합니다. 실제로 엑셀 복사표를 원본 형식으로 유지하는 방법이 있습니다. 구체적인 방법은 아래에서 편집자가 설명해 드리겠습니다. 1. Ctrl 키 드래그 및 복사 작업 단계: 단축키 [Ctrl+A]를 사용하여 모든 테이블 내용을 선택한 다음 움직이는 커서가 나타날 때까지 마우스 커서를 테이블 가장자리로 이동합니다. [Ctrl] 키를 누른 채 테이블을 원하는 위치로 드래그하면 이동이 완료됩니다. 이 방법은 단일 워크시트에서만 작동하며 다른 워크시트 간에 이동할 수 없다는 점에 유의해야 합니다. 2. 선택 붙여넣기 방법: [Ctrl+A] 단축키를 눌러 모든 테이블을 선택하고,

복사단축키 Ctrl에 무엇을 추가해야 하나요? 복사단축키 Ctrl에 무엇을 추가해야 하나요? Mar 15, 2024 am 09:57 AM

Windows 시스템에서 복사할 단축키는 Ctrl+C이고, Linux 시스템에서는 복사할 단축키는 Ctrl+Shift+C입니다. 이러한 바로 가기 키를 알면 사용자의 작업 효율성이 향상되고 텍스트 또는 파일 복사 작업이 쉬워집니다.

Vue에서 드래그 앤 드롭 요소를 복사하고 이동하는 방법은 무엇입니까? Vue에서 드래그 앤 드롭 요소를 복사하고 이동하는 방법은 무엇입니까? Jun 25, 2023 am 08:35 AM

Vue는 편리한 드래그 앤 드롭 기능을 제공하여 요소를 쉽게 복사하고 이동할 수 있는 인기 있는 JavaScript 프레임워크입니다. 다음으로 Vue에서 드래그 앤 드롭 요소를 복사하고 이동하는 방법을 살펴보겠습니다. 1. 드래그 앤 드롭 요소의 기본 구현 Vue에서 드래그 앤 드롭 요소를 복사하고 이동하려면 먼저 해당 요소의 기본 드래그 앤 드롭 기능을 구현해야 합니다. 구체적인 구현 방법은 다음과 같습니다. 템플릿에서 드래그해야 하는 요소를 추가합니다: <divclass="drag-elem"

See all articles