맨위로가기 타임라인 바로가기

레디스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

레디스는 "Remote Dictionary Server"의 약자로, 이탈리아의 살바토레 산필리포가 개발한 오픈 소스 인메모리 데이터 저장소이다. 2009년 Tcl로 프로토타입을 시작하여 C 언어로 재작성되었으며, 키-값 쌍을 기반으로 다양한 데이터 유형을 지원한다. 레디스는 세션 캐싱, 메시지 큐 등 다양한 분야에서 활용되며, 아마존, 구글, 마이크로소프트, 알리바바 등 클라우드 서비스에서 관리형 서비스를 제공한다. 2024년 3월 라이선스 변경으로 Linux Foundation에서 Valkey라는 포크 프로젝트가 시작되었다.

더 읽어볼만한 페이지

  • 키-값 데이터베이스 - Memcached
    Memcached는 웹사이트의 데이터베이스 부하를 줄여 응답 시간을 개선하는 분산 메모리 객체 캐싱 시스템으로, 키-값 연관 배열 형태로 RAM에 데이터를 저장하여 빠른 접근성을 제공한다.
  • 키-값 데이터베이스 - LevelDB
    LevelDB는 구글에서 개발한 오픈 소스 키-값 저장소로, 키와 값을 임의의 바이트 배열로 저장하고 키 순서로 데이터를 정렬하여 관리하며, 쓰기 일괄 처리, 정/역방향 반복, 스내피 압축을 지원하여 구글 크롬, Riak, 비트코인 코어 등 다양한 분야에서 활용되고 마리아DB 10.0에서는 쿼리 가능한 스토리지 엔진을 제공한다.
  • 분산 컴퓨팅 구조 - 슈퍼컴퓨터
    슈퍼컴퓨터는 일반 컴퓨터보다 훨씬 높은 성능을 가진 컴퓨터로, 복잡한 계산과 시뮬레이션을 수행하며, 프로세서, 메모리, 스토리지, 네트워크 등으로 구성되어 병렬 처리를 통해 높은 성능을 구현하고, 군사, 기상 예측, 과학 기술 분야, 인공지능 등 다양한 분야에서 활용되고 있다.
  • 분산 컴퓨팅 구조 - 맵리듀스
    맵리듀스는 대용량 데이터 처리를 위해 구글에서 개발한 프로그래밍 모델이자 프레임워크로, Map과 Reduce 함수를 사용하여 데이터를 병렬 처리하며 하둡 등의 오픈 소스 구현을 통해 널리 쓰인다.
  • NoSQL - 몽고DB
    몽고DB는 2007년 개발되어 2009년 오픈 소스로 전환된 문서 지향적 NoSQL 데이터베이스로, 다양한 데이터 쿼리, 인덱싱, 고가용성, 수평적 확장 기능을 제공하며, 2018년부터 멀티 도큐먼트 ACID 트랜잭션을 지원하고 다양한 에디션과 프로그래밍 언어를 지원한다.
  • NoSQL - 아파치 카산드라
    아파치 카산드라는 아마존 다이나모DB와 구글 빅테이블의 영향을 받아 개발된 오픈 소스 분산 데이터베이스 시스템으로, 가용성과 파티션 허용을 중시하며 선형 확장을 통해 대규모 데이터 처리에 적합하다.
레디스 - [IT 관련 정보]에 관한 문서
기본 정보
레디스 로고
레디스 로고
종류데이터 저장소, 키-값 데이터베이스
개발자레디스
발표일2009년 2월 26일
최신 안정화 버전''
최신 안정화 버전 발표일'}}'
프로그래밍 언어C
운영체제유닉스 계열
언어영어
라이선스레디스 소스 이용 가능 라이선스 또는 SSPL
웹사이트레디스 공식 웹사이트

2. 역사

레디스(Redis)의 최초 개발자 살바토레 산필리포(Salvatore Sanfilippo, 2015년 촬영)


레디스(Redis)라는 이름은 REmote DIctionary Server|원격 사전 서버eng의 약자이다.[6][76][77] 이 프로젝트는 "antirez"라는 별명으로 알려진 이탈리아 개발자 살바토레 산필리포(Salvatore Sanfilippo)가 2009년에 시작했다. 당시 그는 자신이 근무하던 스타트업에서 실시간 웹 로그 분석기의 확장성 문제를 해결하기 위해 새로운 데이터베이스 시스템을 구상했다.[26] 처음에는 Tcl 언어로 개념 증명(proof-of-concept) 프로토타입을 만들었으나[26][82], 곧 C로 다시 작성하고 첫 데이터 유형인 리스트(list)를 구현했다.[73]

내부적으로 성공적인 사용 후, 산필리포는 레디스를 오픈 소스로 공개하기로 결정하고 Hacker News에 발표했다. 프로젝트는 특히 Ruby 커뮤니티에서 인기를 얻었으며, GitHub와 Instagram 등이 초기에 도입한 대표적인 회사들이다.[27][28]

레디스 프로젝트는 VMware[29][30][31][83][84][85][77], Pivotal Software[32][86], Redis Labs(2021년 Redis Ltd.로 사명 변경[97])[33][89][90][91] 순서로 기업의 후원을 받으며 발전했다. 2018년 10월에는 레디스 5.0 버전과 함께 새로운 데이터 구조인 레디스 스트림(Redis Stream)이 도입되었다.[35] 같은 해, 산필리포는 레디스의 지적 재산권과 상표권을 Redis Labs에 양도했다.[93]

2020년 6월, 창시자인 산필리포는 레디스의 단독 유지 관리자 자리에서 물러났고, 요시 고틀리브(Yossi Gottlieb)와 오란 아그라(Oran Agra)가 그 뒤를 이었다.[36][37][94][95][96]

