실전 레디스
[기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드]
하야시 쇼고 지음
서대원 옮김
정경석 감수
이번 책은 "실전 레디스"라는 책 입니다.
이 책은 레디스에 대해서 소개 부터 시작하여 기초를 다진 다음 실전 적용까지 학습할 수 있는 책 입니다.
지금까지 보통 관계형 데이터베이스만 주로 다루다 보니, 레디스 라는 비 관계형 데이터베이스는 처음 접하는 것 같습니다.
(음 .... 단어의 익숙함에 지나가다 들어봤을 수도 있을 것 같지만 .... )
책을 보기전, 구글에서 먼저 찾아 보았습니다.
레디스 (Redis)는 "Remote Dictionary Server" 의 약자 입니다.
키-값 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기잔의 비 관계형 데이터베이스 입니다.
2009년 살바토르 산필리포 (Salvatore Sanfilippo)가 처음 개발한 후 2015년 부터 Redis Labs가 지원하고 있다고 합니다.
모든 데이터를 메모리로 불러와서 처리하는 In Memory 기반의 DBMS 입니다.
라이센스는 "BSD" 라이센스를 따르고 있습니다 - 위키백과 참조
레디스는 아래의 경로에서 다운 받을 수 있습니다.
현재 (24.06.29) 최신 버전은 7.4.2 입니다.
Faster starts now Download what you need to start building.
지원하는 언어,
C, C++, C#, Go, Java, Node.js, Perl, PHP, Python, Ruby, Rust, Scala, ActionScript, Clojure, Dart, Elang, Object-C,
Smalltalk, Tcl, Common Lisp, Haskell, R, Pure Data.
정말 많은 언어들을 지원하고 있습니다. (처음 보는 언어들도 다수 보이네요...)
레디스는 구글을 통하여 찾아보면 많은 자료들이 존재 하고, Redis 사이트에서도 개발자 및 운용을 위한 매뉴얼이 있기 때문에 찾아서 학습하고 이용할 수 있지만,
필요한 부분들이 잘 정리되어 있기에 체계적으로 학습하고자 한다면 이 책이 충분히 도움 될 것 같습니다.
[대상독자]-------------------------------------------------------------------------------------------------------
이 책에서 제시하는 대상 독자는 아래와 같습니다.
내용을 보면 처음 접하는 분이거나, 사용한지 얼마 되지 않은 분들에게 많은 도움이 될 것 같습니다.
[책 구성]--------------------------------------------------------------------------------------------------------
이 책은 주요 학습 부분으로 총 11개의 장을 3개의 부분으로 분류 되어 있습니다.
기초, 실전, 고급 이렇게 3개의 부분으로 구분되어 있습니다.
PART 01 : 기초
기초 파트는 총 4개의 장으로 구성 되어 있습니다.
레디스를 처음 접한다면 이 장을 꼼꼼히 학습한 후 넘어가면 좋을 것 같습니다.
01 장, 레디스의 시작
이 장에서는 레디스의 소개 및 구성 방식 그리고 실제 사용을 위한 서버 구축 방법에 대해 설명하고 있습니다.
02 장, 자료형과 기능
이 장에서는 레디스에서 사용되는 자료형과 각 자료형에 대한 주요 명령어들에 대해서 설명하고 있습니다.
03장, 고급 기능
이 장에서는 레디스에서 좀 더 높은 성능을 내기 위해 알면 도움 될 고급 기능들을 설면하고 있습니다.
책에서도 얘기 하듯 당장에 학습을 하지 않아도 상관 없지만 높은 성능을 내기 위해서는 꼭 알아야 할 부분 인 것
같습니다.
다루는 내용은,
- 파이프 라인
- 루아 스크립팅 (이페머럴 스크립트, 레디스 함수)
- 모듈
- 키 공간 알림
- 클라이언트 측 캐
04장, 레디스를 활용한 애플리케이션 작성
이 장에서는 실제 레디스가 어떻게 사용되는지를 예제를 통하여 설명하고 있습니다.
여기서 다루는 언어는, 루비, PHP, 파이썬 입니다.
PART 02: 실전
실전 파트는 총 6개의 장으로 구성되어 있습니다.
운용 관련 그리고 가장 중요한 메모리 관리 메커니즘, 트러블 슈팅 등에 대해서 다루고 있습니다.
05 장, 레디스 운용 관리
이 장에서는 레디스를 운용하면서 알아야할 점들을 설명합니다.
레디스 서버의 아키텍처 구성 방법과 데이터 영속성, RDBMS 등에 대해 다루고, 운용하면서 고려해야할 부분들에
대해서 설명합니다.
06 장, 트러블 슈팅
이 장에서는 트러블슈팅에 도움되는 명령어와 기능에 대해 설명합니다.
07 장, 레플리케이션
이 장에서는 데이터 안정성을 위한 레플리케이션 기능과 그 메커니즘에 대해서 실제 실행해 보면서 학습할 수 있도록
설명합니다.
08 장, 레디스 클러스터
이 장에서는 데이터 안정성을 위한 레디스 클러스터의 개념과 동작 원리를 설명 합니다.
cf) 레디스 클러스터는 여러 캐시 노드를 연결하여, 일부 장애가 발생하여도 시스템을 계속 운용할 수 있도록 합니다.
09 장, 메모리 관리
이 장에서는 메모리 관리 메커니즘과 주의할 점 그리고 효율적인 메모리 관리를 위해 알아야 할 부분들에 대해
설명합니다.
10 장, 클라우드에서 사용하는 레디스
이 장에서는 OSS 레디스와의 차이점, 클라우드에서 이용 방법, 트러블슈팅 진행 방법 등을 설명 합니다.
PART 03 : 고급
고급 파트는 총 1개의 장으로 구성되어 있습니다.
11장, 레디스의 구조
이 장에서는 트러블슈팅이 어려운 경우에 레디스의 소스 구조를 분석하기 위한 관련 기술들에 대해서 설명합니다.
알면 도움 될 부분들 이지만 필요에 따라서 학습하면 될 것 같습니다.
레디스는 C 언어 코드로 작성되어 있기 때문에, C 언어 학습이 우선시 되어야 할 것 같습니다.
APPENDIX.
A. 레디스 계속해서 활용하기
부록 A 에서는 레디스와 멤케시디를 비교하고 향후 레디스의 방향성등을 설명합니다.
책 내용 구성은,
- 내용 중에 참조할 부분들에 대해서는 URL 정보를 제공하고 있습니다.
- 필요에 따라 알면 도움될 내용들에 대해 "COLUMN" 블럭을 통하여 추가 부연 설명을합니다.
[결론]-----------------------------------------------------------------------------------------------------------
구글에서 레디스관련 찾아보면 많은 자료들이 존재 합니다.
많은 곳에서 사용되고 있고 10여년의 역사를 가진 만큼 개발자 또는 운용 하시는 분들의 정리된 자료들이 많이 존재 하지만, 필요한 핵심을 잘 정리한 책은 많지 않은 것 같습니다.
특히 국내 번역된 책은 많지 않네요.
"실전 레디스" 이 책은 레디스를 처음 접하거나, 이미 도입하여 사용 중이지만 좀 더 정교하게 그리고 알고 있는 지식을 체계적으로 정리하는데 도움이 될 만한 책 입니다.
레디스를 알지 못하는 제 기준에서도 학습 하면서 덜컹 덜컹 걸리는 부분들이 있긴 하지만 학습하는데 크게 무리는 없었습니다.