로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『Neo4j로 시작하는 그래프 데이터베이스 2/e: Neo4j 3.x를 이용한 효과적인 데이터 모델링, 성능 튜닝 및 데이터 시각화』

   
지은이 제롬 바톤, 릭 반 브루겐   |   출판사 에이콘  |   발행일 2018년 06월 29일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2018-06-29
ISBN 1161751742 | 9791161751740
기타정보 번역서 | 384쪽
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 요약 ★



최근 소셜 네트워크 분석, 상품 추천 시스템, 금융 사기 방지 시스템 그리고 인공지능 등 다양한 분야에서 그래프 데이터베이스가 활용되고 있다. 특히 Neo4j는 대표적인 그래프 데이터베이스로 엄청난 양의 데이터를 쉽게 탐색할 수 있도록 해준다.

그래프 이론의 간단한 소개로 시작하는 이 책은 그래프 데이터베이스를 사용해 얻을 수 있는 이점과 데이터모델링 기술을 설명한다. Neo4j의 질의어인 사이퍼와 대표적인 프로시저인 APOC를 다루는 방법을 다루며, 성능 향상, 시각화, 데이터 리펙토링, 보안 향상 기술 같은 Neo4j의 최신 기술을 예제를 따라 하면서 수행해볼 수 있다. 그리고 몇 가지 사용 사례를 통해 Neo4j를 이용해 비즈니스를 설계하고 개발하는 기술을 얻을 수 있을 것이다.





★ 이 책에서 다루는 내용 ★



█ 그래프 이론과 데이터베이스, 전통적인 데이터베이스 대비 Neo4j 사용의 이점 이해

█ Neo4j 설치, 데이터 모델링, 일반적인 예를 통한 데이터 탐색.

█ 사이퍼 질의어와 사용자 정의 프로시저 및 데이터에서 의미 있는 표현을 분석하고 추출하는 방법 학습

█ APOC 라이브러리의 프로시저를 이용해 그래프 기술 향상

█ 성능 최적화를 위해 Neo4j의 고급 확장과 플러그인 사용

█ Neo4j의 최신 보안 기능과 클러스터링 아키텍쳐를 사용해 대규모 배포





★ 이 책의 대상 독자 ★



애플리케이션 내에서 데이터를 저장하고 처리하는 또 다른 방법, 또는 고도로 연결 데이터를 처리해야 하는 개발자를 대상으로 한다. 그래프 데이터베이스에 대한 지식이나 경험을 갖고 있지 않아도 되지만, 기본적인 데이터베이스 지식은 개념을 더 쉽게 이해하는 데 도움이 될 것이다.





★ 이 책의 구성 ★



1장, ‘그래프 이론 및 데이터베이스’에서는 그래프 데이터베이스 기술의 기본적인 이론에 대해 설명한다. 그리고 끊임없이 변화하는 데이터베이스 환경에서 그래프 데이터베이스가 어디에 위치하고 있는지를 알려주며, 다른 데이터 기술과 비교한다.

2장, ‘Neo4j 시작하기’에서는 Neo4j 그래프 데이터베이스의 주요 개념과 특징을 살펴본다.

3장, ‘Neo4j 데이터 모델링하기’에서는 그래프 데이터베이스의 기본적인 모델링 기술을 다룬다.

4장, ‘사이퍼 시작하기’에서는 Neo4j의 쿼리 언어인 사이퍼(Cypher)에 대한 개요를 제공한다.

5장, ‘사이퍼의 놀라운 프로시저 – APOC’에서는 APOC 라이브러리를 소개한다. 사이퍼 쿼리에서 APOC 라이브러리를 사용해 정보를 얻고 커뮤니티에서 제공하는 수많은 프로시저 중에서 필요한 프로시저를 찾는 방법을 배울 것이다.

6장, ‘사이퍼 확장하기’에서는 Neo4j 인스턴스에 함수와 프로시저를 추가하는 방법을 설명한다. 자신만의 APOC를 작성해보자.

7장, ‘쿼리 성능 튜닝하기’에서는 성능 향상을 위해 사이퍼 쿼리를 튜닝하는 방법을 보여준다.

8장, ‘Neo4j로 데이터 가져오기’에서는 다양한 유형의 소스로부터 Neo4j로 데이터를 가져오는 방법을 설명한다.

9장, ‘Spatial 사용하기’에서는 Neo4j, APOC 및 Neo4j Spatial의 위치 정보 기능을 다룬다.

10장, ‘Neo4j 보안’에서는 Neo4j에서의 인증과 권한 부여에 대해 다룬다.

