메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

실무자를 위한 그래프 데이터 활용법

그래프를 그리면 세상이 보인다, 그래프 씽킹으로 시작하는 그래프 데이터베이스 사용 안내서

한빛미디어

번역서

판매중

  • 저자 : 데니즈 고즈넬 , 마티아스 브뢰헬러
  • 번역 : 우정은
  • 출간 : 2022-05-10
  • 페이지 : 448 쪽
  • ISBN : 9791162245590
  • 물류코드 :10559
  • 초급 초중급 중급 중고급 고급
4.6점 (16명)
좋아요 : 5

국내 최초 그래프 씽킹(graph thinking) 안내서, 

문제 해결력을 키우는 그래프 씽킹 완벽 가이드

 

데이터는 점점 더 방대하고 복잡해지고 있다. 넘쳐나는 데이터의 홍수 속에서 구원의 손길을 바라는 이가 있다면 바로 여기, 이 책을 펼쳐보자. 컴퓨터는 행과 열로 이루어진 정적 데이터에 의존하는 반면, 사람은 관계를 통해 삶을 탐색하고 유추한다. 그래프 데이터는 사람과 컴퓨터가 세상을 바라보는 관점의 차이를 좁힌다. 이 책에서는 새로운 사고방식인 그래프 씽킹 개념을 소개하며 그래프 데이터로 두 가지 접근 방식을 아우르는 방법을 친절히 안내한다. 이 책을 따라 하며 그래프 씽킹과 그래프 이론, 데이터베이스 스키마, 분산 시스템, 데이터 분석을 터득하고 그래프 데이터를 효율적으로 구축해 복잡한 문제를 해결하는 법을 배워보자. 

 

 

상세페이지700_실무자를 위한 그래프 데이터 활용법.jpg

데니즈 고즈넬 저자

데니즈 고즈넬

데이터스택스(Datastax)의 최고 데이터 책임자(CDO). 2017년 데이터스택스에 합류해 세계에서 가장 큰 분산 그래프 애플리케이션을 개발하는 Global Graph Practice 팀을 만들고 이끌었다. 미국 국립과학재단 펠로로 테네시 대학교(University of Tennessee)에서 컴퓨터 공학 박사 학위를 취득했다. 그래프 알고리즘을 활용해 소셜 미디어 상호작용 기반으로 사용자 신원을 예측하는 ‘소셜 지문(social fingerprinting)’ 개념을 만들고 연구했다. 주요 경력은 그래프 데이터 애플리케이션을 조사하고, 적용하고, 지지하는 것과 관련된다. 그래프 이론, 그래프 알고리즘, 그래프 데이터베이스와 관련한 특허를 출원하고 출판했으며, 이와 연계된 다양한 주제의 연사로도 활동한다. 데이터스택스에서 일하기 전에는 의료 산업에 근무하면서 허가형 블록체인, 그래프 분석과 데이터 과학에 적용하는 머신러닝 등의 소프트웨어 솔루션을 개발했다.

마티아스 브뢰헬러 저자

마티아스 브뢰헬러

데이터스택스의 최고 기술 책임자(CTO)이며 수많은 연구 개발 경험을 보유한 기업가다. 혁신적인 소프트웨어 기술과 복잡한 시스템 이해를 집중적으로 연구한다. 그래프 데이터베이스, 관계형 머신러닝, 일반적인 빅데이터 분석 분야의 전문가로 유명하다. 린 방법론과 꾸준한 실험을 통해 지속적인 향상을 추구한다. 타이탄(Titan) 그래프 데이터베이스를 만들었고 아우렐리우스(Aurelius)를 설립했다.

우정은 역자

우정은

인하대학교 컴퓨터공학과를 졸업하고 LG전자, 썬 마이크로시스템즈, 오라클 등에서 모바일 제품 관련 개발을 하다가 현재는 뉴질랜드 웰링턴에 있는 Xero에서 모바일 앱 개발자로 새로운 인생을 즐기고 있다. 2010년 아이폰의 매력에 빠져들면서 번역과 개발을 취미로 삼고 꾸준히 서적을 번역한다. 옮긴 책으로는 『무던한 개발자를 위한 모던한 자바스크립트』, 『디노 첫걸음』, 『플러터 인 액션』, 『처음 배우는 스위프트』, 『실전 자바 소프트웨어 개발』, 『모던 자바 인 액션』(이상 한빛미디어) 등이 있다. 

CHAPTER 1 그래프 씽킹

1.1 떠오르는 그래프 기술

1.2 그래프 씽킹이란

1.3 복잡한 문제를 해결하는 기술 선택하기

1.4 그래프 씽킹 여정 시작하기

 

CHAPTER 2 관계형에서 그래프 씽킹으로

2.1 2장 미리 보기: 관계형 개념을 그래프 용어로 변환하기

2.2 관계형과 그래프의 차이

2.3 관계형 데이터 모델링

2.4 그래프 데이터의 개념

2.5 그래프 스키마 언어

2.6 관계형 vs 그래프: 결정 고려 사항

2.7 마치며

 

CHAPTER 3 간단한 Customer 360

3.1 3장 미리 보기: 관계형 vs 그래프

3.2 그래프 데이터 기본 사용 사례: Customer 360(C360)

3.3 관계형 시스템으로 C360 애플리케이션 구현하기

3.4 그래프 시스템으로 C360 애플리케이션 구현하기

3.5 관계형 vs 그래프: 선택의 기로에 서 있다면

3.6 마치며

 

CHAPTER 4 이웃 탐색 개발

4.1 4장 미리 보기: 더 현실적인 C360 만들기

4.2 그래프 데이터 모델링 101

4.3 이웃 탐색 개발 세부 구현

4.4 기본적인 그렘린 탐색

4.5 고급 그렘린: 질의 결과 다듬기

4.6 개발 단계에서 제품 단계로 이동하기

 

CHAPTER 5 이웃 탐색 제품화

5.1 5장 미리 보기: 아파치 카산드라의 분산 그래프 데이터 이해하기

5.2 아파치 카산드라에서 그래프 데이터 사용하기

5.3 그래프 데이터 모델링 201

5.4 최종 제품 구현

5.5 더 복잡한, 분산 그래프 문제

 

CHAPTER 6 트리 사용 개발

6.1 6장 미리 보기: 트리 탐색, 계층 데이터, 순환

6.2 세 가지 예제로 살펴보는 계층, 중첩 데이터

6.3 용어의 숲에서 길 찾기

6.4 센서 데이터로 계층 구조 이해하기

6.5 개발 모드: 리프에서 루트로 질의하기

6.6 개발 모드: 루트에서 리프로 질의하기

6.7 시간 정보 확인

 

CHAPTER 7 트리 사용 제품화

7.1 7장 미리 보기: 분기 계수, 깊이, 간선의 시간 이해

7.2 센서 데이터의 시간 이해

7.3 분기 계수 이해

7.4 센서 데이터 제품 스키마

7.5 제품 모드: 리프에서 루트로 질의하기

7.6 제품 모드: 루트에서 리프로 질의하기

7.7 타워 장애 시나리오에 질의 적용하기

7.8 나무를 위해 숲 보기

 

CHAPTER 8 경로 찾기 개발

8.1 8장 미리 보기: 네트워크의 신뢰 수량화하기

