젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
메이저 토토 사이트QL : 문서 : 9.6 : 논리적 메이저 토토 사이트 메이저 토토 사이트 | PostgreSQL : 문서 : 9.6 : 토토 결과 디코딩 | 47 장. 젠 토토 디코딩 | PostgreSQL : 문서 : 9.6 : 스트리밍 토토 캔 프로토콜 인터페이스 |
젠 토토 디코딩은 데이터베이스 테이블의 모든 지속적인 변경 사항을 데이터베이스의 내부 상태에 대한 자세한 지식없이 해석 할 수있는 일관성 있고 이해하기 쉬운 형식으로 추출하는 과정입니다.
inPostgreSQL, 젠 토토 디코딩은의 내용을 디코딩하여 구현됩니다.사설 토토 사이트 : 문서 : 9.6 : 신뢰성 및 쓰기 로그, 스토리지 수준의 변경 사항을 튜플 스트림 또는 SQL 문과 같은 응용 프로그램 별 형태로 설명하는 9141_9267 |
젠 토토적 복제의 맥락에서 슬롯은 원래 서버에서 작성된 순서대로 클라이언트에게 재생할 수있는 변경 스트림을 나타냅니다. 각 슬롯은 단일 데이터베이스에서 일련의 변경을 스트리밍합니다.
참고 : PostgreSQL스트리밍 복제 슬롯도 있습니다 (참조섹션 26.2.5), 그러나 그것들은 다소 다르게 사용됩니다.
복제 슬롯에는 A의 모든 데이터베이스에서 고유 한 식별자가 있습니다.PostgreSQL클러스터. 슬롯은 그것들을 사용하여 연결과 독립적으로 지속되며 충돌 안전입니다.
젠 토토 슬롯은 정상 작동에서 각 변경 사항을 한 번만 방출합니다. 각 슬롯의 현재 위치는 체크 포인트에서만 유지되므로 충돌의 경우 슬롯이 이전 LSN으로 돌아올 수 있으므로 서버가 다시 시작될 때 최근 변경 사항이 다시 전송됩니다. 젠 토토적 디코딩 클라이언트는 동일한 메시지를 두 번 이상 처리하여 악영향을 미치지 않습니다. 클라이언트는 디코딩 할 때 본 마지막 LSN을 기록하고 반복 된 데이터를 건너 뛰거나 (복제 프로토콜을 사용할 때) 서버가 시작점을 결정하게하기보다는 해당 LSN에서 디코딩을 요청하도록 요청할 수 있습니다. 복제 진행 추적 기능은이 목적을 위해 설계되었습니다. 참조43사설 젠 토토19.
단일 데이터베이스에는 다중 독립 슬롯이 존재할 수 있습니다. 각 슬롯에는 자체 상태가있어 다른 소비자가 데이터베이스 변경 스트림에서 다른 지점에서 변경 사항을받을 수 있습니다. 대부분의 응용 분야의 경우 각 소비자에게 별도의 슬롯이 필요합니다.
젠 토토적 복제 슬롯은 수신기의 상태에 대해 아무것도 모른다. 다른 시간에 동일한 슬롯을 사용하여 여러 다른 수신기를 가질 수도 있습니다. 마지막 수신기가 소비를 중단했을 때부터 변경 사항을 얻을 수 있습니다. 주어진 시간에 하나의 수신기 만 슬롯에서 변경 사항을 소비 할 수 있습니다.
참고 :복제 슬롯은 충돌 전반에 걸쳐 지속되며 소비자의 상태에 대해 아무것도 모릅니다. 연결이없는 경우에도 필요한 리소스의 제거를 방지합니다. 시스템 카탈로그에서 필요한 행이나 필요한 행을 제거 할 수 없기 때문에 스토리지가 소비됩니다.진공복제 슬롯에 요구되는 한. 따라서 슬롯이 더 이상 필요하지 않으면 삭제해야합니다.
출력 플러그인은 Write-Ahead Log의 내부 표현에서 데이터를 복제 슬롯 욕구의 소비자 형식으로 변환합니다..
스트리밍 복제 인터페이스를 사용하여 새 복제 슬롯이 생성되면 스냅 샷이 내보내는 경우 (참조섹션 9.26.5)는 데이터베이스의 상태를 정확하게 표시하여 모든 변경 사항이 변경 스트림에 포함됩니다. 이것은 사용하여 새로운 복제본을 만드는 데 사용될 수 있습니다PostgreSQL :슬롯이 생성 된 순간 데이터베이스 상태를 읽으십시오. 그런 다음이 트랜잭션을 사용하여 해당 시점에서 데이터베이스 상태를 덤프하는 데 사용될 수 있으며, 그 후에는 변경 사항을 잃지 않고 슬롯의 내용을 사용하여 업데이트 할 수 있습니다..