문맥 딕셔너리 캐시를 Redis로 고도화하겠다!
DB 연결/데이터 저장이 알고 보니 백엔드 일이어서 실직했기 때문에..
그리고 아직 파인튜닝 모델 수리와 TTS 모델 개발은...안 하고 싶다
소피아언냐가 redis 도커 파일을 짜 준대
헉그게모지,,
우선 redis에 대해 알아보자
딕셔너리를 고도화하는 것이기 때문에 비교
1. 데이터 영속성
- 딕셔너리의 한계: 딕셔너리는 메모리에 저장되기 때문에 프로그램이 종료되면 데이터가 사라집니다.
- Redis의 장점: Redis는 데이터를 디스크에 저장하거나 스냅샷을 통해 영속성을 제공합니다. 이를 통해 프로그램이 종료되거나 서버가 재부팅되어도 데이터가 유지됩니다.
2. 멀티 프로세스/멀티 클라이언트 접근 가능
- 딕셔너리의 한계: 딕셔너리는 동일한 프로세스에서만 접근 가능합니다. 다른 프로세스나 원격 시스템이 데이터에 접근할 수 없습니다.
- Redis의 장점: Redis는 클라이언트-서버 구조를 가지며, 네트워크를 통해 여러 프로세스와 클라이언트가 동시에 접근할 수 있습니다. 이를 통해 분산 환경에서도 데이터를 효율적으로 관리할 수 있습니다.
3. 데이터 스케일링
- 딕셔너리의 한계: 딕셔너리는 메모리 용량에 의해 제한되며, 데이터 크기가 커질수록 단일 시스템에서 관리가 어렵습니다.
- Redis의 장점: Redis는 클러스터링을 지원해 데이터를 여러 서버에 분산시킬 수 있습니다. 따라서 대규모 데이터를 처리하거나 저장할 때 적합합니다.
4. 고성능 읽기/쓰기
- Redis의 장점: Redis는 메모리 기반 데이터 저장소로, 매우 빠른 읽기/쓰기 성능을 제공합니다. 특히, 딕셔너리보다 훨씬 높은 성능으로 많은 데이터를 처리할 수 있습니다.
5. 추가적인 데이터 구조 지원
- 딕셔너리의 한계: 기본적인 키-값 구조만 지원합니다.
- Redis의 장점: Redis는 다양한 데이터 구조를 지원합니다. 예를 들어
- Hashes (딕셔너리와 유사)
- Lists (FIFO 구조)
- Sets (집합 연산 지원)
- Sorted Sets (정렬된 데이터)
- Bitmaps, HyperLogLogs 등
6. 확장 가능한 기능
- Redis의 장점: Redis는 Pub/Sub, Lua 스크립트, 트랜잭션, TTL(Time-To-Live) 등 딕셔너리로는 구현하기 어려운 기능을 제공합니다. 이를 통해 실시간 알림, 캐싱, 세션 관리 등의 고급 기능을 구현할 수 있습니다.
7. TTL 및 자동 데이터 관리
- 딕셔너리의 한계: 특정 데이터에 유효 기간(Time-To-Live)을 설정하려면 추가 로직이 필요합니다.
- Redis의 장점: Redis는 데이터의 TTL을 기본적으로 지원하며, 설정된 시간이 지나면 자동으로 데이터를 삭제합니다.
8. 분산 캐싱 및 세션 관리
- Redis의 장점: Redis는 분산 캐시로 자주 사용되며, 웹 애플리케이션의 세션 데이터를 관리하기에 적합합니다. 이를 통해 데이터를 캐싱해 시스템 성능을 높일 수 있습니다.
9. 백업 및 복구
- 딕셔너리의 한계: 별도의 파일 저장 또는 직렬화 과정이 필요합니다.
- Redis의 장점: Redis는 스냅샷 및 AOF(Append-Only File) 방식을 통해 자동으로 백업과 복구를 지원합니다.
- 지금은 싱글 프로세스/하나의 서버여서 딕셔너리로 해도 괜찮았지만 나중에 서버가 늘어나면 여러 프로세스가 동시에 쓸 수 있어야 하기 때문에 DB 저장 필요
- 캐시
나는 스프링 백엔듣도못하는데
괜찮다 fastapi로
내일해보고
백준풀어야지
'Club|Project > 카카오테크 부트캠프 | AI' 카테고리의 다른 글
💪🏻 카테부 부하 테스트 토너먼트 대회 - 서비스 가용성을 높이기 위한 엔지니어링 (1) | 2024.12.10 |
---|---|
💪🏻 카테부 부하 테스트 토너먼트 대회 - 대규모 사용자들을 감당하기 위한 서비스 (1) | 2024.12.09 |
🦜카부캠 앵무말(Parrotalk) : 선후행 투두 기능 개발 (2) | 2024.12.05 |
🦜카부캠 앵무말(Parrotalk) : 성능 통계 (2) | 2024.12.03 |
🦜카부캠 앵무말(Parrotalk) : 파인튜닝 모델 성능 측정 (2) | 2024.12.02 |