레디 스 AOF 및 RDB

레디 스 AOF 및 RDB

    레디 스가 메모리 데이터베이스입니다, 정전 후 손실되지 않도록 데이터를 보장하기 위해, 당신은 하드 디스크에 메모리에 데이터를 유지해야합니다.

RDB 지속성

특정 시간에 모든 데이터 포인트는 하드 디스크에 저장됩니다

동일한 데이터 서버의 복사본을 생성하기 위해 다른 서버에 스냅 샷을 복사 할 수 있습니다

시스템이 실패 할 경우 마지막 스냅 샷이 생성 된 후, 데이터가 손실됩니다

많은 양의 데이터는 매우 오랜 시간의 스냅 샷을 저장하는 경우

AOF 지속성

AOF 파일의 마지막에 쓰기 명령의 (만 파일을 추가)

이에 따라 쓰기 명령의 타이밍이 디스크에 파일을 동기화 보장, 동기화 옵션을 설정 AOF 지속적인 필요성을 사용합니다. 파일이 즉시 내용이 디스크에 동기화됩니다 빨려하지 않지만, 디스크에 동기화 할 때 버퍼에 먼저 저장 한 후 운영 체제가 결정되기 때문이다. 다음 동기화 옵션 :

옵션

동기화 주파수

항상

각각의 쓰기 명령이 동기화됩니다

everysec

초당 한 번 동기화

아니

동기화 할시기를 결정하기 위해 운영 체제를하자

항상 옵션은 심각하게 서버의 성능을 감소시킬 것이다

everysec 옵션은 시스템이 충돌하면 약 1 초 데이터를 손실 보장 할 수 있습니다, 그리고 레디 스 매초마다 동기화를 서버에 거의 영향을 실행되지, 더 적합;

어떤 옵션은 많은 개선을 가져올뿐만 아니라 데이터 손실을 충돌 시스템의 수를 증가하기 위해 서버를 제공하지 않습니다.

서버 서면 요청의 증가와 함께, AOF 파일이 증가 할 것이다. 레디 스는 AOF의 재 작성의 특성, 당신은 중복 AOF 파일 쓰기 명령을 제거 할 수 있습니다.

 

 

 

RDB :

레디 스의 주요 프로세스는 포크 자식 프로세스를 자식 프로세스가 지속적으로 디스크 IO 작업을 수행 할 수 있도록.

RDB는, 임시 파일에 데이터를 쓸 지속성이 끝난 후, 지속성 임시 파일로 이전 파일을 대체, 데이터 파일 레디 스의 특정 시점의 데이터를 나타냅니다.

이 기간 내에 영구 데이터가 손실 된 경우, RDB는 실패의 레디 스의 지속성에 대한 시간 지연이 당신이 의존하는 경우 (RDB의 가장 큰 단점은, 첫 번째 우선 순위로 이어지는 것은, 복구 프로그램에 적합하지 않습니다 RDB, 그것은) 더 많은 데이터 손실로 이어질 것 우선 복구 프로그램을한다.

왜 아이가 무엇입니까?

주 처리는 클라이언트 요청에 응답하지 않도록 (주로 고려 레디 스 성능 중, (1) 레디 스 RDB 지속성 메커니즘은 메인 프로세스를 차단한다. 작업 모델 (2) 레디 스 클라이언트 요청에 대한 응답이 하나의 프로세스와 싱글 당신이 차 프로세스에서 스레드를 시작하면 스레드는이 잠금 장치의 사용을 방지하기 위해 성능을 저하, 데이터에 경쟁 상태가 발생합니다. 두 개 이상의 점 레디 스가에 따라 프로세스)를 시작하여 RDB를 수행하는 이유는

   

AOF :

, 형식 지침의 방법으로 "운영 데이터 +"추가 (추가, 순차 쓰기 디스크, 디스크 없음 : AOF 만 "변화 행동"(세트 / 델, 등 등)을 기록하는 간단한 로그 파일로 간주됩니다 ) 오버 어드레싱하므로 효율이 추가 작업 복귀 후 작업 로그 파일 (보통 초당 한번 설정)의 단부에) 아주 높은 (또는 기록 될 파일에 기록되어, 단지 실제 데이터 변경. "로그 파일"모든 작업 이력을 저장, 서버가 데이터 복구를 필요로 할 때, 직접 재생이 로그 파일, 당신은 모든 동작을 복원 할 수 있습니다.
그러나 AOF는 RDB 파일보다 큰 파일 및 복구 속도가 느립니다.

파일 AOF AOF 파일이 너무 큰 경우, 당신은 BGREWRITEAOF 명령을 사용할 수 있습니다 (BGrewriteAOF), 최적화

 

 

 

 

 

 

추천

출처www.cnblogs.com/kexinxin/p/11795790.html