한편, 2018년 Redis Labs는 일부 선택적 모듈에 대해 소스 사용 가능 소프트웨어 라이선스인 Server Side Public License(SSPL)을 적용한다고 발표했다.[25][34] 이후 2024년 3월, Redis Ltd.는 버전 7.4부터 핵심 레디스 저장소의 라이선스를 독점적인 'Redis Source Available License v2(RSALv2)'와 'Server Side Public License v1(SSPLv1)'의 듀얼 라이선스로 변경한다고 발표했다.[5][75][98] 이러한 라이선스 변경은 오픈 소스 커뮤니티의 반발을 샀고, 이에 대응하여 Linux Foundation은 레디스의 포크인 Valkey 프로젝트를 출범시켜 커뮤니티 주도의 오픈 소스 레디스 개발을 이어가게 되었다.[38][99]

DB-Engines.com의 월간 랭킹에서 레디스는 종종 가장 인기 있는 키-값 데이터베이스로 평가받고 있다.[78] 또한 2015년 사용자 리뷰 기반 만족도 및 시장 점유율 평가에서 NoSQL 데이터베이스 중 4위를 차지했으며[79], 도커 등 컨테이너 환경에서 사용되는 NoSQL 데이터베이스로는 1위를 기록하기도 했다.[80]

2. 1. 개발 배경



레디스(Redis)라는 이름은 "Remote Dictionary Server"(원격 사전 서버)를 의미한다.[6] 레디스 프로젝트는 이탈리아의 한 스타트업에서 시작되었다. 이 회사의 개발자이자 "antirez"라는 별명으로 알려진 살바토레 산필리포(Salvatore Sanfilippo)는 실시간 웹 로그 분석기를 개발하던 중, 기존 데이터베이스 시스템으로는 특정 유형의 작업을 확장하는 데 어려움을 겪었다.[26] 이러한 확장성 문제를 해결하기 위해 산필리포는 2009년, Tcl 언어를 사용하여 레디스의 첫 번째 개념 증명(proof-of-concept) 버전을 만들었다.[26][82]

이후 산필리포는 이 프로토타입을 C로 다시 작성하고 첫 번째 데이터 유형인 리스트(list)를 구현했다. 몇 주간 내부적으로 프로젝트를 성공적으로 사용한 후, 그는 프로젝트를 오픈 소스로 공개하기로 결정하고 Hacker News에 이를 발표했다. 레디스는 공개 이후, 특히 Ruby 커뮤니티 사이에서 빠르게 인기를 얻었으며, GitHub와 Instagram 등이 초기에 레디스를 도입한 대표적인 회사들이다.[27][28]

2. 2. 오픈 소스 공개 및 발전



레디스는 2009년, 최초 개발자인 살바토레 산필리포(Salvatore Sanfilippo)에 의해 오픈 소스로 공개되었다. 산필리포는 Hacker News에 프로젝트를 발표했고, 이는 특히 Ruby 커뮤니티를 중심으로 빠르게 주목받기 시작했다. GitHub와 Instagram 같은 기업들이 초기에 레디스를 도입한 대표적인 사례이다.[27][28][73]

레디스 프로젝트는 여러 기업의 후원을 받으며 발전했다.

  • 2010년 3월: 산필리포가 VMware에 합류하면서 VMware가 첫 후원사가 되었다.[29][30][31][83][84][85][77]
  • 2013년 5월: VMware에서 분사한 Pivotal Software가 후원을 이어받았다.[32][86]
  • 2015년 7월: 산필리포가 Redis Labs(2021년 8월 Redis Ltd.로 사명 변경[97])로 이직하면서 Redis Labs가 새로운 후원사가 되었다.[33][89][90][91] 2018년에는 산필리포가 레디스의 지적 재산권과 상표권을 Redis Labs에 양도했다.[93]


2018년 10월에는 레디스 5.0 버전이 출시되었는데, 이때 새로운 데이터 구조인 레디스 스트림(Redis Stream)이 도입되었다.[35]

2020년 6월, 창시자인 산필리포는 레디스의 단독 유지 관리자 자리에서 물러났고, 요시 고틀리브(Yossi Gottlieb)와 오란 아그라(Oran Agra)가 그 뒤를 이었다.[36][37][94][95][96]

그러나 2018년 8월, Redis Labs는 레디스의 일부 모듈에 대해 소스 사용 가능 소프트웨어 라이선스인 Server Side Public License를 적용한다고 발표하면서 논란의 여지를 남겼다. 당시 핵심 레디스 소프트웨어는 기존의 BSD 라이선스를 유지할 것이라고 밝혔었다.[25][34] 하지만 2024년 3월, Redis Ltd.(구 Redis Labs)는 버전 7.4부터 핵심 레디스 저장소의 라이선스를 독점적인 'Redis Source Available License v2'와 'Server Side Public License v1' 듀얼 라이선스로 변경한다고 발표하며 2018년의 약속을 번복했다.[5][75][98] 이러한 결정은 오픈 소스 커뮤니티의 반발을 샀고, 이에 Linux Foundation은 레디스의 포크인 Valkey 프로젝트를 출범시켜 커뮤니티 주도의 오픈 소스 레디스 개발을 이어가게 되었다.[38][99]

2. 3. 후원 및 개발 주체 변화



레디스의 최초 개발자인 살바토레 산필리포(Salvatore Sanfilippo)는 2010년 3월 VMware에 고용되었고, 이에 따라 레디스 프로젝트는 VMware의 후원을 받게 되었다.[29][30][31][83][84][85][77] 이후 2013년 5월에는 VMware에서 분사한 Pivotal Software가 레디스의 새로운 후원사가 되었다.[32][86]

