| PostgreSQL 9.2.24 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 25장. 고가용성, 부하 분산 및 복제 | PostgreSQL : 문서 : 9.2 : 로그-선집 윈 토토 서버 | |
공유 디스크 장애 조치는 다음을 통해 동기화 오버헤드를 방지합니다. 데이터베이스 복사본이 하나만 있습니다. 단일 디스크를 사용합니다. 여러 서버가 공유하는 배열입니다. 메인이라면 데이터베이스 서버에 장애가 발생하면 대기 서버를 마운트할 수 있습니다. 마치 데이터베이스를 복구하는 것처럼 데이터베이스를 시작합니다. 데이터베이스 충돌. 이를 통해 데이터 없이 신속한 장애 조치가 가능합니다. 손실.
공유 하드웨어 기능은 네트워크에서 일반적입니다. 저장 장치. 네트워크 파일 시스템을 사용하는 것도 가능하지만 파일 시스템이 가득 찼습니다POSIX행동 (보다섹션 17.2.2). 이 방법의 한 가지 중요한 제한 사항은 공유 디스크 어레이가 실패하거나 손상되면 기본 서버와 대기 서버가 모두 작동하지 않습니다. 또 사설 토토 문제는 대기 서버가 절대로 액세스해서는 안 된다는 것입니다. 기본 서버가 실행되는 동안 공유 스토리지입니다.
공유 하드웨어 기능의 수정된 버전은 다음과 같습니다. 파일 시스템 복제(파일 시스템의 모든 변경 사항이 다른 컴퓨터에 있는 파일 시스템에 미러링됩니다. 유일한 제한은 미러링이 다음에서 수행되어야 한다는 것입니다. 대기 서버에 일관된 복사본이 있도록 보장하는 방법 파일 시스템 - 구체적으로 대기 시스템에 기록 마스터와 동일한 순서로 수행되어야 합니다.DRBD인기 있는 파일입니다. Linux용 시스템 복제 사설 토토입니다.
웜 및 핫 스탠바이 서버는 다음을 통해 최신 상태로 유지될 수 있습니다. 미리 쓰기 로그 스트림을 읽는 중(WAL) 레코드입니다. 메인서버에 장애가 발생한 경우 스탠바이에는 메인의 거의 모든 데이터가 포함되어 있습니다. 새로운 마스터 데이터베이스로 빠르게 만들 수 있습니다. 섬기는 사람. 이는 동기식일 수도 있고 비동기식일 수도 있으며 전체 데이터베이스 서버에 대해서만 수행됩니다.
대기 서버는 파일 기반 로그를 사용하여 구현 가능 배송 (섹션 25.2) 또는 스트리밍 복제(참조섹션 25.2.5) 또는 둘의 조합입니다. 에 대한 정보는 핫 스탠바이, 참조와이즈 토토 : 문서 : 9.
마스터-대기 복제 설정이 모든 데이터를 보냅니다. 마스터 서버에 수정 쿼리를 보냅니다. 마스터 서버는 비동기적으로 데이터 변경 사항을 대기 서버에 보냅니다. 섬기는 사람. 대기는 읽기 전용 쿼리에 응답할 수 있지만 마스터 서버가 실행 중입니다. 대기 서버는 다음과 같은 경우에 이상적입니다. 데이터 웨어하우스 쿼리.
슬로니-I예시입니다 이러한 유형의 복제는 테이블별로 세분화되어 있으며, 여러 대기 서버를 지원합니다. 왜냐하면 그것은 대기 서버를 비동기식으로(일괄적으로) 업데이트합니다. 장애 조치 중에 데이터 손실이 발생할 수 있습니다.
문 기반 복제 미들웨어를 사용하는 프로그램 모든 SQL 쿼리를 가로채어 하나 또는 모두에게 보냅니다. 서버. 각 서버는 독립적으로 운영됩니다. 읽기-쓰기 쿼리는 모든 서버로 전송되어야 합니다. 모든 변경 사항을 받습니다. 그러나 읽기 전용 쿼리는 다음으로 보낼 수 있습니다. 단 하나의 서버로 읽기 작업 부하를 그들 사이에 분배되었습니다.
쿼리가 수정되지 않은 채 단순히 브로드캐스트되는 경우, 기능은
좋다무작위(), CURRENT_TIMESTAMP및 시퀀스는 다음을 가질 수 있습니다.
서버마다 값이 다릅니다. 이는 각각의
서버는 독립적으로 작동하며 SQL 쿼리는
브로드캐스트(실제로 수정된 행이 아님) 이것이라면
허용되지 않습니다. 미들웨어나 애플리케이션 중 하나는 다음과 같습니다.
단일 서버에서 이러한 값을 쿼리한 다음 해당 값을 사용합니다.
쓰기 쿼리의 값. 또 다른 옵션은 이것을 사용하는 것입니다
기존 마스터-대기 설정을 사용한 복제 옵션
즉, 데이터 수정 쿼리는 마스터에게만 전송됩니다.
다음을 통해 대기 서버로 전파됩니다.
복제가 아닌 마스터-대기 복제
미들웨어. 또한 모든 거래가
아마도 다음을 사용하여 모든 서버에서 커밋하거나 중단할 수 있습니다.
2단계 커밋(거래 준비그리고PostgreSQL : 문서 : 9.2 : 토토 사이트 추천).
Pgpool-II그리고연속 텅스텐다음의 예입니다.
이러한 유형의 복제입니다.
다음과 같이 정기적으로 연결되지 않는 서버의 경우 노트북이나 원격 서버 간에 데이터 일관성을 유지합니다. 서버는 도전입니다. 비동기 멀티마스터 사용 복제, 각 서버는 독립적으로 작동하며 주기적으로 다른 서버와 통신하여 충돌하는 거래를 식별합니다. 갈등은 다음과 같습니다. 사용자 또는 충돌 해결 규칙에 따라 해결됩니다. 부카르도는 이러한 복제 유형의 예입니다.
동기식 멀티마스터 복제에서 각 서버는 다음을 수행할 수 있습니다.
쓰기 요청을 수락하고 수정된 데이터가 전송됩니다.
원래 서버에서 각 서버 이전의 다른 모든 서버로
트랜잭션 커밋. 과도한 쓰기 활동으로 인해 다음이 발생할 수 있습니다.
과도한 잠금으로 인해 성능이 저하됩니다. 사실은,
쓰기 성능은 종종 단일 쓰기 성능보다 나쁩니다.
섬기는 사람. 읽기 요청은 모든 서버로 전송될 수 있습니다. 일부
구현에서는 공유 디스크를 사용하여 통신을 줄입니다.
간접비. 동기식 멀티마스터 복제는 다음 경우에 가장 적합합니다.
대부분 읽기 작업 부하이지만 가장 큰 장점은
서버는 쓰기 요청을 수락할 수 있습니다. — 그럴 필요가 없습니다.
마스터 서버와 대기 서버 간의 작업 부하 분할
데이터 변경 사항이 한 서버에서 다른 서버로 전송되기 때문에
또 다른 하나는 비결정론에는 문제가 없습니다.
다음과 같은 함수무작위().
PostgreSQL하지 않습니다 하지만 이러한 유형의 복제를 제공합니다.PostgreSQL2단계 커밋(거래 준비그리고PostgreSQL : 문서 : 9.2 : 토토 사이트 추천) 수 애플리케이션 코드에서 이를 구현하는 데 사용되거나 미들웨어.
왜냐하면포스트그레SQL이다 오픈 소스이며 쉽게 확장할 수 있으며 많은 회사에서 촬영됨포스트그레SQL그리고 독창적인 상용 폐쇄 소스 솔루션을 만들었습니다. 장애 조치, 복제 및 로드 밸런싱 기능.
테이블 25-1다양한 사설 토토의 기능을 요약합니다. 위에 나열되어 있습니다.
표 25-1. 고가용성, 로드 밸런싱, 및 복제 기능 매트릭스
| 특징 | 공유 디스크 장애 조치 | 파일 시스템 복제 | 거래 로그 전달 | 트리거 기반 마스터-대기 복제 | 문 기반 복제 미들웨어 | 비동기 멀티마스터 복제 | 동기식 멀티마스터 복제 |
|---|---|---|---|---|---|---|---|
| 가장 일반적인 구현 | NAS | DRBD | 스트리밍 담당자. | 슬로니 | pgpool-II | 부카르도 | |
| 통신 방법 | 공유 디스크 | 디스크 블록 | WAL | 테이블 행 | SQL | 테이블 행 | 테이블 행 및 행 잠금 |
| 특수 하드웨어가 필요하지 않습니다. | • | • | • | • | • | • | |
| 여러 마스터 서버 허용 | • | • | • | ||||
| 마스터 서버 오버헤드 없음 | • | • | • | ||||
| 여러 서버를 기다리지 않음 | • | 동기화 꺼짐 | • | • | |||
| 마스터 실패는 데이터를 잃지 않습니다. | • | • | 동기화 켜짐 | • | • | ||
| 대기에서 읽기 전용 쿼리 허용 | 뜨거운 | • | • | • | • | ||
| 테이블별 세분성 | • | • | • | ||||
| 충돌 해결이 필요하지 않습니다. | • | • | • | • | • |
위의 내용에 맞지 않는 몇 가지 사설 토토이 있습니다 카테고리:
데이터 분할은 테이블을 데이터 세트로 분할합니다. 각 세트 하나의 서버에서만 수정할 수 있습니다. 예를 들어 데이터는 다음과 같습니다. 런던과 파리 등 사무실별로 구분되어 있습니다. 각 사무실에 서버가 있습니다. 런던과 파리 데이터가 필요하며 애플리케이션은 두 데이터를 모두 쿼리할 수 있습니다. 서버 또는 마스터/대기 복제를 사용하여 각 사무실에 있는 다른 사무실 데이터의 읽기 전용 복사본 섬기는 사람.
위의 사설 토토 중 다수는 여러 서버를 허용합니다. 여러 쿼리를 처리하지만 단일 쿼리는 허용하지 않습니다. 더 빠르게 완료하려면 여러 서버를 사용하세요. 이 사설 토토 여러 서버가 단일 시스템에서 동시에 작동할 수 있도록 합니다. 질문. 일반적으로 데이터를 분할하여 수행됩니다. 서버들 사이에서 각 서버가 자신의 일부를 실행하도록 함으로써 쿼리하고 결과를 중앙 서버로 반환합니다. 결합되어 사용자에게 반환됩니다.Pgpool-II이 기능이 있습니다. 또한, 이는 다음을 사용하여 구현할 수 있습니다.PL/프록시도구 세트.