8.2 세 가지 예제로 살펴보는 신뢰

8.3 경로 기초 개념

8.4 신뢰 네트워크에서 경로 찾기

8.5 비트코인 신뢰 네트워크로 탐색 이해하기

8.6 최단 경로 질의

 

CHAPTER 9 경로 찾기 제품화

9.1 9장 미리 보기: 가중치, 거리, 가지치기 이해하기

9.2 가중치 경로와 검색 알고리즘

9.3 최단 경로 문제에 알맞게 간선 가중치 정규화하기

9.4 최단 가중치 경로 질의

9.5 제품의 가중치 경로와 신뢰

 

CHAPTER 10 추천 개발

10.1 10장 미리 보기: 영화 추천 협업 필터링

10.2 추천 시스템 예

10.3 협업 필터링 소개

10.4 영화 데이터: 스키마, 로딩, 질의 검토

10.5 그렘린의 항목 기반 협업 필터링

 

CHAPTER 11 그래프의 간단한 개체 해석

11.1 11장 미리 보기: 여러 데이터셋을 하나의 그래프로 병합하기

11.2 다른 복잡한 문제 정의: 개체 해석

11.3 두 영화 데이터셋 분석하기

11.4 영화 데이터 매칭, 병합

11.5 거짓 긍정 해결

 

CHAPTER 12 추천 제품화

12.1 12장 미리 보기: 지름길 간선, 사전 계산, 고급 가지치기 기술 이해하기

12.2 실시간 추천용 지름길 간선

12.3 영화 데이터의 지름길 간선 계산하기

12.4 영화 추천 제품 스키마와 데이터 로딩

12.5 지름길 간선을 이용한 추천 질의

 

CHAPTER 13 마치며

13.1 이제 어디로 가야 할까

13.2 연락 주고받기

이제는 그래프 데이터베이스 시대! 

새로운 패러다임 그래프 씽킹을 만나다 

 

데이터 관리 회사 ‘데이터스택스(Datastax)’에서 근무하는 CDO, CTO가 함께 집필한 그래프 데이터베이스 사용 안내서! 그들이 여러 팀에게 조언하며 얻은 지식과 노하우를 이 책에 모두 담았다. 방대하고 복잡한 데이터에서 가치를 추출하는 혜안으로 ‘그래프 씽킹’ 개념을 제시하며 여러분의 사고방식을 그래프 씽킹으로 전환할 수 있도록 친절히 안내한다. 개념 이해를 돕는 풍부한 그림과 실무에 유용한 예제를 통해 그래프 데이터베이스 시대를 마주하게 될 여러분에게 세상을 이해할 수 있는 비밀스런 열쇠를 쥐여준다. 그래프 씽킹으로 데이터를 효율적으로 구축하는 방법을 배워 한 걸음 더 성장한 데이터 엔지니어가 되어보자.

 

 

대상 독자

  • 그래프 데이터를 효과적으로 사용하고 싶은 데이터 엔지니어, 데이터 아키텍트
  • 그래프 씽킹을 터득하고 싶은 데이터 과학자, 데이터 분석가
  • 그래프 씽킹이 궁금한 누구나(기초 데이터베이스 지식이 있다면 개념을 더 쉽게 이해할 수 있다)

 

주요 내용

  • 관계형, 그래프 데이터베이스로 아키텍처 구축하기
  • 유명한 그래프 데이터 패턴 Customer 360 애플리케이션 구현하기
  • 계층형 데이터에서 그래프 데이터로 작업할 때 발생하는 문제 해결하기
  • 경로를 찾는 다양한 방법과 경로가 선호도에 미치는 영향 살펴보기
  • 협업 필터링으로 넷플릭스와 비슷한 영화 추천 시스템 설계하기

 

추천사

 

개발자의 서재에 반드시 추가해야 할 참고서. 두 저자 모두 그래프 이론, 아키텍처, 원칙의 모범이라 할 수 있다.

_시어도어 C. 태너 주니어, Watson Health 글로벌 CTO 겸 최고 아키텍트

 

이 책은 데이터베이스의 수준을 한층 끌어올렸다. 그래프 데이터를 처음 접하는 사람에게 유용할 뿐 아니라 이미 경험했던 사람도 새로운 내용을 배울 수 있다.

_매슈 러셀, Strongest AI CEO, 『소셜 웹 마이닝(2판)』(비제이퍼블릭, 2015) 저자

 

단단하고 꼼꼼하게 그래프 데이터베이스에 입문할 수 있는 책. 그래프 데이터베이스에 대한 개념이 약한 초보자를 위해 관계형 데이터베이스와 꼼꼼하게 비교해주는 점이 좋았다. 심지어 예제까지 관계형으로 먼저 만든 뒤 그래프 형태로 바꿔보는 접근 방식 덕분에 개념을 더 쉽게 이해할 수 있었다.

_이요셉, 지나가던 IT인

 

RDBMS, NoSQL 다음은 그래프 데이터 베이스 차례라고 생각한다. 온톨로지와 지식 그래프는 그래프 데이터베이스와 관련이 깊다. 이 분야는 2000년대에 와서 활발히 발전하고 있고, 최근에 관련된 오픈 소스 또는 이를 솔루션으로 내세우는 기업들도 볼 수 있다. 트렌드에 맞춰 그래프 데이터베이스에 대한 기초 이론과 오픈 소스 도구를 익혀보고 싶다면 이 책이 큰 도움이 될 것이다.

_장대혁, 휴넷 인공지능교육연구소


1. 시작


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


2022년 5월달에 소개할 책은 실무자를 위한 그래프 데이터 활용법(The Practitioner’s Guide to Graph Data) 입니다



<표지>


이책을 한마디로 그래프 데이터베이스 사용 안내서’라고 할 수 있습니다.


개발자라도 다소 생소하게 들릴 수 있을 것입니다. 

개발에서 데이터베이스라고 함은 오픈소스 관계형 SQL 데이터베이스를 발합니다. MySQL, PostgreSQL, MariaDB, Microsoft SQL Server을 말합니다.


빅데이터 시대가 오면서 NoSQL을 사용하고 있습니다.

몽고DB, 레디스DB, Cassandra가 유명합니다.


그 다음에 나온 것이 그래프 데이터베이스입니다.

시대에 맞게 복잡한 비즈니스 환경을 데이터 기반으로 문제를 해결하기 위해서 사용되어지고 있습니다.


데이터베이스는 오픈소스가 시장에서 80%이상을 차지하고 있습니다. 그만큼 오픈소스가 대세입니다.


그래프 데이터베이스 랭킹을 확인해봤습니다.

출처 : https://db-engines.com/en/ranking/graph+dbms



이책의 저자는 그래프 씽킹이라는 용어를 쓰기 시작했습니다.

디자인 씽킹, 비주얼 씽킹 용어는 들어봤을 것입니다.


항상 새로운 방법론, 기술들은 문제를 해결하기 위해서 만들어지는 것 같습니다. 그래프 씽킹이란 시대 흐름에 맞춰서 비즈니스 환경에서 문제를 해결하기 위해서 만들어진것 같습니다.


그래프 씽킹이란? 도메인 문제를 연결된 그래프로 표현하고 그래프 기술을 사용해서 도메인 역학 관계를 설명함으로 문제를 해결하는 방법입니다.