2015년 7월, 산필리포는 Redis Labs에 합류하였고, 레디스 개발은 Redis Labs의 후원을 받게 되었다.[33][89][90][91] 2018년, 산필리포는 레디스의 지적 재산과 상표권을 Redis Labs에 양도했다.[93] 같은 해 8월, Redis Labs는 레디스의 일부 부가 기능 모듈에 대해 소스 사용 가능 소프트웨어 라이선스인 Server Side Public License를 적용한다고 발표했으나, 핵심 레디스 소프트웨어는 기존의 BSD 라이선스를 유지할 것이라고 밝혔다.[25][34] (Redis Labs는 2021년 8월 Redis Ltd.로 사명을 변경했다.[97])

2020년 6월, 살바토레 산필리포는 레디스의 유일한 유지보수 관리자 역할에서 물러났으며, 요시 고틀리브(Yossi Gottlieb)와 오란 아그라(Oran Agra)가 공동으로 그 역할을 이어받았다.[36][37][94][95][96]

2024년 3월, Redis Ltd.는 2018년의 설명과는 달리, 레디스 버전 7.4부터 핵심 저장소의 라이선스를 기존의 BSD 라이선스에서 소스 사용 가능 라이선스인 'Redis Source Available License v2(RSALv2)'와 'Server Side Public License v1(SSPLv1)'의 듀얼 라이선스로 변경한다고 발표했다.[5][75][98] 이러한 라이선스 변경에 대응하여, Linux Foundation은 레디스의 포크 프로젝트인 Valkey를 출범시켰다.[38][99] 이는 기존의 커뮤니티 개발자, 기여자, 사용자들이 레디스 데이터베이스의 오픈 소스 버전을 계속 개발하고 사용할 수 있도록 하기 위한 움직임이다.

3. 주요 특징

Redis|레디스eng(REmote DIctionary Server)는 키-값 저장소 모델을 기반으로 하는 데이터베이스 관리 시스템이다.[76][77] 레디스는 다른 데이터베이스 시스템과 구별되는 몇 가지 주요 특징을 가진다.

첫째, 단순한 문자열 외에도 리스트, 집합, 정렬된 집합, 해시 등 다양한 추상 데이터 유형을 값으로 직접 지원하여 유연한 데이터 처리를 가능하게 한다. 각 데이터 유형별로 최적화된 명령어를 제공하며, 서버 측에서 원자적 연산을 지원한다.

둘째, 데이터를 주로 메모리에서 처리하여 매우 빠른 성능을 제공한다. 이 덕분에 고성능 캐시 시스템으로 널리 사용된다.

셋째, 메모리 기반 작동 방식에도 불구하고, 스냅샷(Snapshot)이나 AOF(Append-Only File) 방식을 통해 데이터를 디스크에 저장하여 영속성을 확보할 수 있다. 데이터 저장 시 fork 시스템 호출을 활용하여 서비스 중단을 최소화한다.

넷째, 마스터-레플리카 복제 기능을 통해 데이터의 가용성을 높이고 읽기 부하를 분산할 수 있다.

다섯째, 버전 3.0부터 지원되는 클러스터링 기능을 통해 여러 노드에 데이터를 분산시켜 확장성을 확보하고 결함 허용 능력을 향상시킬 수 있다.

여섯째, 모듈 API를 통해 JSON, 검색, 시계열, 확률적 데이터 구조 등 기본 기능 외의 다양한 데이터 유형과 기능을 확장할 수 있다.

이러한 특징들 덕분에 레디스는 DB-Engines.com 랭킹에서 가장 인기 있는 키-값 저장소로 자주 언급되며[78], NoSQL 데이터베이스 중에서도 높은 사용자 만족도와 시장 점유율을 보인다.[79][80][81]

3. 1. 데이터 모델

레디스의 기본적인 데이터 모델은 키(key)를 값(value)에 매핑하는 딕셔너리 구조이다. 다른 구조화된 스토리지 시스템과의 주요 차이점 중 하나는 레디스가 단순한 문자열뿐만 아니라 다음과 같은 다양한 추상 데이터 유형을 값으로 지원한다는 점이다.[76][77]

  • 문자열 (String): 가장 기본적인 유형으로, 텍스트 데이터뿐만 아니라 JPEG 이미지나 직렬화된 객체 등 모든 종류의 바이너리 데이터를 저장할 수 있다. 레디스에서는 이를 바이너리 세이프(binary-safe) 문자열이라고 부른다.
  • 리스트 (List): 문자열 요소들의 컬렉션으로, 삽입된 순서대로 유지된다. 연결 리스트와 유사하게 구현되어 있어, 리스트의 시작이나 끝에 요소를 추가하는 작업(Push/Pop)이 매우 빠르다. 나 스택, 양방향 큐로 활용될 수 있다.
  • 집합 (Set): 정렬되지 않은 문자열 요소들의 컬렉션으로, 중복된 값을 허용하지 않는다. 요소의 존재 여부를 빠르게 확인하거나, 여러 집합 간의 교집합, 합집합, 차집합 등 집합 연산을 수행하는 데 유용하다.
  • 정렬된 집합 (Sorted Set): 집합과 유사하지만, 각 요소가 스코어(score)라는 부동소수점 숫자와 연결되어 있어 항상 스코어 순서대로 정렬된다. 요소는 중복되지 않지만, 스코어는 중복될 수 있다. 범위 기반 검색이나 순위(랭킹) 구현에 적합하다.
  • 해시 (Hash): 필드(field)와 값(value)의 쌍으로 이루어진 맵(map) 구조이다. 여러 필드를 가진 객체를 표현하는 데 적합하며, 각 필드별로 값을 개별적으로 설정하거나 가져올 수 있다.


값의 데이터 유형에 따라 해당 값에 적용할 수 있는 연산(명령)이 결정된다. 레디스는 리스트, 집합, 정렬된 집합의 정렬이나 집합 간의 교집합, 합집합, 차집합 계산과 같은 고수준의 서버 측 연산을 원자적으로 지원한다.

