본문 바로가기

반응형

좋아하는 것_매직IT/9.redis

10.Redis, 해시 데이터에 대해서 알아보자. 해시데이터에 대해서.. 해시 데이터는 문자열 필드와 값으로 이루어진 Map 구조로 되어 있음. 해시 데이터에는 2의 32승-1 개의 필드와 값을 저장할 수 있음. 숫자로 바꾸어보면...대략 42억개가 넘게됨...^^; 해시 명령의 시간 복잡도는 O(1) 단, hgetall/hkeys/hvals Redis 명령은 제외. 해시 데이터의 저장 구조 Key 하나에 여러 개의 Field-Value 쌍으로 이루어짐. 즉, 일반적으로 프로그램 언어의 Map 자료구조와 동일함. 해시 데이터의 명령어 그룹데이터 저장 해시 데이터를 생성 및 삭제하는 명령은 아래와 같음. hmset 명령) hmset [key] [field1] [value1] [field2] [value2] .... 응답) , 항상 OK hmget 명령) .. 더보기
9.Redis, 문자열 데이터에 대해서 알아보자. 문자열 데이터 문자열 데이터는 Key 하나에 문자열 하나를 저장할 수 있는 구조. 저장 가능한 문자열 최대 크기 512MB 문자열 데이터 저장구조 문자열 데이터를 저장 할 때는 인코딩된 문자열과 몇 가지 부가 정보가 포함된 구조체로 변환하여 저장함. 이것을 레디스 객체형이라고 부름. 문자열 데이터의 입력 그리고 조회, 숫자의 증감 다중 Key 에 대한 저장과 조회 처리 명령 mset 키와 값의 쌍으로 이루어진 데이터를 저장함. 명령) mset [key1] [value1] [key2] [value2] .... 응답), 항상 OK mget 주어진 키에 대한 값의 목록을 조회함. 주어진 키가 존재하지 않으면, nil 로 표시됨. 명령) mget [key1] [key2] ... 응답), 조회된 키의 값 목록 예.. 더보기
8.Redis, 레디스의 데이터 구조 그리고 키는 어떻게 설계할까요? Redis 그리고 Data 구조 Redis 는 거대한 Key-Value 저장소, 즉 거대한 맵(Map 데이터 구조) 저장소 임. 맵 데이터 구조는 위와 같이 Key 하나에 Data 하나가 저장되는 매우 단순한 구조임. 이것이 Redis 의 가장 큰 장점이자 단점이라고 할 수 있음. 장점 익히기 쉽고 직관적임. 단점 저장된 데이터를 가공하는 방법에 제한이 있게됨. Redis 는 이러한 가공 방법의 제한을 다양한 종류의 데이터형과 명령을 통해서 보완하고 있음. Redis Key 설계에 대해서.. NoSQL에서 데이터를 조회하기 위한 가장 기본적인 값은 "KEY" 관계형 데이터베이스에서 말하는 테이블의 Primary Key와 동일한 개념이라고 보면됨. 즉, Key 하나가 하나의 레코드를 정의한다고 보면 됨. .. 더보기
7.Redis, 그러면..언제 NoSQL을 사용해야 할까요? ^-^ NoSQL의 사용에 대해서 한번 생각해보자 관계형 데이터베이스 장점 충분히 성숙된 기술 범용 데이터 저장소로서 역할을 충분히 수행함. 복잡한 업무 로직을 처리하는 분야에서 NoSQL 보다 더 나은 성능을 보임. 단, 한계점은... 관계형 데이터베이스의 특성상 제공 가능한 성능에 한계가있음. 그럼에도 불구하고... NoSQL이 필요한 상황이 발생할 소지가 생김. NoSQL 이 필요한 경우 대량의 단순 정보를 빠르게 저장하고 조회할 때 관계형 데이터베이스가 처리하지 못하는 대량의 데이터를 저장할 때 스키마가 고정되지 않은 데이터를 저장하고 조회할 때 기타 등등. 즉, 위에서 언급한 관계형 데이터 베이스의 한계를 넘어선 성능이 필요할 때 NoSQL를 선택하면됨. 만일, NoSQL의 도입을 확정했다면... 어떤.. 더보기
6.Redis, NoSQL를 한번 분류해볼께요. ^^ NoSQL 분류는 ? 데이터의 저장 방식에 따라 분류되기도 함. NoSQL은 데이터 접근을 위해 키를 사용함, 키에 저장된 값의 데이터 모델에 따라서 분류하는 방법. 키-값 모델 문서 모델 컬럼 모델 그래프 모델 키-값 모델 가장 기본적인 형태 NoSQL 키 하나로 데이터 하나를 저장하고 조회할 수 있는 단일 키-값 구조를 가짐. 공통특징 키-값 모델 NoSQL에 저장 가능한 데이터의 종류는 각 NoSQL별로 상이함. 대부분 키-값 모델 NoSQL은 단순한 저장구조로 인하여 복잡한 조회 연산을 지원하지 않음. 고속읽기 와 쓰기에 최적화된 경우가 많음. 대부분 저장된 데이터에 대한 검증이나 데이터의 내용에 기반한 조회를 지원하지 않음. 저장된 값을 단지 의미없는 바이너리 데이터로 처리함. 주요 솔루션 레디.. 더보기
5.Redis, 꼭 알아야할 CAP 이론에 대해서 정리해 볼께요. CAP 이론이란? 컴퓨터과학 분야에서 분산 컴퓨터 시스템을 설명하는데 사용되는 이론. Consistency, Availability, Partition Tolerance 을 동시에 지원하는 분산 컴퓨터 시스템은 없다. 라고 정의됨. 2000년에 전산학자 에릭 브루어가 가설을 제시하였고, 2002년에 세스 길버트와 낸시 린치가 증명함. 참고페이지 http://en.wikipedia.org/wiki/CAP_theorem In theoretical computer science, the CAP theorem, also named Brewer's theorem after computer scientist Eric Brewer, states that it is impossible for a distributed .. 더보기
4.Redis, NoSQL에 대해서 전반적으로 알아볼께요. NoSQL의 유래 영국 소프트웨어 개발자 조핸 오스카슨(Johan Oskarsson) 이 오픈소스 분산 데이터베이스의 토론을 위해 주관한 모임의 이름에서 유래됨. 참조 http://en.wikipedia.org/wiki/NoSQL History The term NoSQL was used by Carlo Strozzi in 1998 to name his lightweight Strozzi NoSQL open-source relational database that did not expose the standard Structured Query Language (SQL) interface, but was still relational.[16] His NoSQL RDBMS is distinct from the.. 더보기
3.Redis, 레디스의 성능 측정에 대해서 간단하게 알아볼께요? 레디스의 성능 측정에 대해서.. 서비스에 새로운 솔루션을 도입하려면, 반드시 성능 측정이 수반됨. 얼마나 많은 요청을 한꺼번에 처리할 수 있는지와 요청 하나를 처리하는데 걸리는 시간등등을 측정하여 도입 여부를 결정하고 도입할 하드웨어 사양을 결정함. 즉, 성능측정을 위해서는 많은 시간이 소요됨. 레디스는 성능 측정을 위해서 아래 툴을 지원함. redis-benchmark 성능 측정 $ redis-benchmark 주요 option 설명 -h 테스트를 수행하기 위해 접속할 레디스 서버의 호스트명 기본값 : 127.0.0.1 -p 테스트를 수행하기 위해 접속할 레디스 서버의 포트 기본값 : 6379 -s 테스트를 수행하기 위해 접속할 레디스 서버의 유닉스 서버 소켓 -c 테스트를 위한 가상 클라이언트의 동시.. 더보기

반응형