Redis 사례 연구

NoSQL 개념

Miriam Antona

Software engineer

Redis - 개요

  • Remote Dictionary Server
  • 인기 있는 키-값 데이터베이스
  • 빠른 인메모리 데이터 구조 저장소
    • 인메모리 데이터셋
    • 디스크에 데이터 영구 저장도 가능
  • 용도:
    • 데이터베이스
    • 캐시
    • 메시지 브로커

Redis 로고

  • 오픈 소스
  • Redis Labs: 직원 400명 이상
NoSQL 개념

Redis - 데이터 구조

  • 문자열(Strings)
      SET name Ann
    
  • 리스트(Lists)
      RPUSH my_numbers 1 2 3
    
  • 집합(Sets)
      SADD my_set 1 2 3
    
  • 해시(Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
NoSQL 개념

Redis - 데이터 구조

  • 문자열(Strings)
      SET name Ann
    
  • 리스트(Lists)
      RPUSH my_numbers 1 2 3
    
  • 집합(Sets)
      SADD my_set 1 2 3
    
  • 해시(Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://redis.io/glossary/redis-data-structures/
NoSQL 개념

Redis - 주요 기능

  • 원자적 연산
  • 트랜잭션
  • 복잡한 연산을 위한 Lua 스크립팅
  • 지원 프로그래밍 언어: Python, R, C#, Java, JavaScript, PHP...
  • 비동기 복제
NoSQL 개념

Redis - 주요 활용 사례

  • 캐싱 (쿼리 결과, 이미지, 파일 등)
  • 세션 저장소 (사용자 프로필, 자격 증명 등)
  • 채팅, 메시징, 큐 (채팅방, 실시간 댓글, 소셜 미디어 피드 등)
  • 실시간 분석 (소셜 미디어 분석, 광고)
  • 게임 리더보드 (실시간 순위 목록)
  • 기타
NoSQL 개념

Redis - 클라우드 환경

  • Redis용 Amazon Web Services Elasticache
  • Azure의 Redis용 Microsoft Azure Cache
  • Alibaba Cloud의 Redis용 Alibaba ApsaraDB
NoSQL 개념

Redis - 고객사

Redis 주요 고객사 로고

NoSQL 개념

Editoo 사례 연구

Editoo 로고

  • 소규모 기업
  • 맞춤형 매거진 제작 온라인 도구
    • 개인용
    • 비즈니스용

문제:

  • 사용자 증가로 인한 높은 지연 시간
  • 기존 RDBMS로는 트래픽 증가를 감당하지 못함

 

해결책: Redis 도입

  • 사용자 세션 저장
  • 데이터베이스 쿼리 캐싱
NoSQL 개념

Editoo 사례 연구

결과:

  • 다운타임 감소
  • 성능 향상
  • 향후 관계형 데이터베이스를 Redis로 마이그레이션 예정
NoSQL 개념

Editoo 사례 연구

결과:

  • 다운타임 감소
  • 성능 향상
  • 향후 관계형 데이터베이스를 Redis로 마이그레이션 예정
1 https://redis.io/customers/
NoSQL 개념

연습해 봅시다!

NoSQL 개념

Preparing Video For Download...