레디스는 핵심 데이터 유형 외에도 특정 목적을 위한 데이터 구조를 지원한다.

  • 비트맵 (Bitmap): 문자열 유형을 기반으로 비트 단위 연산을 수행할 수 있게 한다. 공간 효율적으로 상태 정보(예: 사용자 접속 여부)를 저장하고 추적하는 데 유용하다.
  • HyperLogLog: 집합의 카디널리티(고유한 요소의 개수)를 매우 적은 메모리로 추정할 수 있는 확률적 데이터 구조이다. (레디스 2.8.9, 2014년 4월부터 사용 가능)
  • 지리 공간 데이터 (Geospatial): 지오해시 기술을 사용하여 위도, 경도 좌표를 저장하고 특정 지점 주변의 장소를 검색하거나 두 지점 간의 거리를 계산하는 등의 기능을 제공한다. (레디스 3.2부터 사용 가능)
  • 스트림 (Stream): 로그와 유사한 추가 전용(append-only) 데이터 구조로, 여러 필드와 문자열 값으로 구성된 항목을 시간 순서대로 저장한다. 소비자 그룹 기능을 통해 여러 클라이언트가 스트림 데이터를 협력적으로 처리할 수 있다. (레디스 5.0, 2018년 10월부터 사용 가능)


또한, 레디스 모듈 API를 통해 더 많은 데이터 유형과 기능을 확장할 수 있다. 대표적인 모듈은 다음과 같다.

  • RedisJSON: JSON 데이터를 네이티브 데이터 유형처럼 저장하고 조작할 수 있게 한다.
  • RediSearch: 보조 인덱싱, 전문 검색, 벡터 유사성 검색, 집계 기능을 제공하는 쿼리 엔진이다.
  • RedisTimeSeries: 시계열 데이터를 효율적으로 저장하고 쿼리하기 위한 데이터 구조를 제공한다.
  • RedisBloom: 블룸 필터, 뻐꾸기 필터, Count-Min Sketch, Top-K 등 다양한 확률적 데이터 구조를 제공한다.


과거에는 그래프 데이터베이스 기능을 제공하는 RedisGraph 모듈이 있었으나, 현재는 개발이 중단되었고 포크된 FalkorDB 프로젝트로 개발이 이어지고 있다.

3. 2. 성능

레디스는 데이터를 주로 컴퓨터 메모리에서 읽고 수정하도록 설계되어 빠른 성능을 제공한다. 데이터는 디스크에도 저장되지만, 이는 시스템 재시작 시 메모리로 데이터를 다시 불러오는 용도이며 임의 접근에는 적합하지 않은 형식이다.

특히 데이터의 내구성이나 영속성이 중요하지 않은 경우, 레디스의 메모리 내 처리 방식은 모든 변경 사항을 디스크에 기록한 후 트랜잭션커밋하는 일반적인 데이터베이스 시스템에 비해 훨씬 뛰어난 성능을 보인다.[6][76] 이러한 경우 레디스는 메모리 상에서만 동작하여 성능 이점을 극대화할 수 있다.[76]

레디스는 fork 시스템 호출을 활용하여 데이터를 디스크에 저장하는 작업을 백그라운드에서 수행한다. 데이터를 가진 프로세스를 복제하여 자식 프로세스가 디스크 쓰기를 담당하는 동안, 부모 프로세스는 중단 없이 계속해서 클라이언트 요청을 처리할 수 있다.

레디스는 기본적으로 단일 프로세스로 작동하며, AOF(append-only file) 재작성 시에는 단일 스레드 또는 이중 스레드로 동작한다.[61] 이 때문에 하나의 레디스 인스턴스에서는 저장 프로시저와 같은 작업을 병렬로 실행할 수 없다.

3. 3. 지속성 (Persistence)

레디스는 데이터를 기본적으로 주 메모리에서 읽고 수정하도록 설계되었지만, 디스크에도 데이터를 저장하여 영속성을 확보한다. 디스크에 저장된 데이터는 임의 접근에는 적합하지 않은 형식이며, 시스템 재시작 시 메모리로 다시 로드되어 사용된다.[59]

레디스에서 데이터 영속성을 확보하는 방법은 크게 두 가지가 있다.[112]

첫 번째는 스냅샷(Snapshot) 방식이다. 이 방식은 특정 시점의 메모리 내 데이터 전체를 RDB(Redis Database Backup) 덤프 파일 형식으로 디스크에 비동기적으로 저장한다.[59] 레디스는 fork 시스템 호출을 사용하여 데이터 저장 작업을 백그라운드에서 수행하므로, 저장 중에도 서비스 중단 없이 클라이언트 요청을 처리할 수 있다.

두 번째는 AOF(Append-Only File) 방식이다. 버전 1.1부터 도입된 이 방식은 데이터를 변경하는 모든 쓰기 명령을 트랜잭션 로그 형태로 파일 끝에 순차적으로 기록한다.[112][59] 이 방식은 스냅샷보다 데이터 유실 위험이 적어 일반적으로 더 안전한 것으로 간주된다. 레디스는 AOF 파일이 불필요하게 커지는 것을 방지하기 위해 백그라운드에서 파일을 최적화된 형태로 재작성하는 기능을 제공한다.[59][112]

과거 버전 2.4 이전에는 데이터셋의 일부를 디스크에 저장하는 가상 메모리 기능도 지원했으나, 현재는 사용되지 않는 기능이다.[59][112]

기본 설정에서 레디스는 최소 2초마다 데이터를 파일 시스템에 기록한다. 필요에 따라 더 자주 기록하도록 설정을 변경하여 안정성을 높일 수 있다. 기본 설정 상태에서 시스템에 완전한 장애가 발생하더라도 손실되는 데이터는 최대 몇 초 분량으로 제한된다.[59][112]

3. 4. 복제 (Replication)

