NoSQL(11)
-
Redis 트랜잭션 Isolation & Lock
트랜잭션이란? 트랜잭션으로 묶게 되면 트랜잭션 내부에서 하나의 로직이 실패하여 오류가 나게되면 모두 취소시키며 그렇지 않으면 모두 성공시키는 것입니다. Redis 에서 트랜잭션이라니 조금 어색하다고 생각 할 수 있다. 하지만 여러 자료구조를 사용할 수 있는 Redis 의 특성상 트랜잭션을 잘 이용한다면 더 유용하게 다양한 상황에서 Redis를 사용할 수 있다. 읽기 일관성과 데이터 공유를 위해 Data Sets(Key/Value) Lock 을 제공한다. 또한 트랜잭션 제어를 위해 Read Uncommitted와 Read committed 타입 2가지 유형을 제공한다. 빅데이터 처리를 위한 플랫폼에는 Hadoop 과 같은 파일 시스템 기반도 있지만 가장 기본적인 단위의 트랜잭션을 제어할 수 없기 때문에 데..
2023.12.12 -
Redis 확장 모듈
오픈소스로 개발된 Redis server는 빅데이터 저장 및 관리 기술을 제공하는 소프트웨어이다. 물론 RedisLabs co. 에 의해 Enterprise Edition 에 대한 유지 보수 및 기술 지원이 이루어 지고 있지만 최초 Community Edition이 먼저 개발되어 배포된 것이다. 그러다보니 Community Edition에 대한 지속적인 기능 추가 및 서버 확장에는 다소 한계가 있을 수 밖에 없게 되었고 이에 많은 개발자들이 Redis Server의 소스를 이용한 다양한 기능들을 개발하여 배포하게 되었는데 이를 Redis 확장 모듈이라고 한다. REJSON : JSON 데이터 타입을 이용해 데이터를 처리할 수 있는 모듈 RediSQL : Redis Server에서 SQLite(관계형 DB..
2023.12.12 -
Redis 데이터 타입
데이터 타입 종류 내용 strings 문자(text), Binary 유형 데이터를 저장 List 하나의 key에 여러 개의 배열 값을 저장 Hash 하나의 key에 여러 개의 Fields와 Value로 구성 된 테이블을 저장 Set Sorted Set 정렬되지 않은 String 타입 Set과 Hash를 결합한 타입 Bitmaps 0 & 1 로 표현하는 데이터 타입 HyperLogLogs Element 중에서 Unique 한 개수의 Element 만 계산 Geospatial 좌표 데이터를 저장 및 관리하는 데이터 타입 기존 관계형 DB뿐만 아니라 대부분의 NoSQL 제품들은 하나의 토탈 데이터 관리 시스템 기능을 제공하기 때문에 보편적으로 파일 시스템에 비해 효율적으로 데이터를 저장 관리 할 수 있다. R..
2023.12.12 -
Redis 캐싱과 전략
캐시 캐시는 데이터나 값을 저장하는 임시 저장소로, 데이터를 더 빠르고 효율적으로 엑세스 할 수 있게 해준다. 원본 데이터 접근보다 빠르다. 같은 데이터를 반복적으로 접근하는 상황에서 사용하기에 알맞다. 인증 세션 값과 같은 잘 변하지 않는 데이터일수록 더 효율적이다. 컴퓨터 메모리 계층 구조 레이어별로 캐시를 보면 용량은 위로 갈수록 커지고 속도는 밑으로 내려갈수록 빨라진다. 보통 우리가 사용하는 Redis는 Memory 층에 존재한다고 보면 된다. Disk가 제일 느리고 L3 < L2 < L1 순으로 속도가 빠르다. Disk 접근 속도가 SSD 를 쓰고 있지만 Memory에 비하면 속도가 굉장히 차이난다. 그렇기 때문에 Memory에 올려놓고 쓰는 게 Disk 에서 읽어오는 것보다 훨씬 빠르다. 그 ..
2023.12.11 -
Redis 데이터 입력/수정/삭제/조회
종류 내용 set 데이터를 저장할 때(key, value) get 저장된 데이터를 검색할 때 rename 저장된 데이터 값을 변경할 때 randomkey 저장된 key 중에 하나의 key를 랜덤하게 검색할 때 keys 저장된 모든 key를 검색할 때 exits 검색 대상 key가 존재하는지 여부를 확인할 때 mset/mget 여러 개의 key와 value를 한번 저장하고 검색할 때 Redis DB에 데이터를 입력/수정/삭제/조회하기 위해서는 반드시 Redis 서버에서 제공하는 명령어를 사용해야 하며 데이터를 조작할 때는 하나의 Key에 대해 하나 이상의 Field 또는 Element 로 표현해야 한다. Redis 서버 실행 cd /home/redis/src ./redis-server /home/redis..
2023.12.10 -
Redis 간단한 용어 설명
Redis 는 키벨류, MongoDB는 도큐먼트 DB 이다. 여기서 Redis 는 왜 키벨류 DB라고 표한하는지 논리적 구조에 대한 간단한 용어를 알아볼 것이다. 1. Table 하나의 DB에서 데이터를 저장하는 논리적 구조이다. (관계형 DB에서 표현하는 논리적 개념인 테이블과 동일) 2. Data Sets 테이블을 구성하는 논리적 단위이다. 하나의 데이터-셋은 하나의 Key와 한개 이상의 Field/elemenst로 구성된다. 3. Key 하나의 Key는 하나 이상의 조합된 값으로 표현 가능하다. 예를 들어, 주문 번호 또는 주문번호+순번, 년월일+순번 등 4. Values 해당 Key에 대한 구체적인 데이터 값을 표현한다. 벨류는 하나 이상의 Field 또는 Element 로 구성된다.
2023.12.10