품목정보
출간일 | 2018년 06월 29일 |
---|---|
쪽수, 무게, 크기 | 384쪽 | 896g | 188*235*24mm |
ISBN13 | 9791161751740 |
ISBN10 | 1161751742 |
출간일 | 2018년 06월 29일 |
---|---|
쪽수, 무게, 크기 | 384쪽 | 896g | 188*235*24mm |
ISBN13 | 9791161751740 |
ISBN10 | 1161751742 |
최근 소셜 네트워크 분석, 상품 추천 시스템, 금융 사기 방지 시스템 그리고 인공지능 등 다양한 분야에서 그래프 데이터베이스가 활용되고 있다. 특히 Neo4j는 대표적인 그래프 데이터베이스로 엄청난 양의 데이터를 쉽게 탐색할 수 있도록 해준다. 그래프 이론의 간단한 소개로 시작하는 이 책은 그래프 데이터베이스를 사용해 얻을 수 있는 이점과 데이터모델링 기술을 설명한다. Neo4j의 질의어인 사이퍼와 대표적인 프로시저인 APOC를 다루는 방법을 다루며, 성능 향상, 시각화, 데이터 리펙토링, 보안 향상 기술 같은 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 ________옴니그래플 __커뮤니트 프로젝트 __온라인 문서 __커뮤니티 __더 많은 속담 |