본문 바로가기

redis3

[Redis] 레디스를 활용한 장애 감지 (feat. Exception counting) 장애 감지를 구현해야 할 일이 있었다. 아래와 같은 고민들이 있었다. 분산 환경에서 장애 감지를 어떻게 할까?? exception이 일정 시간 동안 일정 횟수 이상 발생하면 모니터링 알림을 줘야 한다. 각각의 exception count의 총합을 어떻게 관리하지..? 일정 시간은 어떻게 체크하지..? 정답은 바로 "레디스" 레디스로 어떻게..? 레디스의 특징 중에서 여러 프로세스에서 동시에 같은 key에 대해서 갱신을 요청하는 경우 Atomic 하게 처리해주기 때문에 Exception 발생 시 키 값에 대해 카운트를 증가시켜 줄 수 있다. 오 그럼 일정 시간은 어떻게..? 레디스는 TTL 제공을 제공해준다. 그렇기 때문에 일정 시간을 TTL로 잡고 해당 시간 동안 count 수가 내가 설정해놓은 수치를 .. 2021. 9. 12.
[DB] Redis 란? (feat. Memcached) 레디스 (Remote Dictionary Server)는 메모리 기반의 key-value 구조의 데이터 관리 시스템이다. 모든 데이터를 메모리에 저장하고 조회하기때문에 빠른 Read, Write 속도를 보장하는 NoSql이다. 속도가 빠른 이유 ? 메모리 접근이 디스크 접근 방식보다 빠르기 때문. Redis의 기능 In-Memory 캐싱 Pub/Sub 메세지 큐 세션 스토어 Redis가 지원하는 데이터 형식 String Set Sorted Set Hash List Redis의 특징 영속성을 지원하는 In-memory 데이터 저장소 읽기 성능 증대를 위한 서버 복제 지원 Redis가 실행중인 서버에 장애가 발생하는 경우 장애 조치와 더 높은 읽기 성능을 지원하기 위해 슬레이브가 마스터에 연결되고, 전체 D.. 2020. 11. 30.
[DB] RDBMS vs NoSQL RDB를 써야 할까? NoSql을 사용해야 할까? NoSql은 어떨 때 사용하는 걸까? 궁금증으로부터 출발했다. RDBMS와 NoSQL에 대해서 알아보자. RDB(Relational Database) 특징 구조화된 쿼리 언어(Structured Query Language) 정해진 데이터 스키마에 따라 DB 테이블에 저장된다. 관계를 통해 연결된 여러 테이블에 분산된다. 관계형 데이터베이스로 대표적으로 MySql, Oracle, PostgreSql 등이 있다. 장점 각 테이블에 정의된 구조(필드명, 데이터 유형)가 있기 때문에 스키마를 준수하지 않는 레코드는 추가할 수 없다. 관계에 의해 데이터를 여러 테이블에 나누어 저장하기 때문에 중복 데이터가 없다. 복잡한 형태의 쿼리(join)가 가능하다. 단점 대.. 2020. 11. 27.