본문 바로가기
IT

레디스(Redis)에 대하여

by 동양동꿀주먹 2023. 1. 1.

레디스(Redis)란

레디스(Redis)는 Remote Dictionary Server의 약자로서, 원격 Dictionary 자료구조 서버라는 이름을 가진 NoSQL 데이터베이스입니다. 레디스는 세계에서 가장 인기 있는 Key와 Value의 저장 형식을 가진 NoSql 데이터베이스 중 하나입니다. 레디스는 메모리 기반의 데이터베이스입니다. 다른 인메모리 데이터베이스와 가장 큰 차이점은 디스크가 아닌 메모리 기반으로 한 데이터 구조 안에 다양한 자료 구조들을 저장할 수 있다는 것입니다. Strings, Bitmaps, Bit Field, Hashes, Lists, Sets, Sorted Sets, Geospatial Indexes, Hyperloglogs, Streams 등 다양한 자료구조를 지원하면서 개발의 편의성을 높이고 난이도가 낮아지는 특징을 가지고 있습니다. 또한 기존의 전통적인 관계형 데이터베이스 관리 시스템(RDBMS)은 데이터를 저장하기 위하여 디스크에 저장하였습니다. 디스크의 가격은 메모리 가격보다 훨씬 저렴하고 데이터의 저장 공간이 한정되어 있지 않습니다. 그리고 데이터가 디스크에 저장되어 있으면 서버가 장애가 나서 갑자기 내려가더라도 데이터의 영속성을 가져갈 수 있습니다. 하지만 데이터를 읽거나 가져오기 위해서는 디스크에서 데이터를 읽거나 가져와야 합니다. 이 부분에서 데이터 처리 지연성이 발생합니다. 이 부분은 인 메모리 데이터베이스인 레디스가 다른 관계형 데이터베이스 관리 시스템(RDMBS)과 가장 큰 차이점입니다. 데이터 저장매체가 메모리인 인 메모리 데이터베이스는 빅데이터 시대가 도래한 이후 현재 대용량 데이터의 저장과 빠른 처리 속도의 요구 사항에 충족할 수 있는 성능을 가진 데이터베이스입니다.

 

레디스의 특징

레디스의 특징으로는 여러 가지가 있습니다. 먼저 서버 복제를 지원하는 기능입니다. 이러한 기능은 Master-Slave 구조로 여러 개의 복제본을 만들 수 있으며 이러한 복제본을 통하여 데이터베이스 읽기 성능을 증대시켜 높은 가용성 클러스터를 제공합니다. 또한 레디스는 Publish, Subscribe Messaging 기능을 사용합니다. 전송자(Publisher)가 특정한 주제(topic)를 대상으로 데이터를 발행(publish)하면 해당 주제를 구독하고 있는 수신자(Subscriber)에게 데이터가 전송됩니다. 레디스는 메모리에 데이터를 저장하는 인메모리 데이터베이스의 한계점인 데이터 영속성에 대한 문제에 대하여 2가지 방식을 제공합니다.  RDB(Snapshotting) 방식과 AOF(Append On File) 방식이 있습니다. RDB 방식은 순간적으로 메모리에 있는 내용을 Disk에 모두 옮겨 담는 방식입니다. 마치 RDBM의 저장방식처럼 변경합니다. 그리고 AOF 방식은 레디스의 모든 write와 update의 연산 자체를 모두 로그 파일로 기록하는 방식입니다.

'IT' 카테고리의 다른 글

React, Angular, Vue에 대하여  (0) 2023.01.02
SPA (Single Page Application)에 대하여  (0) 2023.01.01
MongoDB에 대하여  (0) 2022.12.31
자바스크립트에 대하여  (0) 2022.12.30
Node.Js에 대하여  (0) 2022.12.28

댓글