Remote Dictionary Server
1. cache
cache 구현 방법 : memcached, redis, local memory cache
cache 전략
- 읽기 전략
1) look aside : cache 에 없으면 db조회
장) 캐시 문제생기면 db 로 위임
단) 캐시,db간 정합성 유지 어려움
2) read through : 항상 캐시를 통해
장) 캐시,db간 정합성 유지
단) 캐시 죽으면 장애
- 쓰기 전략
1) write around : 캐시 우회해서 db에 바로 write
장) 성능 이점
단) 캐시, db간 정합성 유지 어려움
2) write back : 캐시에 미리 write, 나중에 db에 모아서 write
장) 쓰기 비용 줄임
단) 캐시 data loss 가능성
3) writh through : 항상 캐시 먼저 write , 그리고 db에 write
장) 정합성 유지
단) 항상 두번 쓰는 성능 불리
2. redis
redis 용도 : 캐싱, 임시작업 큐, 실시간 채팅, 메시지 브로커
특징
1) performance
: 메모리에 저장, get/set 초당 10만 tps
2) single thread
: 한번에 하나의 명령만 처리. race condition 발생 X
3) data structure
: 다양한 자료구조 제공
4) persistence
: 메모리 저장 데이터를 디스크 영속화. 복구 가능
- RDB (Redis Database Backup)
=> 특정 간격 메모리 데이터 스냅샷
장) 압축,저장 -> 크기 작고 로딩/복구 빨라
단) 백업 중 다운 되면 최신 데이터 유실 가능성
- AOF (Append Only File)
=> dml 실행시 log파일에 기록
장) 실시간 데이터 백업, 데이터 손실 거의 없음
단) 명령실행 모두 기록 -> 파일크기, 복원시 긴 시간
생계/NoSQL2024. 11. 12. 19:01
반응형