| 포스트그레SQL 8.4.22 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 8.4 : 윈 토토 및 쓰기 로그 | 빠르게 뒤로 | 28장. 젠 토토성 및 미리 쓰기 로그 | 빨리 감기 | 다음 |
젠 토토성은 모든 심각한 데이터베이스의 중요한 속성입니다 시스템 및포스트그레SQL그렇습니다 안정적인 작동을 보장하기 위해 가능한 모든 것. 한 가지 측면 젠 토토할 수 있는 작동의 특징은 커밋된 데이터에 의해 기록된 모든 데이터가 트랜잭션은 안전한 비휘발성 영역에 저장되어야 합니다. 정전, 운영 체제 오류, 하드웨어 오류로 인해 (물론 비휘발성 영역 자체의 고장은 제외) 컴퓨터의 영구 저장소에 데이터를 성공적으로 기록했습니다. (디스크 드라이브 또는 동급)은 일반적으로 이 요구 사항을 충족합니다. 에서 실제로 컴퓨터가 치명적인 손상을 입더라도 디스크 드라이브가 살아남은 경우 유사한 컴퓨터로 다른 컴퓨터로 이동할 수 있습니다. 하드웨어 및 모든 커밋된 트랜잭션은 그대로 유지됩니다.
주기적으로 데이터를 젠 토토 플래터에 강제로 저장하는 동안 간단한 조작처럼 보이지만 그렇지 않습니다. 젠 토토 드라이브는 메인 메모리와 CPU보다 훨씬 느리며, 여러 계층의 컴퓨터의 메인 메모리와 젠 토토 사이에 캐싱이 존재합니다. 플래터. 먼저 운영체제의 버퍼 캐시가 있고, 자주 요청되는 젠 토토 블록을 캐시하고 젠 토토를 결합하는 것 쓴다. 다행스럽게도 모든 운영 체제는 애플리케이션에 버퍼 캐시에서 젠 토토로 쓰기를 강제하는 방법 및PostgreSQL해당 기능을 사용합니다. (참조wal_sync_method이 작업 수행 방법을 조정하는 매개변수입니다.)
다음으로 디스크 드라이브 컨트롤러에 캐시가 있을 수 있습니다. 이것은 특히 일반적입니다.레이드컨트롤러 카드. 이러한 캐시 중 일부 이다연속 쓰기, 즉 쓰기는 다음과 같습니다. 도착하자마자 드라이브에 전달되었습니다. 다른 것들은다시 쓰기, 즉 데이터가 다음으로 전달됨을 의미합니다. 운전은 나중에. 이러한 캐시는 신뢰성이 있을 수 있습니다. 디스크 컨트롤러 캐시의 메모리가 휘발성이며 정전 시 내용이 손실됩니다. 더 나은 컨트롤러 카드가 있음배터리 지원캐시는 카드에 전원을 유지하는 배터리가 있음을 의미합니다. 시스템 전원 손실 시 캐시. 전원이 복구된 후 데이터가 젠 토토 드라이브에 기록됩니다.
그리고 마지막으로 대부분의 디스크 드라이브에는 캐시가 있습니다. 일부는 Write-through이고 일부는 Write-back이며 동일한 문제입니다. 데이터 손실에 대한 정보는 후기입 드라이브 캐시에 존재합니다. 디스크 컨트롤러 캐시. 소비자급 IDE 및 SATA 드라이브는 특히 그렇지 않은 후기입 캐시가 있을 가능성이 높습니다. 정전에서 살아남으십시오. 쓰기 캐싱을 확인하려면리눅스사용hdparm -나; 다음이 있으면 활성화됩니다.*옆에쓰기 캐시. hdparm -W쓰기 캐싱을 끄려면. 켜짐FreeBSD사용atacontrol. (SCSI 디스크의 경우 사용sdparm끄다WCE.) 켜짐솔라리스디스크 쓰기 캐시는 다음에 의해 제어됩니다.형식 -e. ( 솔라리스ZFS파일 시스템은 자체 디스크를 발행하므로 디스크 쓰기 캐시가 활성화되어 안전합니다. 캐시 플러시 명령.) On윈도우ifwal_sync_methodisopen_datasync(기본값), 쓰기 캐싱은 선택을 취소하여 비활성화됨내 컴퓨터\열기\젠 토토 선택 드라이브\Properties\Hardware\Properties\Policies\쓰기 활성화 젠 토토에 캐싱. Windows에서도 마찬가지입니다.fsync그리고fsync_writethrough절대로 캐싱을 쓰지 마세요.fsync_writethrough옵션도 가능합니다. 쓰기 캐싱을 비활성화하는 데 사용됨맥OS 엑스.
운영 체제가 디스크에 쓰기 요청을 보낼 때 하드웨어에서는 데이터가 제대로 작동하는지 확인하기 위해 할 수 있는 일이 거의 없습니다. 진정한 비휘발성 저장 영역에 도착했습니다. 오히려 그것은 모든 저장 공간이 제대로 작동하는지 확인하는 것은 관리자의 책임입니다. 구성 요소는 데이터 무결성을 보장합니다. 다음과 같은 디스크 컨트롤러를 피하세요. 배터리로 지원되지 않는 쓰기 캐시가 있습니다. 드라이브 수준에서 비활성화 드라이브가 데이터를 보장할 수 없는 경우 후기입 캐싱 종료 전에 작성되었습니다.
젠 토토 플래터 쓰기로 인한 또 다른 데이터 손실 위험이 있습니다. 운영 자체. 젠 토토 플래터는 섹터로 구분되며, 일반적으로 각각 512바이트입니다. 모든 물리적 읽기 또는 쓰기 작업 전체 부문을 처리합니다. 쓰기 요청이 도착하면 드라이브의 경우 512바이트, 1024바이트 또는 8192바이트일 수 있습니다. 언제든지 정전으로 인해 쓰기 프로세스가 실패할 수 있습니다. 즉, 512바이트 섹터 중 일부가 기록되었고 다른 섹터는 기록되었습니다. 그렇지 않았습니다. 그러한 실패를 방지하기 위해,PostgreSQL정기적으로 전체 페이지를 씁니다. 이미지를 영구 저장소로 저장이전실제 페이지 수정 중 젠 토토. 이렇게 하면 충돌 복구 중에PostgreSQL부분적으로 작성된 복원 가능 페이지. 배터리로 지원되는 디스크 컨트롤러가 있거나 부분적인 페이지 쓰기를 방지하는 파일 시스템 소프트웨어(예: ReiserFS 4), 다음을 사용하여 이 페이지 이미징을 끌 수 있습니다.full_page_writes매개변수.
| PostgreSQL : 문서 : 8.4 : 윈 토토 및 쓰기 로그 | 집 | 다음 |
| 젠 토토성과 미리 쓰기 로그 | 위로 | 미리 쓰기 로깅(WAL) |