Neo4j로 시작하는 그래프 데이터베이스 2/e
도서명:Neo4j로 시작하는 그래프 데이터베이스 2/e
저자/출판사:제롬,바톤,릭,반,브루겐/에이콘출판
쪽수:384쪽
출판일:2018-06-29
ISBN:9791161751740
목차
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
________옴니그래플
__커뮤니트 프로젝트
__온라인 문서
__커뮤니티
__더 많은 속담