11장, ‘Neo4j 시각화하기’에서는 데이터를 시각적으로 표시하는 방법을 보여준다.

12장, ‘Neo4j로 리팩토링하기’에서는 데이터 모델을 새로운 요구 사항에 맞게 변경하는 방법을 설명한다.

13장, ‘Neo4j 클러스터링’에서는 Neo4j 엔터프라이즈 에디션을 사용해 인과 관계 클러스터를 설정한다.

14장, ‘사용 사례 – 추천’에서는 특정 그래프 데이터베이스 사용 사례 - 실시간 추천을 파헤치고 구체적인 예제 데이터 세트와 쿼리 패턴을 사용해 설명한다.

15장, ‘사용 사례 - 영향 분석 및 시뮬레이션’에서는 네트워크가 변경됐을 때의 영향을 분석한다. 사용 사례를 설명하고 살펴본다.

부록, ‘팁과 유용한 요령’에서는 더 많은 팁과 지식을 제공한다. 놓치지 말자.





★ 지은이의 말 ★



그래프 데이터베이스의 주요 개념, 특히 Neo4j에 대해 다룬다. 개념에서부터 애플리케이션에 이르기까지 Neo4j에 대해 많은 것을 배운다. 이 책을 읽고 나면 관계형 데이터베이스를 다시 사용해야 할지에 대한 의문을 갖게 될 것이다.

1장. 그래프 이론과 데이터베이스



__Neo4j 3.x와 그래프의 역사

__그래프 이론의 정의와 사용법

____사회 연구

____생물학 연구

____컴퓨터 과학

____흐름 문제

____경로 문제

____웹 검색

__데이터베이스 배경 지식

____탐색형 데이터베이스

____관계형 데이터베이스

____NoSQL 데이터베이스

________키-값 저장소

________컬럼 계열 저장소

________문서 기반 저장소

________그래프 데이터베이스

__그래프 데이터베이스의 속성 그래프 모델

____노드 레이블

____관계 유형

__그래프 데이터베이스를 사용하는 이유

____왜 그래프 데이터베이스를 사용하는가?

________복잡한 질의

________실시간 데이터에 대한 클릭 스트림 쿼리

________경로 탐색 질의

____그래프 데이터베이스를 사용하지 않을 경우 대신 무엇을 사용할 것인가?

________대규모 집합 지향 쿼리

________글로벌 그래프 운영

________간단한 집계 중심 질의

__문제

__요약

________집합-지향 (Aggregate-oriented) 모델

________색인 없는 인접성(Index-Free Adjacency)과 인덱스 기반 인접성(Index-based Adjacency).





2장. Neo4j 시작하기



__Neo4j의 주요 개념과 특징

____완전한 그래프 데이터베이스 관리 시스템

____트랜잭션 처리 중심의 ACID 호환 데이터베이스

________온라인 거래 처리용 데이터베이스

________확장형으로 설계된 DB

____선언적 질의어 - Cypher

________참고

__Neo4j 최적의 사용 사례

____복잡한 조인-집약적인 쿼리

________경로 탐색 쿼리

____오픈소스에 채택됨

__기능

____지원

__라이선스 조건

__Neo4j 설치하기

________Windows에 Neo4j 설치하기

________맥 또는 리눅스에 Neo4j 설치하기

__클라우드 환경에서 Neo4j 사용하기

__샌드박스

__도커 컨테이너에서 Neo4j 사용하기

____도커 설치

________파일 시스템 준비하기

________도커 컨테이너에서 Neo4j 실행하기

__문제

__요약

________Neo4j Server 설치 변경 사항 - 옮긴이 추가 설명

________Neo4j on Desktop - 옮긴이 추가 설명





3장. Neo4j데이터 모델링하기



__네 가지 기본 데이터 구조

__그래프 데이터베이스 모델링 시작 방법

________우리가 알고 있는 ER 다이어그램과 관계형 스키마

________조인 테이블을 통한 복잡성

__그래프 모델 - 단순하고 높은 수준의 현실 세계 모델

__그래프 모델링 - 모범 사례와 함정

____그래프 모델링 모범 사례

________질의 가능하게 설계하기

________사용 사례를 이용해 관계 정렬하기

________다항 관계 찾기

________세밀한 노드

________필요한 경우 그래프의 색인 기능 사용하기

____그래프 데이터베이스 모델링 – 함정

________풍부한 속성 사용하기

________여러 가지 개념을 나타내는 노드

________연결되지 않은 그래프

________고밀집 노드 패턴