레디스는 마스터-레플리카 복제 방식을 지원한다. 레디스 서버의 데이터는 여러 대의 레플리카 서버로 복제될 수 있으며, 이 레플리카는 다시 다른 레플리카의 마스터 역할을 수행할 수 있다. 이를 통해 레디스는 단일 루트 형태의 복제 트리 구조를 구현하는 것이 가능하다. 레디스의 레플리카는 쓰기 작업을 허용하도록 설정할 수도 있는데, 이 경우 각 인스턴스(서버) 간의 데이터가 의도적으로 또는 비의도적으로 일치하지 않는 상태를 허용하게 된다.[60][113]

또한, 레디스는 게시-구독 패턴 기능을 완전히 구현하고 있다. 마스터 서버에서 발행(Publish)된 메시지는 복제 트리 내의 어느 레플리카에 연결된 클라이언트라도 구독(Subscribe)하여 받아볼 수 있다. 이러한 복제 기능은 주로 데이터 읽기 성능을 높이거나(읽기 확장성), 데이터의 안정적인 보존(데이터 중복성)을 위해 유용하게 사용된다. 다만, 쓰기 성능 향상에는 직접적인 도움이 되지 않는다.[60][113]

3. 5. 클러스터링

레디스는 2015년 4월 버전 3.0 릴리스와 함께 클러스터링 기능을 도입했다.[62]클러스터 사양은 레디스 명령어의 일부 하위 집합만을 구현한다. 모든 단일 키 명령어는 사용할 수 있지만, 여러 키를 동시에 다루는 작업(예: 합집합, 교집합 관련 명령어)은 동일한 노드에 속한 키에 대해서만 제한적으로 허용된다. 또한, 데이터베이스 선택 관련 명령어는 사용할 수 없다.[63] 레디스 클러스터는 최대 1,000개의 노드까지 확장 가능하며, 일정 수준의 쓰기 안전성을 보장하고 일부 노드에 장애가 발생하더라도 작업을 지속할 수 있도록 설계되었다.[64][65]

레디스 프로젝트는 클러스터 사양을 공식적으로 가지고 있으며[114], 개발자인 산필리포(Sanfilippo)는 제품 버전의 레디스 클러스터가 키 공간의 자동 파티셔닝 및 핫 리샤딩을 지원하며, 단일 키 조작만을 지원한다고 언급했다[115] (베타 버전은 2013년 말 출시 예정이었다[116]). 향후 버전에서는 1,000개 이상의 노드를 지원하고, 하트비트(heartbeat)와 장애 감지를 통해 결함 허용 기능을 강화하며, 슬레이브 노드가 마스터 노드로 승격되는 기능, 모든 노드에 대한 발행-구독(publish-subscribe) 모델 등을 구현할 계획이다.[114][117]

4. 지원 언어

레디스는 수많은 프로그래밍 언어에서 언어 바인딩을 지원하며[132][45][110], 클라이언트 측에서 사용할 수 있는 언어는 다음과 같다:

ActionScript, Bash, C, C++, C#, Chicken Scheme, Clojure, Common Lisp, Crystal, D, Dart, Delphi[46], Deno, Elixir, Emacs Lisp, Erlang, gawk, GNU Prolog, Go, Haskell, Haxe, Io, 자바, 자바스크립트 (Node.js), Julia, Lua, Nim, Objective-C, OCaml, Perl, PHP, Pure Data, Python, R[133][47][111], Racket, Ruby, Rust, Scala, Smalltalk, Swift, Tcl.

여러 클라이언트 소프트웨어 프로그램이 이러한 언어들로 존재한다.[45]

또한 레디스는 버전 2.6부터 Lua 언어를 이용한 서버 측 스크립팅 기능을 제공한다.[44]

5. 활용 사례

레디스는 데이터베이스 설계 특성상 다양한 분야에서 활용된다. 대표적인 예로는 세션 캐싱, 전체 페이지 캐시(Full Page Cache, FPC), 메시지 큐, 리더보드, 카운팅 등이 있다.[66] 또한, 발행-구독 메시징 방식은 서버 간 실시간 통신을 구현하는 데 사용된다.

전 세계적으로 많은 기업들이 레디스를 사용하고 있다. 대표적인 기업으로는 트위터,[12][13][70] 에어비앤비,[14] 틴더,[15] 야후,[16] 어도비,[17] 훌루,[18] 아마존 등이 있다.[19]

DB-Engines.com의 월간 순위에서 레디스는 가장 인기 있는 키-값 데이터베이스로 자주 선정된다.[78] 또한, 2015년 사용자 리뷰 기반 만족도 및 시장 점유율 조사에서 NoSQL 데이터베이스 중 4위를 기록했으며,[79] 도커와 같은 컨테이너 환경에서 가장 많이 사용되는 NoSQL 데이터베이스 1위,[80] 상위 50개 개발자 도구 및 서비스 중 NoSQL 데이터베이스 1위로 선정되기도 했다.[81]

5. 1. 관리형 서비스

주요 클라우드 서비스 제공 업체들은 레디스를 위한 관리형 서비스를 제공한다. 각 업체별 서비스는 다음과 같다.

클라우드 제공 업체관리형 레디스 서비스
아마존 웹 서비스ElastiCache for Redis
구글 클라우드Cloud Memorystore for Redis[67]
마이크로소프트 애저Azure Cache for Redis[68]
알리바바 클라우드ApsaraDB for Redis[69]


6. Redis Stack

Redis에 여러 기능을 추가한 모듈들을 묶어 Redis Stack이라는 이름으로 배포하고 있다.[118] 이 소프트웨어는 오픈 소스가 아니라 소스 어베일러블 라이선스로 제공된다.[119] Redis Stack에는 데이터 시각화 및 관리, JSON 데이터 처리, 전체 텍스트 검색, 시계열 데이터베이스, 확률적 자료구조 처리 등 다양한 기능을 제공하는 모듈들이 포함되어 있다.