그래프 데이터베이스에서도 언어를 사용합니다. ‘그래프 스키마 언어(Graph Schema Language(GSL)’ 입니다.


이책은 실제로 그래프 데이터베이스를 사용하고 있어야지만 이해할 수 있습니다.


예제를 사용할 수 있는 환경설정에 대한 부분은 깃허브에 있지만 Docker, Docker-compose, git, cassandra, DataStax, DataStax Studio를 알아야 하고 관련 환경을 구축한 다음에 이책에서 제시하고 있는 예제를 시도해 볼수 있습니다.


깃허브에 나와있는 예제에 대한 환경 구축은 linux OS를 기본으로 만들어져있으며, 다른 OS에 대해서는 안내하지 않고 있습니다.



2.목적 (책을 쓴 이유)

저자가 책을 쓴 목적을 보도록 하겠습니다.


점점 복잡해지고 있는 비즈니스 환경에서 문제를 해결할 수 있는 새로운 방식과 사고를 배우고 실용적인 해결책을 개발하기 위한 도구를 독자들에게 제공하기 위해서 입니다


대상독자는 데이터 엔지니어, 아키텍트, 데이터 과학자, 데이터 분석가, 컴퓨터 과학자이며, 그래프 데이터, 분산 시스템 문제를 해결하고 싶은 분들입니다.


지금부터 책의 내용을 요약하고 살펴보도록 하겠습니다.



3.책의 내용

그럼 이 책의 내용은 어떠한지 구조부터 알아보겠습니다.

구조는 총 13장으로 구성되어 있습니다.


먼저 1장은 그래프 씽킹이 무엇인지? 그래프 씽킹 기술이 출현하게 된 배경, 그래프 씽킹에 대한 개요에 대한 내용입니다.


애플리케이션에서 그래프 기술의 적용 가능성과 사용법을 탐색하는 방법



<페이지 47>



2장은 그래프 데이터 개념, 그래프 스키마 언어에 대한 내용을 다루고 있습니다.



<페이지 69>


3장은 간단한 C360 애플리케이션 구현하는 내용을 다루고 있습니다.



<페이지 91>


4장부터 ~ 8장까지는 가장 많이 사용하는 그래프 기술에 대해서 다루고 있습니다.

그래프 데이터에서 

이웃탐색

트리사용

경로찾기


이 3가지는 가장 많이 사용하는 그래프 기술입니다.


이웃탐색에서는 질의 주도 설계, 그래프 데이터 분할, 정렬, 범위 설정 수행 방법과 고급 질의 기술을 알 수 있으며



<페이지 128>


트리사용에서는 이웃 데이터 이해를 넘어 계층 데이터에 그래프 씽킹을 적용하는 단계로서 실생활에서 찾을 수 있는 다양한 계층 데이터 예를 살펴보고, 다양한 예제를 통해 용어를 소개하며, 문제와 데이터, 스키마를 소개하고 제품화하는 방법을 알려준다.



<페이지 209>


경로찾기에서는 그래프 데이터에서 경로 가중치를 모아 데이터에서 가장 신뢰하는 경로를 찾도록 도와주는 내용을 다루고 있습니다.



<페이지 341>


10장 추천개발

이번 장에서는 웹사이트나 애플리케이션이 사용자에게 영화를 추천하는 방법을 설명하면서 협업 필터링 정의를 다루고 있습니다.



<페이지 355>


11장 그래프 간단한 개체 해석

사람에 관한 정보를 기록한 데이터 소스의 키와 값을 이용해 누가 누구이며, 무엇이 무엇인지 추론하기가 쉽지 않은데, 이를 개체 해석 문제라고 부르며 문제 정의, 분석, 매칭, 병합을 통해서 해결하고자 하지만 그래프로 데이터를 해석하고 합치는 기능은 다면적 문제라서 따로 책 한권을 집필해야 할 정도라고 한다. 그만큼 쉽지 않은 문제이며, 이를 함축적으로 다루고 있습니다.



<페이지 395>


12장은 추천 제품화를 다루고 있습니다.

요즘 거의 모든 제품은 추천 기능을 제공하고 있습니다.

이책에서는 사용자가 최근 평가한 영화로 상위 3개의 영화를 추천하는 방법을 다루고 있습니다. 



<페이지 423>



4. 책의 좋은 점과 아쉬운 점


4.1 좋은점(장점)

  • 그래프 씽킹을 통한 비즈니스 문제 해결을 배울 수 있습니다.



4.2 아쉬운점(단점)

  • 그래프 씽킹을 배우기 위한 환경 구축에 대한 내용이 미흡합니다.

  • 난이도가 높은 책입니다. 기본적으로 NoSQL이나, 그래프 데이터베이스를 사용하고 있는 사람들을 대상으로 쓰여진 책입니다


여기서 책의 서평을 마무리 짓고자 합니다.


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

 

감사합니다

 

2022년 5월에 출간된 따끈따끈한 책 <실무자를 위한 그래프 데이터 활용법>을 소개합니다. 이 책의 부제는 '그래프 싱킹으로 시작하는 그래프 데이터베이스'입니다. 이 책의 저자는 데이터 스택스의 최고 데이터 책임자인 데니즈 고즈넬(Danise Gosnell)과 최고 기술 책임자인 마티아스 브뢰헬러(Matthias Broecheler)입니다. 이 책의 번역은 자바 8 인 액션을 번역하신 우정은 님으로 번역 품질은 좋습니다.

이 책의 원서는 아마존 리뷰에서 우수한 점수(4.5점, 5점 만점)를 받았습니다. 그래프 데이터와 데이터베이스에 관심 있는 독자라면 매력적으로 느끼실 것 같습니다. 단순히 그래프 데이터베이스의 활용법이 아닌 '그래프 싱킹'이라는 개념을 소개하며 그래프를 실무에 적용하는 방법을 소개하는데 제게는 매우 신선하고 흥미롭게 다가왔습니다. 

<실무자를 위한 그래프 데이터 활용법>은 약 450페이지로 구성되어 있어 휴대하면서 읽기에 크게 부담스럽지 않습니다. 전자책으로도 출간되어 있으므로, 전자책 뷰어가 있으시다면 전자책으로 만나보는 것도 좋을 것 같습니다. 구매 가격도 더 저렴합니다. 

 

한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다. 

 

이 책의 매력은?

<실무자를 위한 그래프 데이터 활용법>은 13장으로 구성되어 있습니다. 이 책은 그래프 데이터베이스의 사용법을 소개하는 것이 아니라, 그래프 데이터의 특성과 활용하는 방법을 안내하는 부분이 매력적입니다. 또한 기존 RDBMS 사용자가 그래프 데이터와 마주했을 때 어떻게 접근해야 하는지 소개하는 부분이 좋았습니다. 

 

이 책은 실습을 위한 그래프 데이터베이스로 Cassandra를 활용하고 있습니다. 아마도 이 책의 저자들이 근무하는 회사의 제품(링크)을 활용하다 보니 그런 것 같은데, 대표적으로 알려진 그래프 데이터베이스인 Neo4j나 OrientDB 등으로 접근했으면 더 좋았을 것 같습니다. 하지만 이 책으로 그래프 데이터에 대한 개념을 이해하고 직접 시도해보는 것도 나쁘지 않습니다.

 

그래프 데이터와 그래프 데이터베이스는 익숙한 데이터 저장구조는 아닙니다. 하지만 이 책을 따라가며 조금씩 애플리케이션을 개선하다 보면 그래프 데이터의 매력에 빠져들 것으로 생각합니다. 기존 RDBMS에 익숙한 제게는 그래프 싱킹이 신선하게 다가왔고, 학습할 계기를 주었습니다. 

 

<실무자를 위한 그래프 데이터 활용법> 단순히 따라 하면서 체험하는 책이 아니라, 그래프 데이터에 대한 생각을 정립하는 책입니다. 그래서 저는 좋은 느낌이었지만, 국내 독자들에게는 익숙한 접근 방법(따라 하기)이 아닐 수도 있을 것 같습니다. 

 

마치면서

RDBMS와 NoSQL 등에 대한 지식이 부족하면 이 책은 어렵게 느껴지실 것 같습니다. 지식이 있으신 분이라면 그래프 싱킹을 이해하는 데 도움이 되며, 빠르게 감을 잡을 수 있을 것으로 생각합니다. 사실 예전에 그래프 데이터베이스를 조금 경험해서 그런지 이 책에서 소개하는 내용들이 필자에게는 더 공감되고 크게 다가왔습니다. 기술적인 부분을 내재화한 후 간단한 응용에 도입해보고 싶습니다.

 

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

 

1. 이 책은 제목에서 알 수 있듯이 그래프 데이터베이스 사용에 대한 입문서라고 할 수 있을 것 같다. 개인적으로 그래프 데이터베이스라는 단어를 접한 것은 NoSQL이 대두되는 시기에 그 종류 중 한가지로 접했었다. 바로 떠오르는 디비로는 Neo4j 정도인데... 사용해본 적은 없다. 페이스북을 중심으로 소설 미디어 서비스가 떠오르면서 이를 구현하는 기술적인 분야에도 많은 변화의 바람이 불었는데 그래프 DB도 한 몫을 했었던 것 같다. 

 

2. 왜 그래프 DB 인가? 이 책의 시작은 이 질문에 대해 친절히 설명해주고 있다. 관계형 디비에서 그래프 디비로 넘어가야하는 이유. 당연하겠지만 그래프 디비가 관계형 디비를 대체하는 그런 것은 아니다. 모든 것이 그렇듯이 각각의 기술이 좀 더 적합한 분야가 있을 뿐. 하지만, 이 책에서 설명하는 내용들은 좀 원론적인 내용으로, 확 와닿는 무언가를 느끼진 못했다.

 

3. 이후 책은 제목처럼 실무에서 사용할 수 있을 법한 주제들을 중심으로 모델링과 사용법들을 실습을 통해서 진행한다. 모델링에 대한 설명들은 친절하고 이해도 잘 되었다. 다만 아쉬운 것은 여기서 사용하고 있는 기술들에 대해 좀 더 자세한 설명이 있었으면 어떘을까 한다. 예를 들어 어떤 기술들이 있는지, 어떤 차이점들이 있는지... 그리고 사용하고 있는 기술이나 디비들도 생소한데, 이에 대해 좀 더 자세한 사용법이 빠져있는게 아쉬웠다. 

 

4. 그래프 알고리즘, 그래프 데이터베이스에 대한 기본적인 개념과 활용 방법에 대해 배울 수 있어 좋은 기회였던 것 같다. 하지만 책에서도 말하듯이 "여정을 시작했을 뿐"이다. 실제 프로젝트에 그래프 데이터베이스를 당장 활용하기에는 어려움이 따를 수 밖에 없다. 이 후에는 특정 디비를 선택해서 그에 대해 좀 더 깊이 학습을 해본다면 도움이 될 것 같다.

 

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

 그래프 씽킹 생소한 용어다. 표지부터 그래프를 그리면 세상이 보인다라는 문구가 참 마음에 와 닿았다.

 예전에 프로젝트를 할때 복잡한 로직을 해결하지 못해서 끙끙거리다가 그림으로 하나씩 그려가면서 정리했던 기억이 난다. 생각해보면 복잡한 얘기들을 정리할 때는 그림을 그려가면서 하는 것이 더 정리가 잘 되곤 했다.

 그런 점에서 그래프 데이터베이스라는 것이 생소하기는 하지만 RDBMS(관계형)에서 벗어나 새로운 세상으로 진입하는 것이라고 하겠다.

 아직까지 세상은 관계형 세상이기 때문에 이런 것도 되나 싶을 정도로 조금은 많이 신기한 방법이지만, 점점해보다 보면 이렇게도 할 수 있고, 이렇게 하는 것이 좀 더 좋아지겠다는 생각이 들고 있다. 하지만 앞에서도 말했지만 세상은 관계형이고, 나 또한 관계형이기 때문에 그래프 씽킹으로 이동하려면 아직은 갈 길이 멀다 하겠다. 프로젝트에서 적용하기는 어려울 뜻 하지만 예제를 보면서 조금한 토이 프로젝트라고 해 볼 필요가 있을 뜻 하다. 기술은 언제나 그렇지만 갑자기 등장하여 누구나 사용하고 있을 것이다. 그럴 때 나도 아는 척을 할 수있는 좋은 책인 듯 하다.

 새로운 기술에 대해서 목 마른 사람이라면 이 책을 강력히 추천하는 바이다.

 

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

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


SE-5435cd4a-edb5-442b-bcfe-fcb6de0260fb.jpg


대상 독자

- RDBMS의 지식이 있고 GraphDB에 관심이 있는 자

- 데이터를 다루는 실무자 (답은 이미 책 제목에 있다)

 

좋은 점

- 실무에 직접적으로 도움이 되는 좋은 아젠다

- RDBMS와 GraphDB에 대한 비교

- 그래프의 관점으로 데이터를 바라보고 문제를 해결할 수 있는 방향을 제시해준다


아쉬운 점

- RDBMS와 GraphDB에 대한 비교는 잘해주었으나 비슷한 온톨로지와의 비교가 없다

- 이 책을 온전히 이해하기 위해서는 실무 경험이나 지식의 허들이 높은 편이다


총평

경력이 있거나 관련 지식이 있는 실무자에겐 GraphDB를 매우 효과적으로 사용할 수 있게 만들어 주는 팁을 담은 책이라 생각합니다

예제를 따라가면서 그래프 씽킹에 대한 이해와 그래프의 관점에서 데이터를 보는 안목을 더 발전시켜 줄 수 있는 책이다



 

실무자를 위한 그래프 데이터 활용법.jpeg

 

 

실무자를 위한 그래프 데이터 활용법 / 데니즈 고즈넬, 마티아스 브뢰헬러 지음 / 한빛미디어

	그래프를 그리면 세상이 보인다,그래프 씽킹으로 시작하는그래프 데이터베이스 사용 안내서

저는 데이터 엔지니어가 아닌데요?

네, 저도 그렇습니다. 개발 베이스가 없는 순수(?) 데이터분석가 입니다. 그럼에도 이 책을 고른 이유는, 아래의 문장에서 나옵니다.

	컴퓨터는 행과 열로 이루어진 정적 데이터에 의존하는 반면, 사람은 관계를 통해 삶을 탐색하고 유추한다.그래프 데이터는 사람과 컴퓨터가 세상을 바라보는 관점의 차이를 좁힌다.

첫째, 철학적으로도 공감하는 문장이지만, 실무에서 커뮤니케이션 할 때, 거의 항상 "테이블 이외의 형태"를 가지고 합니다. 다들 한 번쯤 말로 부족해서 화이트보드에 그리면서 설명해본 경험이 있으실 겁니다. 재밌있게도, "이게 무슨 말인지 모르겠다면, 아이러니 하게도 그게 바로 그래프 데이터가 필요한 이유"라는 얘기도 나온답니다.

둘째, 필자들도 말하고 있듯, 기존에는 '가장 효율적으로 저장'하는 방법에 집중해왔다면, 이제는 데이터에서 '가장 중요한 가치'를 얻는 것이 중요합니다. 저희 팀장님도 늘 "비용 신경쓰지 마세요!" 라고 하시거든요. 그보다 의미있게 데이터를 활용할 수 있도록 데이터마트나 대시보드를 구성하는게 실무에서도 매우 중요합니다.

실무에서 은연중에 쓰고 있던 기술을 이론적으로 이해하고 좀 더 고도화할 수 있지 않을까 하는 기대로 이 책은 펼쳤습니다.

그래프 씽킹: 복잡한 관계에서 가치 얻기

	정보의 조각들을 서로 연결하고 새로운 통찰을 만들었을 때 데이터에서 가치를 추출할 수 있다.데이터에서 유의미한 가치를 추출하기 전, 먼저 데이터 안의 복잡한 관계부터 이해해야 한다.즉, 데이터 관계에서 발생하는 복잡한 문제와 시스템을 이해한다는 의미다.

실무에서 진짜 의미있는 분석은 "이번 주 유저 수"와 같은 단순한 지표에서 나오지 않습니다. 유저의 행동 로그든, 구매 데이터든, 복잡한 문제와 거기서 발견하는 패턴 속에서 가치가 높은 비즈니스 문제가 나오지요. 그리고 필자들은 그래프 기술로 이를 해결한다고 합니다.

이러한 방식의 데이터가 실제로도 얼마나 가치가 있는지도 예시를 듭니다. 마이크로소프트가 링크드인과 깃허브를 예상수익의 20배 넘게 인수한 것으로요. 둘 다 '네트워킹'을 크고 복잡한 문제로 정의하고 솔루션을 모델링한 데이터를 가진 회사죠.

이론부터 실전까지

	데이터에서 가치를 얻으려면 이들의 상호 연결 관계를 살펴야 한다.즉 데이터가 묘사하는 복잡한 시스템을 파악해야 한다.그 후에 이런 연결을 저장, 관리, 추출하는 적절한 기술을 선택해야 한다.

이 책은 데이터와 함께 개념, 예제, 새로운 용어를 설명합니다. "실무자를 위한"이라는 책의 제목 답게 말이죠. 주석이 충실하게 달린 예제 코드가 달려있어서, 따라해보기도 쉽습니다. (참고: 그렘린 쿼리 와 데이터스택스 그래프 스키마 API 사용)

그래프 이미지도 매우 충실하게 사용되고 있어서, 직접 코딩을 하지 않더라도 이론과 케이스를 이해하는 데에도 충분합니다. 시스템 구축을 엔지니어에게 맡긴다고 하더라도, 결국 데이터의 관계를 파악하고 비즈니스 문제를 정의, 해결하는 건 분석가 내지 프로덕트 관계자가 하는 일이니까요.

최신 기술 내지 이론인 만큼 잘 정리된 자료가 많이 없는데요. 저처럼 그래프 데이터를 처음 접하는 분이든, 이미 경험했던 분이든 추천하는 책입니다.

 

 

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

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

0. 도서정보

 1) 도서명 : 실무자를 위한 그래프 데이터 활용법

 2) 저자 : 데니즈 고즈넬, 마티아스 브뢰헬러

 3) 링크 

 

 

