GeekCoders
Redis Master Node에 쓰인 내용을 Slave Node에 복제 하는것이다. Master Node는 여러개의 Salve Node를 가질 수 있고, 각 Slave Node도 각자 여러개의 Slave Node를 가질 수 있다. 데이터를 쓸때나 쿼리 연산을 진행하면서 데이터 복제를 진행한다. Non Blocking 이며 복사하는 동안 데이터가 변경될 경우 변경된 데이터의 반영이 이루어지지 않는다. Slave는 MasterSlave 링크가 떨어졌을 때, 자동으로 재접속이 가능하다. Master가 여러개의 Salve에서 보내는 Sync 요청을 받았을때, 모든 요청을 처기하기 위해 Single Background 저장을 실행한다. 링크 여결이 떨어진 후에 Slave와 master가 재접속 할 때,..
레디스는 다양한 환경에서 운용된다. 대표적으로 AWS 같은 클라우드 컴퓨팅 환경이나 IDC에 구축된 클러스터를 예로 들 수 있다. 이러한 환경에서 레디스 클러스터를 운영할 때 고려할 사항 중에서 설정과 하드웨어 관한 내용이다. 1. 임계점 스케일 업과 스케일 아웃은 모두 처리 능력을 향상시키는 방법이다. 스케일 업은 우수한 성능을 제공하는 푸품을 조합하여 강력한 장비 한 대를 구축한다. 하지만 결국 장치 한 대의 성능에는 한계가 분명하다. 반면 스케일 아웃의 경우 한계가 없다. 하지만 현실적으로 네트워크 대여폭 등에 의한 한계가 있다. 이와 같은 한계점을 임계점이라 한다. CPU 임계점레디스는 데이터 저장과 조회에 단일 스레드를 사용한다. 멀티코어 시스템에서 성능을 최대한 끌어내기 위해서 인스턴스 여러 ..
레디스는 모든 데이터를 메모리에 저장하고 조회한다. 인메모리 데이터베이스 솔루션이다. 다른 인메모리 솔루션들과의 레디스의 차이점중 가장 특별한 점은 '다양한 자료구조'다. - 영속성을 지원하는 인메모리 데이터 저장소.- 읽기 성능 증대를 위한 서버 측 복제를 지원한다.- 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding)을 지원한다.- ANSI C로 작성 됐다. - 레디스 클라이언트는 대부분의 언어로 포팅 되어있다. - 문자열, 리스트, 해시, 셋, 정렬된 셋과 같은 다양한 데이터형을 지원한다. 레디스는 고성능 키-값 저장소로서 다섯 가지 데이터형(문자열, 리스트, 해시, 셋, 정렬된 셋)을 지원한다. 메모리 이외의 영구 저장소를 지원하므로 인스턴스의 재시작에 대한 캐시 웜업(캐시의 적중률을 높..