6. 1. 관련 프로젝트

Redis에 여러 기능을 추가한 모듈들을 묶어 Redis Stack으로 배포하고 있다.[118] 이 소프트웨어들은 오픈 소스가 아니라 소스 어베일러블 라이선스로 제공된다.[119] Redis Stack에 포함된 주요 모듈은 다음과 같다.

  • RedisInsight: Redis의 데이터 내용을 시각적으로 확인하고 관리할 수 있는 도구이다.[120]
  • RedisJSON: JSON 형식의 데이터를 저장하고 처리하는 데이터베이스 기능을 제공한다.[121]
  • RediSearch: 전체 텍스트 검색, 위도/경도를 이용한 지리 공간 검색, 벡터 데이터베이스를 활용한 유사 문장 검색 등을 지원한다.[122]
  • RedisTimeSeries: 시계열 데이터베이스 기능을 제공하여 시간 순서에 따른 데이터를 효율적으로 관리한다.[123]
  • RedisBloom: 블룸 필터와 같은 확률적 자료구조를 이용하여 데이터를 처리한다.[124]


과거에는 Redis Stack에 포함되었으나 현재는 지원이 종료된 프로젝트도 있다.

  • RedisGraph: 그래프 데이터베이스 기능을 제공했으며, Cypher를 쿼리 언어로 사용했다. 2023년 7월 5일에 지원 종료가 발표되었다.[125]


Redis Stack에는 포함되지 않지만, Redis 생태계에서 유용하게 활용될 수 있는 관련 프로젝트들도 존재한다.

  • RedisGears: 파이썬이나 자바 등으로 작성된 함수를 Redis 서버 내에서 직접 실행할 수 있게 한다.[126]
  • RedisAI: 딥 러닝 모델을 Redis 상에서 실행할 수 있도록 지원한다. 텐서플로우, 파이토치, ONNX Runtime 등 다양한 딥러닝 프레임워크와 호환된다.[127]

참조