1. 후기

 - 책 제목을 보면 호기심이 당기는 제목이라고 할 수 있다. 데이터를 이용하여 차트를 그리는 법을 알려주는 도서 같기도 하고, 데이터를 다루는 분석 도서 같기도 하다. 해당 도서에서는 그래프 씽킹이라는 개념을 설명해주는 책으로 개인적인 입장에서는 생소한 단어라 개념을 받아들이는 것부터 일이었다. 따라서, 이 책에서는 그래프 씽킹, 그래프 데이터를 설명하는 것부터 시작하여 생성 및 활용하는 방법에 따라 기술하였다. 작성하였듯이 생소한 개념이기에 이제 데이터 부분을 시작하려는 개발자 및 분석가 분들 보다는 기본적인 RDS 등은 숙지하신 분이 보는 것을 추천한다.

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

TL;DR

  • 그래프 구조를 활용해서, 서비스에 적용하는 과정을 소개하고 있기 때문에 Neo4j, TigerGraph, Azure의 Cosmos DB 등에 관심이 많으시면 이 책은 굉장히 재미있고 흥미로운 책이다.
    • Neo4j를 사용했던 경험이 있으시면 9~13장을 먼저 접해도 좋을 듯 하다. 그래프 구조를 활용해서 영화를 추천하는 과정을 소개하고 있기 때문에 실습을 먼저 해보셔도 좋을 듯 하다.
  • RDMBS에 대한 이해도가 있으시고, 새로운 데이터 구조에 대해서 관심이 있으시면 실습을 진행하지 않는 방법으로 가볍게 읽어보시면 그래프 구조에 대해선 충분히 학습하실 수 있다.
    • 개인적인 의견으로는 1~6장까지 실습없이 읽어보시고, 향후 과정을 고민하셔도 좋을 듯 하다.
  • 이 책을 읽는데 있어서 RDBMS에 대한 이해도가 없으면 생각보다 높은 난이도가 될 수 있으니, 기본적인 RDBMS를 먼저 학습하시기를 권장한다. 배경지식이 없다고 가정한다면 생각보다 난이도가 높을 것으로 예상되기 때문에 ‘생활코딩의 관계형 데이터 모델링’ 정도를 미리 학습하시고 진행하시면 좋을 듯 하다.

