Redis - Persistence 란?

     

     

     

    이번 포스팅에서는 Redis의 Persistence에 대해서 알아보도록 하겠습니다.

     

     

     

     

       Redis 이전글

     

     

     

     

    https://server-talk.tistory.com/471 - Redis - In-Memory - 알아보기​

     

     

    https://server-talk.tistory.com/472 - Redis - 서버 설치 및 기본설정 알아보기

     

     

    https://server-talk.tistory.com/473 - Redis - Redis-cli 기본 사용법

     

     

    https://server-talk.tistory.com/474 - Redis - Redis Desktop Manager Tool

     

     

    https://server-talk.tistory.com/475 - phpredis 설치 알아보기

     

     

     

     

       Redis Persistence 란?

     

     

     

     

     

     

     

     

    Redis 는 데이터를 디스크에 저장하지 않고 메모리에 저장하여 서버의 전원이 꺼지게 되면 모든 데이터가 삭제됩니다.

     

    이러한 문제를 해결하기 위해 메모리에 저장되어 있는 Redis 의 데이터를 디스크로 백업하는 기능을 지원하며 이러한 기능을 AOF 방식과 RDB 방식이 있습니다.

     

     

     

     

       Redis - Persistence AOF 방식

     

     

     

     

    AOF 방식은 입력, 수정, 삭제의 명령을 실행할 때마다 LOG 파일에 저장하게 되며, 서버가 재시작될 때 LOG 파일의 기록된 데이터를 실행하여 데이터를 복구할 수 있습니다.

     

     

     

    1. AOF 장점

     

    1) 실시간 데이터를 저장

     

     

    입력, 수정 삭제의 명령을 실행될 때마다 LOG 파일에 기록하게 되므로 실시간 데이터를 백업할 수 있습니다.

     

     

     

    2) 데이터 저장 속도

     

     

     

    AOF 방식은 입력, 수정, 삭제의 명령을 실행 기록을 그대로 로그파일 하단에 저장하기 때문에 저장 속도도 빠르고 데이터 손실이 거의 없습니다.

     

     

     

    3. 복원 데이터 정보 수정

     

     

     

    AOF 방식은 입력, 수정, 삭제의 명령을 실행 기록을 그대로 로그파일 하단에 저장하기 기록된 명령어를 수정하고 복원할 수 있습니다 예로 Redis 운영 시 실수로 모든 데이터를 삭제한 경우 AOF 파일에 기록된 명령을 수정하고 복원할 수 있습니다.

     

     

     

    2. AOF 단점

     

    1) 로그파일의 크기의 증가

     

    AOF 방식은 입력, 수정, 삭제의 명령을 실행 기록을 그대로 로그파일 기록하게 되므로 로그파일의 크기가 굉장히 커질 수 있습니다.

     

     

     

    2) 데이터 복구 속도

     

     

    AOF 방식은 입력, 수정, 삭제의 명령을 실행 기록을 그대로 로그파일 기록하게 되므로 로그파일의 크기가 커서 데이터 복원 소요시간이 깁니다.

     

     

     

     

       Redis - Persistence RDB 방식

     

     

     

     

     

    Redis 에서 RDB 방식은 운영 중인 데이터를 압축된 크기로 저장하는 방식입니다.

     

     

     

    1. RDB 장점

     

    1) 데이터의 크기

     

     

    RDB 방식은 Redis 의 운영 중인 데이터를 그대로 압축하여 저장하기 때문에 데이터의 크기가 작습니다.

     

     

     

     

    2) 데이터 복구 속도

     

     

     

    RDB 방식은 크기도 작고 단일 파일이므로 복구속도가 빠릅니다.

     

     

     

    1. RDB 단점

     

    1) 실시간 데이터 저장

     

     

    RDB 방식은 Redis 운영 중인 전체 데이터를 시스템 관리자가 지정한 시간의 백업을 진행하여 실시간 데이터로 백업이 어렵습니다.

     

     

     

    2) 데이터 백업 속도

     

     

     

    RDB 방식은 Redis 운영중인 전체 데이터를 백업하는 하므로 시간이 오래걸립니다.

     

     

     

    3) 데이터 손실 우려

     

     

     

     

    RDB 방식은 데이터를 백업하는 과정 중 서버가 다운이 되면 데이터가 사라지게 됩니다.

     

     

     

       Redis - AOF와 RDB 활용법

     

     

    Persistence의 AOF는 데이터 손실을 최소화하는 경우 사용되며, RDB는 장애 발생 시 짧은 시간에 데이터 손실이 발생하여도 될 경우 사용됩니다.

     

     

     

     

     

    Redis에서 RDB와 AOF의 장/단점으로 인해 2가지 방식 모두 사용하는 경우가 있으며, RDB로는 주기적으로 백업을 하며 RDB 백업 기준으로 AOF 로그를 초기화하여 시간절약과 실시간 데이터를 유지하는 방법도 많이 사용됩니다.

    Posted by 서버이야기