[1] 웹사이트 An interview with Salvatore Sanfilippo, creator of Redis, working out of Sicily http://www.eu-startu[...] Menlo Media 2011-01-04
[2] 웹사이트 Salvatore Sanfilippo: Welcome to Redis Labs https://redis.com/bl[...] 2015-07-15
[3] 웹사이트 Page 7 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...] 2024-03-22
[4] 웹사이트 Introduction to Redis https://redis.io/top[...]
[5] 웹사이트 LICENSE.txt https://github.com/r[...] 2024-03-20
[6] 웹사이트 FAQ: Redis https://redis.io/top[...] 2022-02-12
[7] 웹사이트 Google Groups https://groups.googl[...] 2022-02-25
[8] 웹사이트 Redis https://redis.io/ 2023-07-22
[9] 웹사이트 Redis becomes the most popular database on AWS as complex cloud application deployments surge https://www.theregis[...] 2023-07-22
[10] 웹사이트 Instablinks EP 07: Redis™—The Most Popular In-Memory Database Technology https://www.instaclu[...] 2023-07-22
[11] 웹사이트 DB-Engines Ranking https://db-engines.c[...] 2023-07-22
[12] Youtube Scaling Redis at Twitter https://www.youtube.[...] 2023-07-22
[13] Youtube Using Redis at Scale at Twitter - by Rashmi Ramesh of Twitter - RedisConf17 - https://www.youtube.[...] 2023-07-22
[14] Youtube AWS re:Invent 2018: Airbnb's Journey from Self-Managed Redis to ElastiCache for Redis (DAT319) https://www.youtube.[...] 2023-07-22
[15] 웹사이트 Building resiliency at scale at Tinder with Amazon ElastiCache {{!}} AWS Database Blog https://aws.amazon.c[...] 2023-07-22
[16] Youtube AWS re:Invent 2022 - How Yahoo cost optimizes their in-memory workloads with AWS (DAT321) https://www.youtube.[...] 2023-07-22
[17] Youtube AWS re:Invent 2014 {{!}} (SDD402) Amazon ElastiCache Deep Dive https://www.youtube.[...] 2023-07-22
[18] 웹사이트 Hulu Case Study https://aws.amazon.c[...] 2023-07-22
[19] 웹사이트 Amazon GameOn Database Migration Case Study – Amazon Web Services (AWS) https://aws.amazon.c[...] 2023-07-22
[20] 웹사이트 Elevated API Errors https://status.opena[...] 2023-10-28
[21] 웹사이트 A conversation with Salvatore Sanfilippo, creator of the open-source database Redis https://venturebeat.[...] 2021-06-29
[22] 웹사이트 Redis Labs hires the creator of Redis, Salvatore Sanfilippo https://www.networkw[...] 2015-08-30
[23] 웹사이트 Database maestro Antirez says arrivederci to Redis: Seems he wants an unstructured life writing code, not a structured one managing software https://www.theregis[...] 2021-06-29
[24] 웹사이트 Database startup Redis Labs rebrands as ... just Redis https://siliconangle[...] 2021-08-11
[25] 웹사이트 Redis has a license to kill: Open-source database maker takes some code proprietary https://www.theregis[...] 2024-03-21
[26] 웹사이트 Tcl prototype of Redis https://gist.github.[...] 2018-10-08
[27] 웹사이트 Introducing Resque https://blog.github.[...] 2018-10-08
[28] 웹사이트 Storing hundreds of millions of simple key-value pairs in Redis https://instagram-en[...] 2018-10-08
[29] 웹사이트 VMware Hires Redis Key Developer – But Why? https://prodlife.wor[...] 2016-09-25
[30] 웹사이트 VMware: the new Redis home http://antirez.com/p[...] 2016-09-25
[31] 웹사이트 VMware: The Console: VMware hires key developer for Redis http://blogs.vmware.[...] 2016-09-25
[32] 웹사이트 Redis Sponsors https://redis.io/top[...] Redis Labs 2019-04-11
[33] 웹사이트 Thanks Pivotal, Hello Redis Labs http://antirez.com/n[...] 2019-04-03
[34] 웹사이트 Redis' License is BSD and will remain BSD https://redis.io/blo[...] Redis Labs 2024-09-30
[35] 웹사이트 Redis 5.0 is here! https://redis.com/bl[...] 2018-10-22
[36] 웹사이트 Database maestro Antirez says arrivederci to Redis: Seems he wants an unstructured life writing code, not a structured one managing software https://www.theregis[...]
[37] 웹사이트 The end of the Redis adventure - http://antirez.com/n[...] 2020-11-10
[38] 웹사이트 Linux Foundation Launches Open Source Valkey Community https://www.linuxfou[...]
[39] 웹사이트 DB-Engines Ranking - popularity ranking of key-value stores http://db-engines.co[...]
[40] 웹사이트 Best NoSQL Databases: Fall 2015 Report from G2 Crowd https://web.archive.[...] G2 Crowd 2015-08-25
[41] 웹사이트 8 Surprising Facts about Real Docker Adoption https://www.datadogh[...] 2018-06-13
[42] 웹사이트 🏆 The Top 50 Developer Tools of 2019 https://stackshare.i[...] 2020-07-28
[43] 웹사이트 Developer Survey Results 2021: Most Loved, Dreaded, and Wanted Databases https://insights.sta[...] Stack Exchange 2021-08-23
[44] 웹사이트 EVAL – Redis https://redis.io/com[...]
[45] 웹사이트 Redis https://redis.io/cli[...]
[46] 웹사이트 Danieleteti/Delphiredisclient https://github.com/d[...] 2022-09-17
[47] 웹사이트 rredis: "Redis" Key/Value Database Client https://cran.r-proje[...] 2015-07-05
[48] 웹사이트 Redis 3.2 Release Notes https://github.com/a[...] 2017-03-10
[49] 웹사이트 Redis Licensing Overview https://redis.com/le[...] 2023-09-30
[50] 웹사이트 RedisJSON - a JSON data type for Redis https://oss.redis.co[...]
[51] 웹사이트 RedisJSON - a JSON data type for Redis http://redisjson.io
[52] 간행물 RediSearch https://github.com/R[...] RediSearch 2023-09-30
[53] 웹사이트 RedisTimeSeries - Time-Series data structure for Redis https://oss.redis.co[...]
[54] 웹사이트 RedisBloom - Probabilistic Datatypes Module for Redis https://oss.redis.co[...]
[55] 웹사이트 Modules https://redis.io/res[...] 2023-09-30
[56] 웹사이트 RedisGraph - a graph database module for Redis https://oss.redis.co[...]
[57] 웹사이트 RedisGraph End-of-Life Announcement https://redis.com/bl[...] 2023-09-30
[58] 간행물 FalkorDB https://github.com/F[...] FalkorDB 2023-09-30
[59] 웹사이트 Virtual Memory https://redis.io/top[...] 2019-04-11
[60] 웹사이트 Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...]
[61] 웹사이트 Redis on the Raspberry Pi: adventures in unaligned lands - http://antirez.com/n[...]
[62] 웹사이트 Redis 3.0 Release Notes https://github.com/a[...] 2017-03-10
[63] 웹사이트 Cluster Spec https://redis.io/top[...] 2017-03-10
[64] 웹사이트 Cluster Spec https://redis.io/top[...] 2017-03-10
[65] 웹사이트 Cluster Tutorial https://redis.io/top[...] 2017-03-10
[66] 웹사이트 Top 5 Redis use cases - ObjectRocket http://objectrocket.[...] Rackspace 2017-11-07
[67] 웹사이트 Memorystore: in-memory data store https://cloud.google[...] 2023-02-03
[68] 웹사이트 Azure Redis Cache - Redis cache cloud service - Microsoft Azure https://azure.micros[...]
[69] 웹사이트 ApsaraDB for Redis: A Key Value Database Service - Alibaba Cloud https://www.alibabac[...]
[70] 웹사이트 How Twitter Uses Redis to Scale - 105TB RAM, 39MM QPS, 10,000+ Instances - High Scalability http://highscalabili[...] 2014-09-08
[71] 뉴스 An interview with Salvatore Sanfilippo, creator of Redis, working out of Sicily http://www.eu-startu[...] EU-Startups 2011-01-04
[72] 뉴스 Salvatore Sanfilippo – Welcome to Redis Labs https://redislabs.co[...] Redis Labs 2015-07-15
[73] 웹사이트 Page 7 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...] 2024-03-22
[74] 웹사이트 Redis Licensing Overview https://redis.com/le[...] 2024-03-22
[75] 웹사이트 Redis Adopts Dual Source-Available Licensing https://redis.com/bl[...] 2024-03-22
[76] 웹사이트 FAQ, Redis http://redis.io/topi[...] 2017-03-16
[77] 웹사이트 Redis https://aws.amazon.c[...] AWS 2020-06-10
[78] 웹사이트 DB-Engines Ranking of Key-value Stores http://db-engines.co[...]
[79] 웹사이트 Best NoSQL Databases: Fall 2015 Report from G2 Crowd http://about.g2crowd[...]
[80] 웹사이트 The Current State of Container Usage https://clusterhq.co[...]
[81] 웹사이트 Top 50 Developer Tools and Services of 2015 http://stackshare.io[...]
[82] 웹사이트 LMDB -- First version of Redis written in Tcl https://gist.github.[...]
[83] 웹사이트 VMware Hires Redis Key Developer – But Why? https://prodlife.wor[...] 2016-09-25
[84] 웹사이트 VMware: the new Redis home http://antirez.com/p[...] 2016-09-25
[85] 웹사이트 VMware: The Console: VMware hires key developer for Redis http://blogs.vmware.[...] 2016-09-25
[86] 웹사이트 Redis Sponsors http://redis.io/topi[...] Redis Labs 2016-09-25
[87] 웹사이트 UPDATED - Was Garantia, Is Now RedisDB. Either Way NoSQL Is Hot. But Open Source Firestorm Ensues https://www.forbes.c[...] 2024-03-22
[88] 웹사이트 Database Provider Garantia Data Makes Another Name Change, This Time To Redis Labs https://techcrunch.c[...] 2024-03-22
[89] 뉴스 Thanks Pivotal, Hello Redis Labs http://antirez.com/n[...] Redis Labs 2015-07-15
[90] 웹사이트 Redis Creator, Salvatore Sanfilippo (Antirez), Joins Redis https://redis.com/pr[...] 2024-03-22
[91] 웹사이트 Salvatore Sanfilippo - Welcome to Redis https://redis.com/bl[...] 2024-03-22
[92] 웹사이트 Introducing Redis Enterprise https://redis.com/bl[...] 2024-03-22
[93] 웹사이트 Redis Labs Becomes, Simply, Redis https://redis.com/pr[...] 2024-03-22
[94] 웹사이트 The end of the Redis adventure - <antirez> http://antirez.com/n[...] 2024-03-22
[95] 웹사이트 New Governance for Redis https://redis.com/bl[...] 2024-03-22
[96] 웹사이트 Thank You, Salvatore Sanfilippo https://redis.com/bl[...] 2024-03-22
[97] 웹사이트 From Our Founders: Becoming One Redis https://redis.com/bl[...] 2024-03-22
[98] 웹사이트 LICENSE.txt https://github.com/r[...] 2024-04-28
[99] 웹사이트 Linux Foundation Launches Open Source Valkey Community https://www.linuxfou[...] 2024-04-29
[100] 웹사이트 Page 6 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...] 2024-03-22
[101] 웹사이트 Page 4 of 7 - Redis - Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...] 2024-03-22
[102] 웹사이트 Redis 3.0 release notes https://raw.githubus[...]
[103] 웹사이트 Redis 4.0 release notes https://raw.githubus[...]
[104] 웹사이트 Redis 4.0 Now Available on Redis Enterprise https://redis.com/bl[...] 2022-07-23
[105] 웹사이트 Announcing Redis Enterprise Pack 5.0 GA https://redis.com/bl[...] 2022-07-23
[106] 웹사이트 Redis 5.0 is here! https://redis.com/bl[...] 2022-07-23
[107] 웹사이트 Diving Into Redis 6.0 https://redis.com/bl[...] 2022-07-23
[108] 웹사이트 Rediscover Redis Security with Redis Enterprise 6.0 https://redis.com/bl[...] 2022-07-23
[109] 웹사이트 Redis 7.0 Is Out! https://redis.com/bl[...] 2022-07-23
[110] 웹사이트 Clients https://redis.io/res[...] 2023-05-19
[111] CRAN Package rredis https://cran.r-proje[...]
[112] 문서 Redis documentation Virtual Memory http://redis.io/topi[...] redis.io 2011-01-18
[113] ReplicationHowto ReplicationHowto – redis – A persistent key-value database with built-in net interface written in ANSI-C for Posix systems – Google Project Hosting https://code.google.[...]
[114] 문서 Redis Cluster Specification http://redis.io/topi[...] Redis.io 2013-12-25
[115] 뉴스 News about Redis: 2.8 is shaping, I'm back on Cluster http://antirez.com/n[...] Antirez Weblog - Salvatore Sanfilippo 2013-12-25
[116] 문서 Redis Download Page http://redis.io/down[...] Redis.io 2013-12-25
[117] 문서 Redis Cluster - a Pragmatic Approach to Distribution http://redis.io/pres[...] Redis.io 2013-12-25
[118] 웹사이트 About Redis Stack https://redis.io/doc[...] 2023-05-19
[119] 웹사이트 Redis Licensing Overview {{!}} Redis https://redis.com/le[...] 2023-09-04
[120] 웹사이트 RedisInsight {{!}} The Best Redis GUI https://redis.com/re[...] 2023-05-21
[121] 웹사이트 RedisJSON {{!}} NoSQL Document Database https://redis.com/mo[...] 2023-05-21
[122] 웹사이트 RediSearch {{!}} Full-Text Search Engine for NoSQL Database https://redis.com/mo[...] 2023-05-21
[123] 웹사이트 RedisTimeSeries {{!}} A NoSQL Time Series Database https://redis.com/mo[...] 2023-05-21
[124] 웹사이트 RedisBloom {{!}} Bloom & Cuckoo Filtering for Redis https://redis.com/mo[...] 2023-05-21
[125] 웹사이트 RedisGraph End-of-Life Announcement https://redis.com/bl[...] 2023-09-04
[126] 웹사이트 RedisGears {{!}} Python Scripting in Redis https://redis.com/mo[...] 2023-05-21
[127] 웹사이트 RedisAI - A Server for Machine and Deep Learning Models https://oss.redis.co[...] 2023-09-04
[128] 웹인용 An interview with Salvatore Sanfilippo, creator of Redis, working out of Sicily http://www.eu-startu[...] Menlo Media 2011-01-04
[129] 웹인용 Salvatore Sanfilippo: Welcome to Redis Labs https://redislabs.co[...] 2015-07-15
[130] 웹인용 FAQ: Redis https://redis.io/top[...]
[131] 문서 DB-Engines Ranking of Key-value Stores http://db-engines.co[...]
[132] 웹인용 Redis language bindings http://redis.io/clie[...] 2014-02-07
[133] CRAN Package rredis http://cran.r-projec[...]

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com