책표지

1 - Long time ago?

이 책을 선택했던 이유는 순전히 호기심 때문이었다. 약(about) 4년전에 Neo4j를 사용해서 뭔가를 했던 적이 있다. 어떤 것을 했는지 말하긴 쉽지 않지만, 확실한 것은 실패했다는 것이다. 당시 프로젝트에 사용된 비용에 비하면 결과가 참혹했기 때문에, 햇빛도 못보고 프로젝트를 접어야 했다. 당시, 이 프로젝트의 핵심을 담당하던 분이 ‘Neo4j’와 ‘그래프 알고리즘’을 활용하면 손쉽게 해결할 수 있다고 했지만, 그 분을 제외한 거의 모든 참여자들이 Neo4j와 그래프 알고리즘을 제대로 활용하지 못해서 쉽지 않았다. 하지만, 우리가 풀지 못했던 문제의 경우 Neo4j를 사용하면 정말 손쉽게 풀었지만, 그 외에 다른 문제는 달랐던 것이다.

컬러다

지금와서 돌이켜 생각해보면 RDBMS를 기반으로 만들어진 서비스에 Neo4j를 적용하는 방법에 미숙했고, 당시 그래프 이론을 기반으로 서비스를 구성하는 것에 대해서 다들 처음이라서 실패 경험과 기간이 너무 길었던 것은 아닐까 생각해본다.

