-
-
이것이 레디스다 - 초고속 읽기 쓰기를 제공하는 인메모리 기반 NoSQL, Redis
정경석 지음 / 한빛미디어 / 2013년 11월
평점 :
절판
이것이 레디스다. 레디스를 처음 접하게 된건 지난 '모던 웹을 위한 HTML5 프로그래밍'의 교재 끝 부분에 레디스 데이터베이스를 살짝 다룬 것을 통해서였다. 레디스 데이터베이스를 기본적으로 설치하고 사용할 정도로만의 설명만 있었다. 조금 더 NoSQL이 무엇인지에 대해서도 알고 싶었고, 레디스라는 데이터베이스에 이해를 높히고 싶었다.
교재에 사용되는 예제는 각 장마다 보기 좋게 정리되어있다. 직접 코드를 작성해가면서 공부를 해보는게 무엇보다도 좋겠지만, 그렇지 못하는 경우는 예제를 통해서 어떤 부분에 문제가 있었는 지를 확인해가면서 보기에 좋다. 예제는 NoSQL와 레디스에 대한 이해를 마친 이후 본격적인 실습을 시작하면서 활용된다.
NoSQL. 빅데이터라는 용어가 등장한 이후로 정말 많이 들어본 용어이다. 이런 저런 속설도 많기에 정확히 'NoSQL이 무엇이다'를 알 수 있었다. 속설 중의 하나를 NoSQL이라고 알고 있었는데, 책에서 말하는 CAP의 개념을 이해하면서 이제는 적어도 그런 속설이 NoSQL을 잘 못 정의하고 있다는 것을 말할 수 있다. 아직도 NoSQL이 조인이 지원되지 않는다든지, 관계형 데이터베이스의 특징을 제거한 데이터베이스라든지 혹은 여러 서버에 분산하여 저장하는데, 스키마를 가질 수 없는 데이터베이스라고 생각하고 있다면, 이 부분을 참고해보시길 바란다.
무엇보다도 다른 책에 비해서 좋았던 점은 어느 버전에서부터 각 명령에 대한 지원했는지의 여부와 명령을 실행한 시간 복잡도를 설명해 놓았다. 대량의 데이터를 입력받고 처리해야하기 때문에 무엇보다도 시간 복잡도에 대한 중요성이 높다.
책에서는 어떤 한 가지 문제나 상황을 제시하고, 그 문제를 해결하기 위한 방법을 알려준다. 이어서 각 솔루션의 장담점을 통해서 어떤 방법이 적절한 방법인지를 이해할 수 있다. 무조건적인 솔루션은 없다.
제디스를 이용해서 레디스 코드를 작성한다. 중요한 각 코드에는 번호가 매겨져 있고, 해당하는 부분에 설명을 통해서 어려운 부분을 쉽게 이해할 수 있다. 처음에는 기본적인 코드로 레디스에 대한 감을 익힌다. 이후에는 레디스를 활용한 사례를 통해서 실제 레디스가 어떻게 이용하는지 알 수 있다. 이론적으로 배우는 것에서 그치는 것이 아니고 실제로 사례를 통해서 활용할 수 있다는 점이 이 책의 큰 장점이라고 생각한다. 하지만, 리눅스를 이제 막 배우거나 데이터베이스에 대한 기본적인 이해가 없는 초보자에게는 다소 어렵게 느껴질 수 있다.
레디스는 키-값 모델의 인메모리 기반의 NoSQL 데이터베이스이고, 트위터, 네이버 라인, StackOverflow, Blizzard에서 사용하는 데이터베이스 모델이다. 충분히 매력적인 NoSQL 데이터베이스이다.