레디스(Redis)는 Remote Dictionary Server의 약자로서 '키-값'(key-value) 구조의 비관계형 데이터를 저장하고 관리하기 위한 노에스큐엘(NoSQL)의 일종이다. 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 처음 개발했다. 2015년부터 레디스랩스(Redis Labs)가 지원하고 있다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 데이터베이스 관리 시스템(DBMS)이다. BSD 라이선스를 따른다.
역사
Redis 프로젝트는 Redis 의 최초 개발자 인 antirez 라는 별명을 가진 Salvatore Sanfilippo 가 이탈리아 웹 사이트 의 확장 성을 향상시키고 실시간 웹 로그 분석기를 개발하려고 할 때 시작되었다 . 기존 데이터베이스 시스템을 사용하여 일부 유형의 작업 부하를 조정하는 데 심각한 문제가 발생한 후 Sanfilippo는 Tcl 에서 Redis의 개념 증명 버전을 프로토 타입 화하기 시작했다.나중에 Sanfilippo는 프로토 타입을 C 언어로 번역하고 첫 번째 데이터 유형 인 목록을 구현했다. 내부적으로 성공을 거둔 프로젝트를 몇 주 동안 사용한 후 Sanfilippo는 소스를 공개하고 Hacker News 에서 프로젝트를 발표하기로 결정했다. 프로젝트는 GitHub 과 Instagram을 채택한 최초의 회사 중 하나 인 Ruby 커뮤니티에서 더욱 주목 받기 시작 했다.
Sanfilippo는 2010 년 3 월 VMware 에 고용되었다 .
2013 년 5 월 Redis는 Pivotal Software (VMware 분사)의 후원을 받았다 .
2015 년 6 월에 Redis Las 가 후원했습니다 .
2018 년 10 월에 Redis 5.0이 출시되었습니다. Redis Stream은 단일 키에서 자동 시간 기준 시퀀스를 사용하여 여러 필드와 문자열 값을 저장할 수있는 새로운 데이터 구조입니다.
특징
- 오픈 소스 소프트웨어고
- 디스크가 아닌 메모리 기반의 데이터 저장소이다. (In-Memory data structure store)
- NoSQL & Cache 솔루션이며 메모리 기반으로 구성된다.
- 명시적으로 삭제, expire를 설정하지 않으면 데이터는 삭제되지 않는다(영구적 보존)
- 여러대의 서버 구성 가능하다.
- 데이터베이스로 사용될 수 있으며, Cache로도 사용될 수 있는 기술이다. - 캐쉬로 사용할 경우 저장소 기능을 off해야 함.
- 성능은 서버에 따라 다르나 초당 2만 ~ 10만회 수행한다.
- String, lists, sets, hashes, sorted sets 과 같은 자료구조를 지원한다.
- Redis Sentinel을 통해 높은 가용성을 갖을 수 있고, Redis Cluster를 통해 Master-slave의 클러스터링을 수행할 수 있다.
- 리스트, 배열 형식의 데이터 처리에 특화됨
- 여러 프로세스에서 동시에 같은 key에 대한 갱신을 요청할 경우 Atomic처리로 데이터 부정합 방지 Atomic 처리 함수를 제공
[1]
[2]
활용
Redis는 페이스북, 인스타그램, 네이버 LINE 서비스, StackOverflow, 블리자드, 트위터, GitHub,웨이보, Pinterest, 스냅챗, 크랭크리스트, Digg, StackOverflow, 플리커등 대형 서비스 없체들이 사용자들의 대규모 메세지를 실시간으로 처리하기 위하여 사용하고 있다.
[3]
평가 및 전망
각주
- ↑ 괴발개발 개발새발 하는 개발자,〈APU특징〉,《네이버 블로그》, 2016-06-10
- ↑ swiftymind,〈APU특징〉,《티스토리》, 2018-06-29
- ↑ redis, 〈지원〉,《레디스 공식 사이트》
참고자료
같이 보기
이 레디스 문서는 데이터에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.
|
개발 : 프로그래밍, 소프트웨어, 데이터 □■⊕, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
데이터
|
ACID • CRUD • CSV • DAO • DB • DBMS • DB 명령어 • DCL • DDL • DML • DTO • ERD • ETL • JDBC • LOD • MDM • ODBC • RDBMS • RDF • SQL • 가상 데이터베이스 • 관계형 데이터베이스 • 그래프 • 기본키(PK) • 내부조인 • 널 • 노드 • 다이어그램 • 대리키 • 대체키 • 데이터 • 데이터댐 • 데이터마트 • 데이터 모델링 • 데이터뱅크 • 데이터베이스(DB) • 데이터베이스 언어 • 데이터 사이언스 • 데이터 사전 • 데이터 웨어하우스 • 데이터 정의어(DDL) • 데이터 제어어(DCL) • 데이터 조작어(DML) • 데이터 클러스터 • 데이터 토큰 (문자열) • 데이터 통합 • 덱 • 디비서버 • 라이트조인 • 락 • 레코드 • 레프트조인 • 로그 • 로그파일 • 로깅 • 롤백 • 리두로그 • 릴레이션 • 마스터데이터 • 마스터데이터관리(MDM) • 마이그레이션 • 메타데이터 • 배열 • 뷰 • 빅데이터 • 서브쿼리 • 수퍼키 • 순차리스트 • 스키마 • 스택 • 슬로우쿼리 • 엔티티 • 역정규화 • 연결리스트 • 외래키(FK) • 외부조인 • 인덱스 • 인덱싱 • 인젝션 • 자료구조 • 정규화 • 정보 • 조인 • 커밋 • 쿼리 • 큐 • 키 • 타깃 • 테이블 • 튜플 • 트랜잭션 • 트리 • 트리거 • 티비마이그레이터 • 풀조인 • 프로시저 • 필드 • 해시 • 해시맵 • 해시태그 • 해시테이블 • 해시함수 • 해싱 • 후보키
|
|
데이터베이스 관리 시스템 (DBMS)
|
관계형 데이터베이스 관리 시스템(RDBMS) • 노에스큐엘(NoSQL) • 데이터베이스 관리 시스템(DBMS) • 더비 • 디비투(DB2) • 레디스 • 마리아디비(MariaDB) • 마이에스큐엘(MySQL) • 몽고디비 • 빅테이블 • 사이베이스 • 선디비 • 알티베이스 • 액세스 • 에스큐엘(SQL) • 에스큐엘라이트(SQLite) • 에이치베이스 • 엠에스에스큐엘(MS-SQL) • 오라클(Oracle) • 인터베이스 • 인포믹스 • 카산드라 • 카우치디비 • 큐브리드 • 티베로 • 파이어버드 • 포스트그레스큐엘(PostgreSQL) • 하이퍼테이블
|
|
DB 명령어
|
alter • array • create • delete • drop • from • full join • grant • inner join • insert • join • left join • null • order by • outer join • rename • revoke • right join • select • truncate • update • where
|
|
시스템 연계
|
API • CGI • EAI • ESB • JPA • RSS • SOA • SOAP • SSL • SSO • web3.js • XML • 디비투디비(DB-to-DB) • 레스트풀(RESTful) • 상호운용성 • 시스템 인터페이스 • 신디케이션 API • 오픈 API • 웹 API • 웹개방성 • 윈도우 API • 자바 API • 크롤링 • 프라이빗 API
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|