2

개인적인 의견이지만, 이 책의 목표는 Neo4j와 같은 그래프 구조나 데이터베이스를 곧바로 활용하는 것이 아닌 듯 하다. 이 책은 기존의 RDBMS를 사용했던 사용자의 경험을 기반으로 그래프 구조를 활용할 수 있는 개념을 차근 차근 설명하는 것이라 생각한다. 이 책은 실습에 관한 태도를 대해서 ‘하면 좋고, 못해도 괜찮다’라는 태도를 취하고 있다. 즉, 실습을 적극적으로 권장하고 있지 않다. 하지만, 실습을 적극적으로 권장한다(강추!).

3

이 책은 RDBMS에 대한 이해도가 어느정도 있다고 가정하고, 그래프 데이터베이스를 스스로 사용할 수 있다고 가정한다. 실습의 경우 Neo4j 등을 사용하는 것이 아니라 Cassandra를 사용하고 있다. 그렇다고 Cassandra를 별도로 설치하는 등의 번거로운 과정없이 ‘DataStax Studio’를 다운로드 받아서 설치만 하면 된다. 나는 Docker를 사용하고 있어서 Docker의 compose를 활용하였고 편하게 실습을 진행할 수 있었다.

도커로 실습을 진행

예제 프로그램의 기능을 조금씩 확장/개선하면서 그래프 구조를 기반으로 한 데이터베이스를 왜, 언제 활용해야 하는지 알려주고 있다. RDMBS 구조를 함께 설명하고 있기 때문에 실습 없이도 이해는 가능하지만 이왕이면 실습을 함께 진행하길 다시 한번 권하고 싶다. 무엇보다 데이터의 양이 많아졌을 때 쿼리를 개선하는 과정은 굉장히 흥미로운 경험이었다.

흥미로운 예제

4

이 책은 크게 4가지 챕터로 나눌 수 있다.

  • 1~3장은 그래프 데이터베이스를 활용하기 위한 기본적인 개념을 제공하며, 3장의경우 C360 예제를 사용해서 사례를 설명하고 있다.
  • 4~6장은 C360 예제를 확장하면서 그래프 구조를 연습하고, 실습을 통해서 연습한다.
  • 7~8장은 분산시스템에 적용하는 방법이나, 네트워크 경로 등을 활용하는 방법을 설명한다.
  • 9~13장 그래프 구조를 활용해서 영화를 추천하는 과정 자세히 소개하고 있다.

개인적으론 1~6장까지 정도는 꼭 읽어보면 좋을 것 같고, Neo4j 등을 사용했던 경험이 있다면 9~13장 부터 진행해도 무리없을 것으로 예상된다.

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

그런데, 이 기대라는 것이

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

제목 : 실무자를 위한 그래프 데이터 활용법


리뷰 요약

RDB만 써왔거나, 딱히 새로운 기술을 몰랐던 사람이라면,

DB에 대한 새로운 기술, 새로운 방식에 대해 알고 싶거나,

그간 DB를 써오며 '이런 방식이 있었으면 좋겠다'고

한번 쯤 생각해 보았다면

읽을만한 그래프 데이터 활용 서적.


 

이 서적의 핵심

 

1. 그래프 데이터뿐 아니라 DB의 역사 전반에 대한 흐름과

그 흐름 뒤에 새로운 패러다임으로 그래프 데이터가 생겨나고

사용되는 이유에 대한 설명

 

음... 뭔가 20년에 맞춘 느낌이 강하긴 하지만...

- '그래프 데이터 킹왕짱이에요!' 라며 장점만 늘여놓기보단,

어떤 필요에 의해 그래프 데이터를 사용하게 되었는가를 서술하고

기존에 가장 많이 쓰이던 RDB등과 비교를 하며 설명.

 

 

2. 어떤 방식을 사용해야 그래프 데이터를

효율적으로 구축할 수 있는지에 대한 내용으로 구성

 

- 실무에서 사용되는(사용 될법한?) 내용의 예제들로

어떻게 그래프 데이터가 활용되고 활용해야 하는지를 설명하기 때문에

'막상 이론은 이런데 실무에선?'이라는 의문은 갖지 않아도 될 듯하다.

 

 

3. 가장 많이 사용되는 방식인 RDB와 비교, 대조하며

그래프 데이터를 구현해보기 때문에 비교하며 분석할 수 있음


좌: RDB 테이블, 우: 그래프 데이터

- 익숙한 테이블과 RDB 구조를 만들고 이것을 기준으로

그래프 데이터를 어떻게 만들어야 할 지

단계별로 설명하기 때문에 설명이 조금 길지만,

비교하며 진행할 수 있음.

 

 

4. 핵심적인 '이것을 왜 써야 하는가?' 에 대해 지속적으로 언급함.

- RDB를 가장 많이 쓰고있고, 앞으로도 많이 쓸 것이라 생각하기 때문인지

보면서도 이해가 잘 안가고 이해를 잘 안하려고 하는 것 같은 기분이 들었다.


위의 밑줄 친 부분이 딱 나의 마음이었는데, '그래프를 써야해!'라는 확신이 없다면

딱히 쓰지 않아도 된다는 뉘앙스를 풍기지만,

확실히 특정 분야에서는 그래프 데이터로 표현하는것이 훨씬 유용하다고 언급하기 때문에

나중에 필요한 일이 생기면 가장 먼저 생각나지 않을까 싶음.


마무리

 

이 책은 '어떻게 만드냐'를 핵심으로 내용을 꾸며간다고 생각한다.

예제들도 한권의 책에 다 담아낼 순 없었을테고

부족한것도 많았을거라고 본다.

하지만 이 책은 직접 따라해보고 실전에 사용하는 코드 등을 제공하는 서적이 아닌

'어떻게 만드냐'는 생각을 통해 '그래프 데이터는 이런식으로 생각하고 꾸민다.'는

설계 중심적인 서적이 아니었나 생각한다.


솔직히, 최근 본 서적중에 제일 재미가 없었다.

위에서도 언급했지만

'필요에 의한 것'이 아닌게 가장 큰 문제가 아니었나 싶다.


처음 이 책의 '그래프 데이터 활용법'이라는 제목을 보고,

'마인드맵'같은 분석과 '구글 애널리스틱' 활용 같은 마케팅 관련 내용이 아닐까 싶었고,

'실무'라는 말이 써있었기 때문에 '문서 작성에 필요한 능력에 대한 이야기인가?'

라는 생각을 했지만 지금 읽은 바로는 아닌것 같다.


100쪽까지 읽어가는 과정이 너무 힘들었다.

읽고 또 읽고... 이게 무슨말이지...? 하면서 다시 보았지만 잘 이해가 안갔다.

분명 한빛 난이도에선 '초중급'이라고 나와있는데,

나는 아직 멀었나보다...!


아무튼, 책 내용에서도 나오듯이

지금 RDB등의 데이터를 활용하는것에 무리가 없고 불만이 없다면

딱히 지금 당장 배워야 될 기술은 아니지 않나 싶다.


얼마 전 지인에게

'주변에서 새로운 것들이 너무 많이 나와서 나도 배워야 할 것 같은 조급함이 든다'

라고 말했더니,

