• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      # DataBase — NoSQL
      # 태그
      # 검색결과
      # 방명록
      • Redis Core, I/O, Transaction, Lock
        starryeye:
        Redis Core Redis 는 기본적으로 싱글 스레드 모델을 사용하는 데이터베이스이다. 한번에 하나의 명령어만 처리할 수 있음을 뜻한다. 따라서, 하나의 연산에 대해 원자성을 보장할 수 있다. 조금 다르게 말하면, 병렬성(Parallelism) 없이 작업이 진행되고 동시성(Concurrency)으로 처리된다. 참고> 병렬성: 한 번에 여러가지 일을 처리 동시성: 한 번에 한가지 일을 하지만, 여러 가지 일을 돌아가면서 처리 (각각 GPU 와 CPU 를 연상해보자..) 따라서, 단일 연산에 대해 동시성 문제가 없다. 그래서 단일 연산에 대해 복잡한 동기화와 락 설정을 걱정하지 않아도 된다. 그러나, 하나의 Value에 대해 여러 연산(조회 후, 업데이트 등)을 처리함에 있어서 분산 환경일 경우 원자성..
        • 2023-06-03 04:01:28(1년 전)
      • 포스트글 썸네일 이미지
        Redis Data Type 3
        starryeye:
        Redis 가 제공하는 Data Type 종류에 대해 계속 알아보겠다. 5. Sorted Set (ZSets) 하나의 Key 에 Value 로는 정렬된 데이터 집합으로 이루어진 형태이다. -> Key 는 변수이고, Value 는 C++ 의 set 이라 생각하면 편하다. -> 그런데 차이점은, Value 에 각 데이터들은 score 라는 값(숫자)이 존재하고 이를 바탕으로 정렬한다. (각 데이터는 member 로 불린다.) 특징 1. Redis 의 Sets 와 유사하게 유니크한 값의 집합이다. 2. 정렬된 상태를 유지한다. -> 최소/최대 값을 빠르게 조회할 수 있다. 3. 활용 랭킹(리더 보드) 기능에 활용 가능하다. 4. 대표적 명령어 명령어 기능 ZADD [Key] [Score] [Member] [S..
        • 2023-06-02 21:47:42(1년 전)
      • 포스트글 썸네일 이미지
        Redis Data Type 2
        starryeye:
        Redis 가 지원하는 Data Type 에 대해서 계속 알아보자.. 3. Sets Lists 와 동일하게 Key 하나에 Value 가 여러개의 집합으로 이루어져 있다. Value 만을 본다면, C++ 에서 unordered_set 과 비슷한 역할이다. 특징 1. 순서가 없고 유니크한 값의 집합 2. 개별 접근을 위한 인덱스가 존재하지 않지만, 개별 값의 존재 여부는 빠르게 체크 할 수 있다. 3. 집합 연산이 존재한다. (합집합, 교집합 등) 4. 활용 알고리즘 Union, Hash Table, Hash Set 등에 해당되는 모든 상황에서 활용가능하다. > 특정 시간동안 유저 한명 당 한번의 유효한 쿠폰을 발급하는 요구사항이 있을 때, 개발자는 Redis 의 Sets 를 사용할 수 있다. 특정 시간동안..
        • 2023-06-02 13:04:38(1년 전)
      • 포스트글 썸네일 이미지
        Redis Data Type 1
        starryeye:
        Redis 는 Key-Value store 이다. 이때, Value 에 해당하는 부분에서 다양한 데이터 구조를 지원한다. 하나씩 살펴보자.. 1. Strings Key 하나에 Value 는 문자열에 해당된다. 특징 1. 문자열을 저장할 때, Byte 배열로 저장된다. -> 따라서, 바이너리로 표현가능한 모든 데이터를 저장할 수 있다. (Binary-Safe) -> 주로 캐시에서 이용되며, 이를 이용해서 정적 웹 컨텐츠(HTML, JPG, JSON 등)들을 저장 2. 문자열에 저장할 수 있는 최대 크기는 512MB 이다. 3. 대표 명령어 명령어 기능 SET [Key] [Value] GET [Key] 해당 키에 문자열 값을 저장하고 반환 받는다. 덮어쓰기 가능 SET [Key] [Value] EX [Sec..
        • 2023-06-02 01:07:53(1년 전)
      • Redis 시작해보기
        starryeye:
        Redis 는 가장 대표적인 NoSQL 의 Key-Value 모델을 따르는 저장소이다. -> Hash Map 이라 생각해보자.. 간단하게 알아보는 대표적 특징 1. In-memory 저장소로 아주 빠른 접근 속도를 제공한다. 2. 세션 관리나 캐시 등의 목적으로 자주 사용된다. 3. Key-Value Store 이므로, 분산 환경을 제공하여 데이터 관점의 Shard(Cluster, Scale-Out) 가 가능하다. (물론, HA를 위한 Replica, Sentinel 개념도 존재) 4. Key 를 통해서만 값을 읽을 수 있다. (Value 단독 조회 불가능) 5. 범위 조회 등의 복잡한 질의 불가능 6. In-Memory 데이터를 주기적으로 디스크에 스냅샷으로 저장(RDB)하거나, 모든 변경을 로그 파..
        • 2023-06-01 22:30:23(1년 전)
      • 포스트글 썸네일 이미지
        MongoDB Sharded Cluster
        starryeye:
        이번 포스트에서는 MongoDB 의 Sharded Cluster 배포 형태에 대해 알아보겠다. 사용 목적 Sharded Cluster 의 사용 목적은 다음 상황에 적절하다... 기존에 Replica Set 을 잘 이용하고 있다가.. 서비스가 잘 커서 MongoDB 에 많은 양의 데이터가 추가 되어 더이상 감당 할 수 없게 되었다.. 이 때, Sharding 을 통해 데이터를 샤드 키로 분산하여 여러개의 Replica Set 묶음으로 적재 할 수 있도록 할 수 있다. 아래 그림을 통하여 더 자세히 알아보도록 하자.. 위 그림은 대표적인 MongoDB 의 Sharded Cluster 형태를 나타낸다. 각 샤드는 내부에서 Replica Set 을 이루고 있다. Application 은 mongos 라는 라우터..
        • 2023-06-01 21:17:47(1년 전)
      • 포스트글 썸네일 이미지
        MongoDB Replica Set
        starryeye:
        MongoDB 의 3가지 형태 중 하나인 Replica set 에 대해 알아보겠다. 특징 - High Availability (고 가용성) - 가장 많이 사용됨 - 무중단 서비스를 가능하도록 만들어주는 최소 단위 Replica set 의 맴버 현재 위 그림에서 MongoDB 는 3개의 맴버를 가지고 있다. (Primary, Secondary, Secondary) 각 맴버는 각각 다른 서버에 존재한다. (모두 하나의 서버에 존재 할 수 도 있다.) 맴버의 상태로는 3가지가 있다. Primary - Read/Write 요청 모두 처리 가능하다. - Write 를 처리 할 수 있는 유일한 맴버이다. - Replica set 에서 하나만 존재 Secondary - Read에 대한 요청만 처리할 수 있다. - 복..
        • 2023-05-20 17:08:26(1년 전)
      • 포스트글 썸네일 이미지
        MongoDB 3가지 형태
        starryeye:
        MongoDB 를 배포할 때는 3가지 형태로 배포할 수 있다. 1. Standalone 2. Replica set 3. Sharded cluster 3가지에 대해 각각 간단히 알아보겠다. 1. Standalone 용도 : 개인 스터디, 테스트 단순히 프로세스 1개만을 이용해서 MongoDB 서버를 띄우는 형태이다. 분산을 하기 위해 MongoDB 를 사용하는 경우가 많은데 이를 이용하지 않는 형태로... 스터디 용도가 아니면 사용되지 않는다. 2. Replica set 용도 : HA(High Availability) 고 가용성 용도로 현업에서 가장 많이 사용되는 형태이다. Atlas 에서도 Replica set 형태로 배포된다. 위 그림에서는 Replica set 의 기본 형태를 보여준다. MongoDB..
        • 2023-05-20 16:41:55(1년 전)
      조회된 결과가 없습니다.
      [1][2]
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바

        개인정보

        • 티스토리 홈
        • 포럼
        • 로그인

        단축키

        내 블로그

        내 블로그 - 관리자 홈 전환
        Q
        Q
        새 글 쓰기
        W
        W

        블로그 게시글

        글 수정 (권한 있는 경우)
        E
        E
        댓글 영역으로 이동
        C
        C

        모든 영역

        이 페이지의 URL 복사
        S
        S
        맨 위로 이동
        T
        T
        티스토리 홈 이동
        H
        H
        단축키 안내
        Shift + /
        ⇧ + /

        * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.