반응형
레디스(Redis, Remote Dictionary Server)란?
- 인메모리 데이터베이스 솔루션.
- 즉, 모든 데이터를 메모리에 저장하고 조회함.
- 오픈소스 NoSQL
- 고성능 key-value 타입의 저장소로서 다양한 자료구조를 지원하는 NoSQL
- 다양한 자료구조 지원
- 문자열, 리스트, 셋, 정렬된 셋, 해시 등등
- 참고페이지 : http://redis.io
레디스의 주요 정보 및 특성
- 영속성을 지원하는 인메모리 데이터 저장소
- 읽기성능증대를 위한 서버 측 복제를 지원함.
- 쓰기성능증대를 위한 클라이언트 측 샤딩(Sharding)을 지원함.
- ANSI C로 작성됨.
- 즉, ANSI C 컴파일러가 동작하는 곳이면, 어디든 설치 및 실행 가능함.
- Redis 클라이언트는 대부분의 언어로 포팅되어 있음.
- C,C++,C#, D, Erlang, lua, PHP, Python 등등
- 현재(2019년 11월 4일) 안정화 버전.
- 5.0.5 버전
- Redis 5.0 is the first version of Redis to introduce the new stream data type with consumer groups, sorted sets blocking pop operations,
- Redis 5 was release as GA in October 2018.
- 참고) GA (General Availability) 버전 이란?
- 테스트가 완료된 정식 릴리즈 버전으로 안정적으로 운영되어야 하는 프로젝트에서 사용. 대부분 GA 버전을 가져다 사용하면 된다.
- 참고) GA (General Availability) 버전 이란?
- 5.0.5 버전
빅데이터란 무엇인가?
- 2008년 즈음부터 IT업계에 빅데이터 바람이 불기 시작함.
- 간단히 말해서 "엄청난 양의 데이터"
- 예를들면, 페이스북 사용자 수 는 2012년 10월을 기준으로 10억명을 돌파. 좋아요(1조1300억회), 친구연결횟수(1400억건), 업로드한 사진 수(2190억장) 이라고 함.
- 대략적인 크기가 상상이 안됨, 이 데이터를 저장하려면? 하드디스크가 몇개 필요?
- 이것이 바로 빅데이터 임.
- 데이터는 점점 커지고 있으며, 그에 따라 빅데이터에 대한 정의도 나날이 변화하고 있음.
- 그리고, 해당 빅데이터를 처리하는 기술들도 계속 발전중임.
빅데이터의 정의
- 첫번째, MGI에서 정의한 데이터베이스의 규모(데이터의 크기)에 기반한 분류 방법.
- 두번째, EMC에서 정의한 데이터의 처리 방법에 기반한 분류 방법.
- 거대한 비정형 데이터로부터 의미 있는 데이터를 도출해내는 방법의 적용 여부가 빅데이터인지 아닌지를 결정한다는 주장.
- 참고)위키디피아에서의 정의
- 기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라바이트)의 정형 또는 심지어 데이터베이스 형태가 아닌 비정형의 데이터 집합조차 포함한 데이터로부터 가치를 추출하고 결과를 분석하는 기술
- 참고페이지 : https://ko.wikipedia.org/wiki/%EB%B9%85_%EB%8D%B0%EC%9D%B4%ED%84%B0
빅데이터와 RDBMS의 한계, 그리고 NoSQL(Not Only SQL or Non-Relational Operator DataBase)
- NoSQL 이란?
- 상상조차 불가능한 양의 데이터, 그리고 비정형 데이터가 포함된 데이터를 저장하고 사용하는 방법을 연구하다가 나온 기술.
- 즉, 전통적인 데이터 처리방법인 SQL 데이터베이스 or 전통적인 데이터 처리 애플리케이션만으로는 처리가 불가능한크기의 데이터를 처리하기 위해나온 기술들의 총칭.
- 등장이유
- RDBMS의 확장성에 기인
- 상상조차 불가능한 양의 데이터, 그리고 비정형 데이터가 포함된 데이터를 저장하고 사용하는 방법을 연구하다가 나온 기술.
스케일업 / 스케일 아웃이란?
- 스케일업 : 각 단일 서버(하드웨어)의 성능을 증가시켜서 더 많은 요청을 처리하는 방법
- 스케일아웃 : 동일 사양의 새로운 서버(하드웨어)를 추가하는 방법
결론
- Redis는 고성능 인메모리 key-value 저장소로서 여러가지 데이터 타입을 지원함.
- 문자열, 리스트, 해시, 셋, 정렬된셋 등등
- 메모리 이외의 영구 저장소를 지원하므로, 인스턴스의 재시작에 대한 캐시 웜업에 대한 고려가 필요하지 않음
- 캐시 웜업(Worm up)이란?
- 캐시의 적중률을 높이기 위해서 미리 캐시 데이터를 생성하는 것
- 캐시 웜업(Worm up)이란?
- 읽기를 위한 서버 측 복제를 지원하며, 쓰기 성능 증대를 위한 클라이언트 샤딩을 지원함.
300x250
'좋아하는 것_매직IT > 9.redis' 카테고리의 다른 글
5.Redis, 꼭 알아야할 CAP 이론에 대해서 정리해 볼께요. (0) | 2021.01.11 |
---|---|
4.Redis, NoSQL에 대해서 전반적으로 알아볼께요. (0) | 2021.01.11 |
3.Redis, 레디스의 성능 측정에 대해서 간단하게 알아볼께요? (0) | 2021.01.11 |
2.Redis, 레디스의 기본명령어에 대해서 알아볼까요? (0) | 2021.01.06 |
1.Redis, 레디스를 리눅스에 설치 및 실행을 한번 해볼께요. (0) | 2021.01.06 |