__문제

__요약





4장. Cypher 시작하기



__Cypher 구문 작성하기

__Cypher의 주요 특징

__CRUD로 데이터 다루기

____데이터 생성하기

____데이터 읽기

____데이터 수정하기

____데이터 삭제하기

__Cypher의 핵심 단어들

__구문 표준

__추가로 알아야 할 필요가 있는 것

____친구 찾기 예시

__Cypher 참조 카드

__openCypher 프로젝트

__요약





5장. Cypher의 놀라운 프로시저 –APOC



__APOC 설치하기

____로컬 서버에 설치하기

____도커 컨테이너에 설치하기

APOC 다운로드하기 – 옮긴이

__APOC 설치 확인하기

__함수 및 프로시저

__APOC 주요 용도

____APOC에 대한 도움이 필요한 경우

____그래프의 구조가 필요한 경우

__APOC 사용법

____APOC 사용 권한 설정

____무작위 그래프 생성기

____페이지 랭크

____주어진 시간 내에 Cypher 실행하기

____노드 집합의 연결

____APOC에서 다루는 또 다른 주제들

__문제

__요약





6장. Cypher 확장하기



__확장 프로젝트 구축

____함수 만들기

____프로시저 만들기

__사용자 정의 집계 함수

__관리되지 않는 확장

____HTTP와 JAX-RS 리프레셔

________등록

________액세스

____JSON 스트리밍 응답

__요약





7장. Neo4j 쿼리 성능 튜닝



__설명과 프로파일 지침

____쿼리 실행 계획

____연산자

__인덱스

____인덱스 강제 사용

____레이블 강제 사용

__쿼리 작성 시 규칙

____쿼리의 실행 계획 확인

____행의 수

____자원 낭비 금지

____카티샨 곱 사용 여부

____간결함

__요약





8장. Neo4j로 데이터 가져오기



__LOAD CSV를 이용해 데이터 가져오기

____가져오기 크기 조정

__JSON 소스에서 데이터 가져오기

__JDBC 소스에서 가져오기

____테스트 설정

____모든 시스템 데이터 가져오기

__XML 소스에서 가져오기

__요약





9장. Neo4j Spatial사용하기



__공간이란 무엇인가?

____위도와 경도

____장애가 없는 탑

__그럼 무엇이 공간적인가?

____Neo4j의 공간적 특징

____APOC의 공간적 특징

________지오코딩

__Neo4j spatial

____온라인 데모

____Neo4j Spatial의 특징

____오픈 스트리트 맵 데이터 가져오기

________큰 OSM 데이터 가져오기

____화장실 찾기 예제

__모든 지리 정보 삭제하기

__요약





10장. Neo4j 보안



__인증 및 권한 부여

__역할

____그 외 역할

__사용자 관리

__LDAP 디렉터리에 Neo4j 연결하기

____디렉터리 시작하기

__LDAP사용을 위한 Neo4j 구성

__문제

__요약





11장. Neo4j 시각화하기



__그래프 시각화의 힘

____그래프 시각화가 중요한 이유

________시각적 데이터와의 상호 작용

________패턴 찾기

________중요한 정보 찾기

____그래프 시각화의 기본 원칙

__오픈소스 시각화 라이브러리

____D3

____GraphViz

____Sigma

__Vivagraph

____yWorks

____애플리케이션에 시각화 라이브러리 통합

____시각화 솔루션

________Geophi

________키라인

________Linkurio

________Neo4j Browser

________톰 소이어의 그래프 시각화 소프트웨어

____시각화의 함정과 문제점

________불꽃 놀이 효과

________로딩 효과

____사이토스케이프 예제

________소스 코드

__문제

__요약





12장. Neo4j를 이용한 데이터 리팩토링



__사전 준비 단계

__간단한 변경

____이름 변경

____데이터 추가

________기본값으로 데이터 추가

________특정 값을 가진 데이터 추가

________값 확인

____데이터 제거

__대변화

____모델 파악

____리팩토링 도구

____속성을 레이블로

____속성을 노드로

____관련 노드를 레이블로

____노드 병합

____관계

__결과

__요약





13장. Neo4j 클러스터링



__클러스터를 설정해야 하는 이유

__개념

____핵심 서버

____읽기 복제본 서버

____높은 처리량

____데이터 중복성

____고가용성

____볼트

__클러스터 구축하기

____핵심 서버

____읽기 복제본

____볼트 + 라우팅 프로토콜

__재해 복구

__요약





14장. 사용 사례 – 추천



__추천 시스템

__그래프 모델을 이용한 추천