'당장 필요한 기술이 아님에도 시간을 들여 지금 사용하고 있는것에 소홀해 하지마라'

라는 말을 들었다 (뭔가 새로운 전자기기 살 때 느낌이랑 비슷한거 같은데...).


딱 이 책이 그런 느낌인것 같다.

필요성을 못느끼지만 '새로운 기술'이기 때문에

먼 훗날을 위해 한번쯤은 봐두면 좋은..?


물론, 그래프 데이터가 필요한 분야에 있는 분들이 읽는다면

최고의 책이 될 수도 있다고 생각한다(나중에 나에게 최고가 될지도?).


많은 개발자들이 '새로운 것'을 추구하는것을 안다.

나 역시도 새로운 것에 '흥미'는 매우 많으니까...

필요에 의해 생기는 것들이지만, 지금 사용하고 있는 기술들도

그 과정을 거쳐 탄탄해지고 살아남은 것들이니

과거의 기술들을 너무 미워하지는 말자.



https://www.hanbit.co.kr/store/books/look.php?p_code=B6334451644 

 

실무자를 위한 그래프 데이터 활용법

국내 최초 그래프 씽킹 안내서! 문제 해결력을 키우는 그래프 씽킹 완벽 가이드북. 그래프 씽킹으로 그래프 데이터를 효율적으로 구축하는 방법을 배워 은행 고객 관리 시스템부터 넷플릭스와

www.hanbit.co.kr

 

이 책은 읽으면서 그래프 씽킹이라는것이 어떤 것인지를 고민하게 해주는 책이다. 관계형 데이터를 그래프로 보고 싶다는 생각을 가지고 있었을 때 우연한 기회로 읽을 기회가 생긴 책이었다.

 

아무런 개념없이 책을 읽기 시작했음에도 불구하고 이해하는데 어려움이 없을 정도로 쉽게 설명이 되어 있는 책이다.

 

책을 읽다보니 이런 사람들에게 추천해주고 싶다는 생각을 했다. 관계형 DB에만 익숙해 그래프 관점으로 데이터를 바라보고 싶은 사람과 그래프로 데이터를 구성하더라도 여러가지 문제(최신경로, 관계 설정) 에 대해서 어떤 방식으로 문제를 해결할 수 있을지 인사이트를 얻고 싶은 사람들에게 추천한다.

 

개인적으로 이 책의 그림체와 글씨체가 너무나 마음에 들었다. 설명자체도 친절한데 그림으로 설명해주고 있기 때문에 문제를 이해하는데 어려움이 없었다. 그림과 실습을 통해 다양한 문제에 대해서 대리 경험을 해볼 수 있다.

 

개인적으로 아쉬웠던 부분은 해당 책의 예제는 파이썬으로 구성되어 있다. 그렇다보니 파이썬에 대한 기본적인 지식이 필요하다. 또한 클러스터(아파치 카산드라)를 구성하는 부분에 있어서는 별다른 예제나 설정을 제공하지 않는다. 클러스터가 있다는 가정하에 예제를 제공하고 있다보니 기본적인 지식이 필요하다는 부분이 책을 선택할 때 한 번쯤 생각해 볼 필요가 있다는 생각이 들었다. 

 

그렇다고 하더라도 책을 통해 그래프 씽킹을 간접경험 할 수 있는 부분은 너무나도 좋았다. 추천을 위해 그래프 DB를 구성해볼 수 있지 않을까라는 생각을 갖게 해준 책이다.

이름에서부터 당당하게 밝히듯이, 이론적인 연구보다는 실무적인 활용에 더욱 초점을 맞춘 책이다. 저자인 데니즈 고즈넬과 마티아스 브뢰헬러 모두 현업에서 그래프를 다루는만큼, 순수 이론보다는 실무적인 개념을 유용한 팁과 함께 다룬다. 

데이터베이스의 등장과 RDBMS로의 발전, 그리고 NoSQL의 등장 및 그래프 데이터가 각광 받게 된 배경을 자연스럽게 풀어내며 읽는 사람으로 하여금 그래프 데이터를 하나의 선택지로 둘 수 있게 한다. 여기서 '하나의 선택지'라 말한 이유는, 저자도 그래프 데이터가 만능이 아님을 정확히 명시하고 있기 때문이다. 어떤 문제에 어떻게 그래프를 적용해 풀어낼 것인지에 대한 고민을 '그래프씽킹'이라 칭하며 그래프 도입을 고려할 때 생각해보아야 할 질문들을 배치하였다. 사고에 있어서 균형을 잃는 것은, 연구자의 길을 걷는 사람이든 현업에 종사하는 엔지니어든 중요하므로 이처럼 오해가 없도록 명시한 점이 참 좋았다.

또 실무에 초점이 맞춰진 책인만큼, 예제 데이터를 RDBMS와 그래프 데이터베이스 두 가지 방식으로 구축해보면서 각각의 장단점을 명료하게 설명하고 있다. 그래프가 효율적인 다양한 데이터를 가져와 함께 그래프 표현법을 익히고 데이터베이스를 구축하면서 그래프의 매력을 쉽고 즐겁게 알아갈 수 있다. 

경로 찾기나 추천 시스템에 이를 어떻게 적용할 수 있을지를 두 챕터씩을 들여가며 충분히 설명한 것도 이 책의 매력 중 하나이다. 엔지니어를 위한 책이라 해놓고, 이론은 한가득인데 실무 내용은 뒤에 부록 느낌으로 '첨부'한 책이 많은데 이 책은 '실무'를 강조한 만큼 최신 트렌드를 가득 채워 읽는 사람들을 즐겁게 한다. 그렇다고 이론에 소홀한 것은 또 아니라서, 그래프 데이터베이스뿐만 아니라 데이터베이스를 다루는 모든 사람들에게 단단한 기반을 마련해줄 좋은 책이라고 생각한다.

 

## 1장

 모든 이들이 저자와 같이 그래프를 처음 접했을 무렵의 경험을 상기 시키며 시작한다. 데이터베이스 기술이 계층형 > 관계형 > NoSQL > 그래프 싱킹으로 변화되고 있음을 단계적으로 설명하고 있으며, 복잡한 문제와 복잡한 시스템에서 그래프 기술을 사용해 문제 해결이 가능함을 설명한다.

 

## 2장

 관계형 데이터베이스를 사용하던 팀에서 그래프 씽킹으로의 전환을 돕는다.

 

 1) 관계형 개념을 그래표 용어로 변환

 2) 관계형과 그래프의 차이 설명

 3) 관계형 데이터 모델링

 4) 그래프 데이터의 개념

 5) 그래프 스키마 언어

 

 위의 순서로 설명하고 있다.

 

## 3장

 여전히 관계형이냐 그래프 기술이냐를 놓고 고민하는 팀에게 유용한 사용 사례를 설명한다.

 C360 이라는 애플리케이션을 그래프로 구현하면서 여기저기에 산재한 데이터에 접근해야 하는 요구사항을 만족시키기 위해서 그래프 기술이 필요함을 단계적으로 설명하고 이해시킨다.

 

## 4장

 3장의 C360 애플리케이션을 더 완벽한 시나리오에 대응할 수 있도록 확장한다. 이 과정에서 사용 편의성과 출시 속도 측면에서 그래프 기술과 관계형을 비교해 주고 있다.

 

