콘텐츠 바로가기
본문 바로가기


블로그 전체검색
실무자를 위한 그래프 데이터 활용법

[도서] 실무자를 위한 그래프 데이터 활용법

데니즈 고즈넬,마티아스 브뢰헬러 저/우정은 역

내용 평점 5점

구성 평점 5점

우선 처음 이 책을 골랐을 때, <그래프 데이터 활용>에 대한 실무 내용을 기대했었습니다.

그런데, 이 기대라는 것이

1) 그래프 데이터에 대한 쉽고 명확한 설명

2) 바로 활용할 수 있는 내용

이것이었는데, 이 책은 그 기대를 맞춰주지는 않았습니다.

즉, 저는 이 책의 타켓 독자가 아니라는 것이죠.

그렇다면, 이 책은 누구의 어떤 기대를 맞춰주는 책일까요?

일단, 이 책은 그래프 디비를 사용함에 있어서, 기존의 RDB와 어떤 점에서 다르고, 또 어떻게 사용해야 하는지에 대한 방법을 단계별로 알려주는 책입니다.

만약, "헤드 퍼스트 시리즈"를 봤다면, 익숙한 진행 방식일 것입니다.

하지만, "헤드 퍼스트 시리즈"가 초심자들을 위한 입문서의 역할을 한다고 한다면, 이 책은 초심자를 위한 책이 아닙니다.

일단, 이 책은 그래프디비를 설명하기 위해, 기존의 RDB와의 차이를 이야기합니다. 즉, 독자는 최소한 RDB에 대한 기본은 알고 있어야 하고, 디비 설계 및 정규화에 대해서 알고 있어야 하고, 실무에서 db 스키마 설계를 하면서, 어떻게 설계하는 것이 좋은지, ERD를 그려가면서 고민하는 사람이어야 합니다.

 

그래야지, RDB와 비교해서 어떤점이 다르다는 이 책의 설명을 이해할 수 있습니다.

그리고 독자는 그래프디비에 대한 일반 개념을 알고 있어야 하는데, Neo4J나 ArrangoDB 대신 카산드라를 기반으로 설명하고 있기 때문에, 카산드라에 어느정도 익숙한 상태여야 합니다.

왜냐하면 우선 저자들 자체가 카산드라 개발에 핵심 역할을 하고 있는 데이터스텍스의 주요 개발진이기 때문이죠.

그래서, 이 책의 예제를 실습해보고 따라해보려면, 데이터스택스의 스튜디오 프로그램을 사용해야 하고, 카산드라에 대한 경험이 있고, 그렘린 언어를 경험해봤고, RDB를 중급 이상으로 활용해본 사람을 대상으로 하는 책입니다.

최소한 이 정도 배경지식은 습득하고 있어야지, 이 책이 이야기하는 내용을 따라갈 수 있습니다.

하지만, 이 정도로도 부족합니다.

이 책은, RDB와 비교해서 그래프DB를 왜/언제 써야 하는지에 대한 설명을 해 주며, 동시에, 예제 프로그램의 기능을 조금씩 확장/개선하고 있는데, 이 추가되는 기능이 왜 필요한지, 이 개선점이 왜 중요한 것인지를 알지 못하면, "도대체 이 짓을 왜 하는거지?" 라는 생각을 하게 됩니다.

이것은 마치, 1000라인 미만의 코드를 짜면서, 소프트웨어 공학의 중요성과 프로그램 디자인의 중요성, 패턴 활용의 중요성을 이해할 수 없는 것과 마찬가지입니다.

실제 그래프디비를 사용하면서, 레코드 수가 많아졌을 때, 왜 디비가 느려지는지, 디비가 느려지는 문제를 해소하기 위해 질의를 어떤 식으로 리팩토링 해야 하는지에 대한 이야기를 합니다.

물론, 실무에 활용하고, 해당 문제에 직면해서, 해결 방법을 고민해봤던 개발자에게는 이것보다 더 소중한 지식은 없을 것입니다.

풀리지 않던 문제에 대한 답을 스택오버플로우에서 발견한 기쁨에 비견할 수도 있을 것입니다.

하지만, 아무리 쉽고 잘 설명을 해도, 중학교 수학을 모르는 사람에게 미적분을 이야기하기가 어려운 것 처럼, 이 책은 비록 친절하게 그래프디비를 사용하기 위한 함정들과 유의점들, 잘 사용하기 위한 포인트들을 단계별로 설명해주고 있지만, 그것을 받아들일 수 있는 자격이 안되어 있는 사람에게는 그저 "돼지 목에 진주목걸"일 뿐입니다.

이 책의 진가를 알기 위해서는, 이 책에서 알려주는 단계별 문제 해결 팁을 보려면, 실제 그래프디비를 사용하면서, 막다른 골목에 도달해서, 밤을 세가며 고민해본 시간을 경험해 봐야 합니다.

요컨데, RDB를 잘 다루고 있고, NoSQL 특히 카산드라를 써 봤으면서, 신규 프로젝트로 새롭게 그래프디비를 사용해 보고 싶어하는 개발자("자 그래프디비를 한번 해 보자. 근데, 그래프디비가 RDB로 처리하는 것에 비해서 어떤 차이점이 있는거지? RDB로는 이렇게 하던 것을 그래프디비로 바꾸려면 어떻게 해야 하는 거지? 같은 고민을 하고 있는 개발자)에게는 좋은 책입니다만, 그렇지 못한 독자들에게는 읽기 힘든 책입니다.

마지막으로, 아쉬웠던점 2가지를 얘기하도록 하겠습니다.

첫번째, 그래프디비를 얘기할 때면 항상 묻는 질문이 있습니다. "그래서, 온톨로지랑은 뭐가 다르지?" 라는 것인데, 이 책에서도 그 질문에 대한 답은 해 주지 않고 있습니다. 제가 기대했던 것은, 온톨로지와의 비교를 통해, 기존의 온톨로지를 사용하던, ABox, Tbox와 그래프디비의 차이, 그리고 온톨로지의 표현력의 범위 차이와 그래프디비의 표현력의 차이, 추론기의 적용 방법 등에 대한 것이었습니다만, 이 책에서 알려준 것은, RDB와 그래프디비의 차이와 그래프디비를 사용할 때, 맞닥뜨릴 수 있는 카산드라 기반의 성능 문제, 그래프디비 설계 문제, 기존 설계의 추가/변경 과정의 문제 등을 해결하기 위한 실무 팁이었습니다.

두번째, 번역이 아쉬웠습니다. 책의 원 내용은 "헤드 퍼스트 시리즈" 처럼 이런 저런 농담을 섞어가면서, 원격 강의 하듯이 진행하려고 했던 것 같은데, 번역이 정말 직역이라서, 원 저자의 의도가 제대로 드러나지 못한 것 같습니다. 이것은 아마, 데드풀 영화의 자막을 번역한 황석희 번역가 처럼, 대상에 대한 이해를 바탕으로 번역한 것이 아니라, 역자도 그래프디비에 대한 사전 이해가 없는 상황에서 그냥 직역을 해 버린 (마치 릭퓨리의 "mother.."를 "어머니..." 라고 번역해버린 박지훈처럼) 것 같았습니다.

-------------

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

---------------

 
취소

댓글쓰기

저장
덧글 작성
0/1,000

댓글 수 0

댓글쓰기
첫 댓글을 작성해주세요.

PRIDE2