분리 문제 쓰기 mysql을 분석

방법을 읽어와 MySQL의 쓰기 분리하는?

마스터 - 슬레이브 복제 아키텍처를 기반으로, 짧은에, 라이브러리에서 더 걸려, 주요 도서관에 종사하고 우리는 단지 주요 도서관과 자동으로 동기화 데이터에 대한 라이브러리에서 갈 것입니다 주요 라이브러리를 작성합니다.

 

MySQL의 마스터 - 슬레이브 복제 원칙은 유효합니까?

중앙 도서관은 쓰기 변경됩니다 바이너리 로그 로그를 , 다음 주 라이브러리에 라이브러리에서 연결 한 후, 라이브러리는 IO 스레드가 릴레이 로그에 기록 된 로컬 복사본의 주요 라이브러리 바이너리 로그 로그를 .

  그런 다음 SQL 스레드에서 라이브러리 바이너리 로그에서 릴레이 로그를 읽은 다음이 내용 바이너리 로그 로그 실행 메인 라이브러리 데이터 자신이 동일한 지 확인 할 수 있도록, 다시 한 번 자신의 로컬 SQL 실행에있다.

  있는 매우 중요한 점,이 직렬화 된 중앙 도서관 데이터베이스 동기화 프로세스 데이터에서 주요 라이브러리의 병렬 운전이 라이브러리가 직렬에서 실행됩니다 말을하는 것입니다.

  높은 동시성 시나리오 하에서 라이브러리에서 주요 라이브러리 및 직렬 복사 로그의 SQL 수행 특성 때문에 느린 주 저장 바인딩 라이브러리 데이터가 지연된다.

  그래서 종종, 단지 기본 데이터베이스에 기록 된 데이터를 읽을 수 밀리 초 또는 밀리 초 수백 수십 이상으로, 읽을되지 않을 수 있습니다.

 

  그리고 기본 데이터베이스가 갑자기 다운되면,뿐 아니라 데이터 라이브러리에 동기화 된 경우, 또 다른 문제가있다, 일부 데이터는 라이브러리에서하지 않을 수 있습니다, 일부 데이터가 손실 될 수 있습니다.

  지연 문제점을 해결하기 위해 병렬 복사본, 마스터 - 슬레이브 동기화, 그래서 MySQL은 실제로 한 두 가지 메커니즘, 세미 동기 복제 데이터 손실 문제를 해결하기 위해 사용되는 주요 라이브러리가있다.

 

  이 소위 반 동기화, 반 동기화 복사, 로그를 작성 후 기본 데이터베이스 바이너리 로그를 의미,이 시간은 즉시 다음, 로컬 릴레이 로그 후 로그를 작성하는 라이브러리에서, 라이브러리에서 동기화 데이터를 강요 당할 것이다 ACK 쓰기 작업이 완료된 후 중앙 도서관에 ACK가, 중앙 도서관은 도서관에서 적어도 하나를 수신 반환 생각합니다.

  다중 스레드, 병렬 읽기 릴레이 로그 로그 다른 라이브러리에서 오픈 라이브러리를 참조 병렬 복사 소위, 다음 라이브러리 수준의 병렬 처리 인 다른 라이브러리, 병렬로 로그를 재생.

 

 

MySQL의 마스터 - 슬레이브 동기화 지연 문제

쇼 상태, Seconds_Behind_Master은, 당신은 몇 밀리 초 뒤에 라이브러리에서 데이터를 복사 할 수있는 중앙 도서관을 볼 수 있습니다

  예를 들어, 찾을 수있다 MySQL의 마스터 - 슬레이브 아키텍처를 사용 후 바로 결과를 데이터웨어 하우징을 찾지 못했습니다 쓰기

  일반 시간이 중요한 데이터가 어떤 장면 아래로 MySQL의 마스터 - 슬레이브 동기화, 너무 높지 않을 때이 MySQL은 마스터 - 슬레이브 동기화를 사용하는 것이 좋습니다 사실 좋은, 일반적인 조언은 훨씬 더 쓰기보다는 읽기와 시간을 읽는 것입니다 그래서

  이번에는 우리가 고려할 수있는 것은 당신이 MySQL의 병렬 복사본을 사용할 수 있다는 것입니다, 그러나 문제는 라이브러리 수준의 병렬 처리, 그래서 때로는 역할이 큰되지 않는 것입니다

  그 뜻을 보증 직후 쓴 당신은 바의 데이터를 읽을 수 확실히 당신을 보장 할 수 있도록 강제 읽기 중앙 도서관의 방법으로, 현장에서 찾을 수 있습니다. 사실, 어떤 데이터베이스와 문제 미들웨어 없습니다.

 

일반적으로, 더 심각한 경우 마스터에서 지연

  서브 라이브러리 네 가지 주요 라이브러리로 마스터 라이브러리 분할 500 / S, 이러한 시간 지연은 마스터로부터 무시할 기본 라이브러리 각각 동시 쓰기

  쓰기 동시에 MySQL의 지원을 라이브러리가 특히 높은 동시 쓰기는 병렬 복제, 다중 병렬 라이브러리 복사, 단일 라이브러리를 열고는 2000 년 / s의 복사, 또는 의미하는 평행했다. (28) 법은 매우 자주 말을 몇 주문 테이블, 2000 년에 작성된 것입니다 / s의, 다른 테이블 10 / s의 수십.

  

  삽입 할 필요가 실제로있는 경우, 즉시 우리는 즉시 뭔가 직접 주요 데이터베이스 쿼리에 연결 설정을 할 설정해야합니다,로 문의 주시기 바랍니다. 이 방법을 권장하지 않습니다, 당신은 읽기 및 쓰기 분리가 손실 의미에서 결과 그렇게

추천

출처www.cnblogs.com/ft-greate/p/12355186.html