__추천에 대한 구체적인 쿼리 예제

____제품 구매에 따른 추천

____브랜드 충성도에 기반을 둔 추천

____사회적 유대 관계에 기반을 둔 추천

____모두 모으기 - 복합 추천

__추천을 활용한 유사 비즈니스

__부정 행위 탐지 시스템

__출입 통제 시스템

__소셜 네트워킹 시스템

__문제

__요약





15장. 사용 사례 - 영향 분석과 시뮬레이션



__영향 분석 시스템

____비즈니스 프로세스 관리 영향 분석

____비즈니스를 그래프로 모델링

________어느 건물에 어떤 애플리케이션이 사용되는가?

________Appl_9에 무슨 일이 발생하면 어떤 건물이 영향을 받을까

________RTO가 0-2시간인 비즈니스 프로세스가 Loc_100 위치의 화재에 의해

________영향을 받게 될까?

__비용 계산 환경에서의 영향 시뮬레이션

____그래프를 이용한 제품 계층 구조 모델링

____제품 계층 그래프 사용

________트리 전체 통과를 기반으로 가격 계산

________중간 가격 결정에 근거한 가격 계산

________제품 계층 구조에 대한 영향 시뮬레이션

__문제

__요약

__비밀번호 재설정





부록. 유용한 팁과 트릭



____접근 가능한 호스트 찾기

____CSV 파일의 첫 번째 줄 가져오기

__라즈베리파이에서 SSH활성화

__Neo4j 브라우저 가이드

__데이터 백업 및 복원

____커뮤니티 버전

____엔터프라이즈 버전

__Neo4j도구

____Cypher-shell

____데이터 통합 도구

____모델링 도구

________Arrows

________옴니그래플

__커뮤니트 프로젝트

__온라인 문서

__커뮤니티

__더 많은 속담
제롬 바톤(Jerome Baton)

컴퓨터 해킹으로 시작해 암스트라드 CPC(Amstrad CPC)에서 베이직(Basic) 언어를 혼자 학습하면서 게임을 접했고, 전체 화면에 수평 별표 코딩을 정점으로 삼았으며, 비디오 컨트롤러의 인터레이스를 방해해 수평 비트 게임에서 스프라이트(비디오 영상과 분리된 그래픽 객체)가 두 배 높게 나타나게 했다. 당시 디스크는 178Kb에 3인치였다.

그 후, 게임을 위해 아미가 코모도(Amiga Commodore)와 AMOS 베이직으로 바꿨고, 터보 파스칼(Turbo Pascal), C, 코볼(COBOL), Visual C ++ 그리고 자바(Java)를 대학의 PC와 메인 프레임에 사용했으며, 심지어 고등학교의 로고(Logo)에도 사용했다. 그 후 다른 여러 비즈니스에서 주로 웹 사이트의 백엔드 코드에 대한 컨설턴트가 됐다.

Neo4j, JBoss Forge 그리고 Devoxx4Kids의 아두이노 워크숍에서 프랑스어로 몇 편의 기사를 썼으며, 안드로이드에 관련된 많은 책을 검토했다.

현재 프랑스 파리 제5대학인 데카르트대학(IUT Paris Descartes)에서 Neo4j와 안드로이드(Android), 트루아공과대학에서 Neo4j를 가르치는 즐거움을 느끼고 있다.



“진정으로 진리를 추구하려면 인생에서 적어도 한 번은 가능한 모든 것에 대해 의심을 품을 필요가 있다.“ - 르네 데카르트



자세한 내용은 https://www.brainyquote.com/authors/rene_descartes에서 볼 수 있다. 프로그래밍을 하지 않을 때는 사진 찍기, 전자 기기 만지기, DIY, 사물이 어떻게 작동하는지 연구하기, 트위터하기 등을 즐긴다. 아이들과 인생에 대해 토론하는 것을 좋아한다.



릭 반 브루겐(Rik Van Bruggen)

네오 테그놀로지 영국의 베네룩스(Benelux)와 북유럽 지역의 영업 부사장이다. 대부분 eCom Interactive Expertise, SilverStream Software, Imprivata와 Courion 같은 신생 기업에서 일해왔다.

기술에 관심을 갖고 있지만, 그의 진정한 열정은 비즈니스와 기술이 어떻게 비즈니스에 도움이 되게 하는지에 있다.

벨기에의 앤트워프에서 아내와 3명의 사랑스러운 아이들과 함께 살고 있으며 기술, 장식, 조깅 그리고 벨기에 맥주를 즐긴다.





