Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
스포츠 토토 베트맨 : 문서 : 9.3 : 쓰기 호위 (WAL) | 사설 토토 : 문서 : 9.3 : 신뢰성과 쓰기 로그 | 29 장. 신뢰성 및 쓰기 전달 로그 | 사설 토토 : 문서 : 9.3 : WAL 구성 |
비동기 스포츠 토토옵션입니다 비용으로 거래가 더 빨리 완료 될 수 있습니다. 데이터베이스가 충돌 해야하는 경우 가장 최근의 트랜잭션이 손실 될 수 있습니다. 많은 응용 프로그램에서 이것은 허용 가능한 트레이드 오프입니다.
이전 섹션에서 설명한대로 트랜잭션 스포츠 토토입니다 보통동기: 서버가 기다립니다 거래Wal레코드 성공을 거두기 전에 영구 저장소로 플러시됩니다 클라이언트에 대한 표시. 따라서 고객은 a 저지른 것으로보고 된 거래는 즉시 서버 충돌 사건. 그러나 짧게 거래이 지연은 총계의 주요 구성 요소입니다. 거래 시간. 비동기 스포츠 토토 모드를 선택한다는 것은 트랜잭션이 논리적으로 되 자마자 서버가 성공을 반환합니다. 완료, 전에WAL생성 된 기록은 실제로 디스크로 향했습니다. 이것은 할 수 있습니다 소규모에 대한 처리량을 크게 향상시킵니다 업무.
비동기 스포츠 토토은 데이터 손실의 위험을 소개합니다. A가 있습니다 거래 완료 보고서 사이의 짧은 시간 창 고객과 거래가 진정으로 저지른 시간 (즉, 서버가 충돌하면 손실되지 않도록 보장됩니다). 따라서 클라이언트가 취하는 경우 비동기 스포츠 토토을 사용해서는 안됩니다. 외부 조치는 거래라고 가정합니다 기억 될 것입니다. 예를 들어, 은행은 확실히 사용하지 않을 것입니다 ATM의 분배를 기록하는 거래에 대한 비동기 스포츠 토토 현금. 그러나 이벤트 로깅과 같은 많은 시나리오에서 이런 종류의 강력한 보증이 필요합니다.
비동기 스포츠 토토을 사용하여 취할 위험은 데이터입니다. 데이터 손실이 아닙니다. 데이터베이스가 충돌 해야하는 경우 재생으로 복구Wal최대 플러시 된 마지막 레코드. 따라서 데이터베이스가 될 것입니다 일관된 상태로 회복되었지만 모든 거래 디스크에 아직 플러시되지 않은 것은 해당 상태에 반영되지 않습니다. 그만큼 따라서 순 효과는 마지막 몇 번의 트랜잭션의 손실입니다. 왜냐하면 거래는 스포츠 토토 순서로 재생되며 불일치는 예를 들어, 트랜잭션 B가 변경 한 경우, 이전 트랜잭션 A의 효과에 대해 B의 효과가 보존되는 동안 A의 효과가 손실 될 것입니다.
사용자는 각 트랜잭션의 커밋 모드를 선택하여 동기식 및 비동기 스포츠 토토을 모두 가질 수 있습니다. 동시에 실행되는 거래. 이를 통해 유연한 트레이드 오프가 가능합니다 성능과 거래 내구성의 확실성 사이. 그만큼 커밋 모드는 사용자가 설치 가능한 매개 변수에 의해 제어됩니다synchronous_commit, 구성이 어떤 방식 으로든 변경할 수 있습니다. 매개 변수를 설정할 수 있습니다. 하나의 트랜잭션에 사용되는 모드는 달라집니다 의 가치에synchronous_commit언제 거래 스포츠 토토이 시작됩니다.
예를 들어 특정 유틸리티 명령드롭 테이블는 이에 관계없이 동기식으로 커밋해야합니다 설정synchronous_commit. 이것은입니다 서버의 파일 시스템과 논리 사이의 일관성을 보장합니다. 데이터베이스 상태. 2 단계 스포츠 토토을 지원하는 명령, 와 같은거래 준비도 있습니다 항상 동시에.
위험 창에서 데이터베이스가 충돌하는 경우 비동기 스포츠 토토 및 거래의 글쓰기WAL기록, 변경 사항 그 거래 중에Will손실됩니다. 의 지속 시간 배경 프로세스 (이므로 위험 창이 제한되어 있습니다."Wal Writer") Flushes writtenWal매번 디스크에 대한 레코드Wal_writer_delay밀리 초. 위험 창의 실제 최대 기간은 다음과 같습니다 세 번Wal_writer_delayWal Writer는 한 번에 전체 페이지 작성을 선호하도록 설계되었습니다. 바쁜 기간 동안.
주의 |
즉시 모드 종료는 서버 충돌과 동일하며 따라서 플러시되지 않은 비동기식의 손실을 유발합니다 커밋. |
비동기 스포츠 토토은 설정과 다른 동작을 제공합니다fsync= Off.fsync는 서버 전체 설정입니다 모든 거래의 동작을 변경하십시오. 모든 논리를 비활성화합니다 이내에PostgreSQL데이터베이스의 다른 부분에 동기화됩니다 따라서 시스템 충돌 (즉, 하드웨어 또는 운영 체제 충돌, 실패가 아닌PostgreSQL자체) 데이터베이스의 임의로 부패가 발생할 수 있습니다. 상태. 많은 시나리오에서 비동기 스포츠 토토은 대부분을 제공합니다 끄면 얻을 수있는 성능 향상fsync그러나 데이터의 위험이 없습니다 부패.
Commit_Delay또한 비동기 스포츠 토토과 매우 비슷한 소리를냅니다. 그러나 실제로는 동기 커밋 방법 (실제로Commit_Delay는 비동기식 중에 무시됩니다 저지르다).Commit_Delay만 지연을 일으킨다 거래가 홍조되기 전에Wal디스크로, 단일 플러시가 그와 같은 단일 플러시 거래는 또한 약한 다른 거래에 서비스를 제공 할 수 있습니다 동시. 설정은 증가하는 방법으로 생각할 수 있습니다. 거래가 그룹에 가입 할 수있는 시간 창 플러시 비용을 상각하기 위해 단일 플러시에 참여 여러 거래 중.
이전 | 배트맨 스포츠 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
쓰기 로깅 (WAL) | 사설 토토 : 문서 : 9.3 : 신뢰성과 쓰기 로그 | Wal구성 |