## 5장

 앞서의 C360을 더욱더 확장한다. 자칫 그래프 데이터 사고 방법을 적용하면서 범할 수 있는 함정을 배치하고 어떠어떠한 함정이 숨어 있었고 이를 어떻게 해결하는지 설명해 준다.

 

## 6장

 그래프 씽킹을 데이터로 확장하는 방법을 살펴본다. 센서들의 통신 네트워크에서 간선 계산과 계층 그래프 데이터가 교차하는 지점에서 발생하는 복잡한 문제를 제시하고 이를 해결하는 방법을 설명한다.

 

## 7장

 트리 사용 제품화를 중심으로 이전장에서 다소 미흡했던 리프(타워)에서 모든 루프로(센서)로 탐색할 때 그래프 기술을 이용하면 이를 쉽게 구현할 수 있음을 알려주며, 분산 시스템에서 가장 인기 있는 두 가지 그래프 모델인 이웃과 계층을 살펴보고 질의를 살펴본다.

 

## 8장

 7장에서는 이웃과 계층을 살펴보았고, 분산 그래프 애플리케이션에서 3번째로 인기 있는 네트워크 경로 데이터 모델과 질의를 사용한다.

 

## 9장

 기존에서 사고 전환을 통해 복잡한 문제(그래프 데이터의 최단 가중치 경로)를 해결한 방법에 대해서 살펴본다.

 

## 10장

 10장부터는 실제 사례에 대해 소개한다. 사용자 평가 기반으로 영화를 추천하는 방법을 살펴본다.

 

## 11장

 무비렌즈와 캐글 데이터를 합쳐서 모델과 질의를 만드는 방법을 설명한다. 데이터 정리, 병합 작업을 수행함으로 단순한 데이터라도 더욱 유용한 정보를 얻을 수 있음을 알려준다.

 

## 12장

 그래프 데이터에서 항목 기반 협업 필터링의 제품 버전을 설명한다. 여기에서는 항목 기반 협업 필터링의 추천을 제공하는 방법을 알려준다.

 

## 13장

 마무리. 복잡한 문제를 해결하는 새로운 방식과 사고를 위해 새로운 기술과 기법을 배웠다. 그러나, 관계형으로 표현되는 데이터가 문제가 있거나 그래프 씽킹이 마냥 좋다는 것이 아님을 다시한번 강조한다. 각각의 장단점을 상기하고 복잡한 문제를 작은 단위로 나누어서 두 기법을 모두 이해하고 적용하길 권한다.

 

마지막으로 책 표지를 보며 리뷰를 마무리 하고자 한다.

 

'그래프를 그리면 세상이 보인다,

그래프 씽킹으로 시작하는 그래프 데이터베이스 사용 안내서'

(원서 : Applying Graph Thinking and Graph Technologies to Solve Complex Problems)

 

현대의 다량의 데이터를 갖는 복잡한 문제를 해결하기 위해서 그래프 씽킹과 그래프 기술은 필수 요소가 아닐까 생각한다. 그래프를 통해 세상의 다양한 데이터에서 유형의 가치를 뽑아 내기 위해 그래프를 통한 사고에 도전에 보자.

 

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

관계형 테이블 구조의 데이터로 복잡한 문제를 해결하기 힘들어지고 있다는 사실은 시스템을 설계하고 개발해본 사람들이라면 잘 알고 있을 것이다

그래프 씽킹을 통해 그래프 데이터베이스에 입문하고 복잡한 문제를 좀 더 단순하고 쉬운 구조로 개선해보자

이 책은 '20년 발간한 원서 'The Practitioner's Guide to Graph Data'를 번역한 책으로 중급 수준 난이도의 책으로 예제코드 사용언어는 주로 데이터베이스에 많이 활용하는 SQL문을 채택하여 설명하고 있다.

전반적으로 예제와 코딩을 책 본문에 충실히 활용하였고 실무서에 가깝도록 예제와 그림을 많이 사용하여 내용을 구성하였다. 

 

저자는 데니스 고즈넬, 마티아스 브뢰헬러 2명이며 고즈넬은 테네시 대학 컴퓨터 공학 박사로 현업에서 활동하고 있으며 브뢰헬러는 데이터 스택스 최고기술책임자(CTO)로 주 전문 분야는 데이터베이스, 관계형 머신러닝, 빅데이터 분석이다.

 

두 명 모두 교수가 아닌 실무자로 책 내용이 학문적이 아닌 실용성을 띄고 있어 좋아 보인다. 저자들의 약력에서 살펴볼 수 있듯 기술적인 부분도 가볍게 여기지 않으며 활용에 촛점을 두고 책 내용을 서술하고 있어 본 책은 실무자에게도 많은 도움이 되어 보인다.

 

책 내용은 전체적으로 본문 442페이지 가량의 조금 두꺼운 분량으로 보이며 책상앞에 두어도 큰 부담이 되지는 않아보이며 총 13장으로 구성되어 있다.

 

13장중 

1장은 그래프 씽킹에 대해 간략히 설명하고 있으며 책의 전반적인 방향을 가리키고 있다.

 

2장은 관계형 데이터 모델링, 그래프 데이터 개념, 그래프 스키마 언어에 대해 다루고 있다.

 

3장은 그래프 데이터 기본 사용 사례를 통해 Customer 360 을 다루며 애플리 케이션을 구현해 본다.

 

4장은 이웃탐색 개발, 고급 그렘린 탐색등을 다룬다.

 

5장은 이웃 탐색을 통해 제품화 하는 방법을 보여주며 최종제품 작성을 보여주고 있다.

 

6장은 트리를 사용해 개발하는 것과 센서데이터를 통해 계충 구조의 이해등을 다루고 있다.

 

7장은 트리 사용 제품화를 중심으로 리프에서 루트로 질의하기, 루트에서 리프로 질의하기등을 보여준다.

 

8장은 경로찾기 개발을 다루고 있으며 9장은 8장을 기초로 경로 찾기 제품화에 대해 가중치 경로를 설명하고 있다.

 

10, 11, 12장은 이 책의 장점을 보여줄 수 있는 추천개발, 그래프 해석, 추천 제품화를 통해 사례를 경험함으로써 책 제목 그대로 그래프를 통해 데이터 베이스를 실제 구현하도록 도와 주고있다.

 

 13장은 맺음말을 통해 책을 마무리하고 있다.

 

전체적인 총평은 난이도는 중급으로 보이며 이미 컴퓨터학 통계학관련 전공 학생, 전공과 무관하게 프로그래밍의 개념이 어느정도 있는 직장인, SQL 언어에 대해 알고 있고 이공계열 전공으로 실제 데이터베이스를 어드밴스하게 사용하고자 하는 학생과 데이터 시각화를 업으로 하거나 보고서에 많이 활용하고자 하는 직장인에게 적합해 보이며 기본적으로 프로그래밍 언어에 대한 이해도를 가지고 있다는 전제로 서술되어 있으므로 이에 대한 이해가 부족한 독자들은 책을 읽기전이나 읽는 도중 데이터베이스 언어에 대한 선행 학습이 있어야 더 쉽고 깊은 이해가 가능하다고 생각된다.

 

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

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
실무자를 위한 그래프 데이터 활용법
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
실무자를 위한 그래프 데이터 활용법
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
실무자를 위한 그래프 데이터 활용법
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0