
- 메모리 key/value 데이터구조 스토어
- 로컬 환경에서 레디스 호출 EC2 인스턴스에 레디스를 설치해 인스턴스 메모리를 사용해 사용하는 방법
- 클라우드 서비스를 이용해 외부 자원을 사용
- 운영 중인 웹 서버에서 키-값 형태의 데이터 타입을 처리해야하고, I/O가 빈번히 발생해 다른 저장 방식을 사용하면 효율이 떨어지는 경우 사용 ex) 조회수와 같은 카운트 형태의 데이터, 사용자 세션관리,API캐싱
인메모리
- 컴퓨터의 메인 메모리 RAM에 데이터를 올려서 사용하는 방법을 말한다.
- why?
- 속도 때문 SSD,HDD 같은 저장곤간에서 데이터를 가져오는 것보다 RAM에 올려진 데이터를 가져오는데 걸리는 속도가 훨씬 빠르다. 때문에 Redis는 빠른 속도가 큰 장점이다.
- 레디스의 스키마는 데이터를 정규화하고, 데이터 로우에 대해 일관된 레퍼런스를 가지게 해줄 수 있게 해주는 용도로 존재한다.
- Remote Dictionary Server를 나타내는 Redis는 빠른 오픈 소스 인 메모리 키 값 데이터 스토어 이다.
- 1m/s 미만의 응답 시간을 제공하여 실시간 애플리케이션을 위해 초당 수백만 건의 요청을 지원할 수 있다. 빠른 성능덕에 캐싱,세션관리,게임,리더보드,실시간분석,지형 공간,라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용한다.
- Amazon MemoryDB for Redis는 레디스와 호환되고 내구성이 뛰어난 인메모리 데이터베이스 서비스로 초고속 성능을 제공한다. 마이크로초 대기 시간으로 프라이머리 데이터베이스 및 데이터 스토어의 데이터 엑세스를 가속화하는 완전관리형 캐싱 서비스이다.
치명적 단점
- 용량….
- 기본적으로 RAM의 용량은 SSD,HDD에 비해서 낮기 때문에 메인 데이터베이스로 사용하기에는 무리가 있다.
- key-value 형태의 NoSQL 이다. Redis가 다양한 형태의 데이터 구조를 지원하기는 하지만 복잡한 데이터를 저장하는 데이터베이스로 사용하기에는 어려움이 있다.
- 그래서 메인보다는 캐시 데이터베이스 서버가 적합!
캐시
- cache 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소이다. 캐시에 있는 데이터는 시간과 자원면에서 최소한의 비용으로 반복적으로 접근할 수 있다.
- Local Cache
- Local 장비 내에서만 사용되는 캐시
- Local 장비의 Resource를 이용
- 로컬에서 작동해 속도는 빠르지만 다른 서버와 데이터 공유가 어렵다.
- Global Cache
- 여러 서버에서 캐시서버에 접근하여 사용하는 캐시
- 데이터를 분산 저장 가능
- Replication 데이터 복제
- Sharding 데이터 분산 저장
- 로컬에 비해 상대적으로 느림 (네트워크 트래픽)
- 별도의 Cache Server를 이용하기에 서버 간 데이터 공유가 쉽다.
- Redissms Global Cache에 적합
'Database > NoSQL' 카테고리의 다른 글
| [Redis] Cluster vs Sentinel (0) | 2025.04.11 |
|---|