★ 옮긴이의 말 ★



최근 많은 기업이 단순히 데이터를 저장, 검색, 활용하는 것에 그치지 않고, 데이터 간 상관관계와 패턴을 분석하고 활용하는 것이 데이터 자체만큼 중요하다는 사실을 인식하고 있다. 그래프 데이터베이스는 이러한 상관관계와 패턴을 찾아 활용할 수 있는 방법을 제공하는 훌륭한 솔루션이다.

카카오, 아마존, 비트 나인 등과 같은 업체에서도 자체 그래프 데이터베이스를 제공하고 있으며, 이외에도 다양한 그래프 데이터베이스 제품이 있다. 그 중에서 Neo4j는 오픈소스 그래프 데이터베이스로, 이미 3.x 버전이 나올 정도로 안정화돼 있으며, 많은 분야에서 활용되고 있다. neo4j는 데이터베이스 제품에 대한 상위 랭크 정보를 제공하는 db-engines 사이트에서도 상위 20위권에 랭크돼 있으며, 그래프 데이터베이스 분야에서는 1위를 차지할 정도로 대표적인 그래프 데이터베이스다.

이러한 그래프 데이터베이스는 소셜 네트워크 분석뿐 아니라 상품 추천 시스템과 금융 사기 방지 시스템 그리고 최근에는 인공 지능 등과 같은 다양한 분야에서 활용되고 있다.

이 책을 통해 그래프 데이터베이스의 위치와 역할을 알 수 있으며, Neo4j를 시작하기 위해 필요한 제반 지식과 필요 기술들을 실습을 통해 익힐 수 있다. 그리고 그래프 데이터 베이스를 적용할 수 있는 분야와 Neo4j를 이용해 비즈니스를 설계하고 개발하는 방법과 기술을 알 수 있다.





★ 옮긴이 소개 ★



배동환

대표적인 통신 기업에서 IT 시스템과 데이터베이스 운영에 대한 다년간의 경험을 쌓았으며, 현재는 외국계 기업에서 다양한 데이터베이스를 다루고 있다. MySQL, PostgreSQL 및 NoSQL 등 오픈소스 데이터베이스 다루기를 좋아하며, 도커 기반 기술과 컨테이너 오케스트레이션에 관심이 많은 엔지니어다. SK브로드밴드(하나로텔레콤, 두루넷) IT 운영 관리, 데이터베이스 관리자(DBA)를 거쳐 현재 Here Solutions의 데이터베이스 관리자, 미래 창조과학부 한이음 ICT 멘토이며, 컴퓨터시스템응용기술사, 정보시스템수석감리원 자격을 갖고 있다.



김선집

대기업 그룹사의 IT부서, 정부 산하 기관 등에서 다년간 IT시스템과 네트워크 및 보안을 다뤘으며, 현재는 한세대학교 IT학부 ICT 디바이스학과 교수로 재직 중이며, 정부 산하기관 평가 위원을 맡고 있다.

등록된 서평이 없습니다.
허팝과 함께하는 유튜브 크리에이터 되기(YouTube 채널 운영부터 동영상 촬영 및 편집, 라이브 방송, 수익 창출까지!)...
허팝, 강전희, 안정기
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
SNS와 유튜브 1인 미디어를 위한 스마트폰 활용법...
김경수, 정인걸, 황세웅
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
[코드로 배우는 스프링 웹 프로젝트 개정판]...
구멍가게 코딩단
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
체탄 기리다...
오쿠무라 하...
조슈아 블로...
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『Windows Debugging 2/e: WinDbg로 배우는 윈도우 디버깅』
최바울, 이태화, 김희준, 김성현 저
49,500원
(10%↓+5%)
 
『스칼라와 머신 러닝 2/e : 풍부한 설명으로 배우는 스칼라 머신 러닝 구현』
패트릭 R. 니콜라스 저
40,500원
(10%↓+5%)
 
『클라우드 네이티브 스프링: 클라우드 플랫폼을 위한 자바 마이크로서비스』
아제이 마하잔, 무니쉬 쿠마르 굽타, 시암 순다르 저
31,500원
(10%↓+5%)
 
『C++ 멀티스레딩 정복하기: 견고하면서도 병렬성과 병행성을 가지는 애플리케이션 작성법』
마야 포쉬 저
22,500원
(10%↓+5%)
 
『타이핑 슈팅 액션 게임 개발 with 유니티 2/e : 유니티 상급 개발자로 올라서기』
앨런 쏜 저
36,000원
(10%↓+5%)
 
이메일주소수집거부