이미 소장하고 있다면 판매해 보세요.
|
머리말
추천사 책의 특징과 구성 CHAPTER 1 NoSQL 개념 1.1 NoSQL이란? 1.2 NoSQL의 시대적 요구 1.3 NoSQL의 장점 1.4 NoSQL의 종류 1.5 NoSQL 제품군 1.6 적용 사례 CHAPTER 2 MongoDB 설치 및 데이터 처리 2.1 MongoDB란? 2.1.1 용어 설명(Terminology) 2.1.2 설치 환경 및 지원 드라이버 2.2 MongoDB 시작과 종료 2.3 데이터 처리 2.3.1 Collection 생성과 관리 2.3.2 데이터의 Insert & Update & Remove 2.3.3 JSON 타입과 BSON 타입 2.3.4 Data Type 종류 2.3.5 연산자(Operator) 종류 2.3.6 빅 데이터의 추출과 분석 2.3.7 MapReduce 기능 2.3.8 Commit과 Rollback CHAPTER 3 인덱스의 생성과 관리 & 사용자 관리 3.1 인덱스 생성과 관리 3.2 인덱스 재 구성과 삭제 3.3 인덱스의 종류 3.3.1 Single??key 인덱스와 Compound key 인덱스 3.3.2 Non??Unique 인덱스 & Unique 인덱스 3.3.3 Sparse 인덱스 3.3.4 Background 인덱스 3.3.5 Covered 인덱스 3.3.6 GeoSpatial 인덱스 3.3.7 GeoMetry 인덱스 3.4 사용자 생성과 관리 3.5 사용자 권한 롤 CHAPTER 4 MongoDB를 위한 Data Modeling 4.1 MongoDB의 Data Modeling 4.2 MongoDB 설계 기준 4.3 MongoDB 설계의 주요 특징 4.3.1 Embedded Document(Rich Document) 4.3.2 Extent Document(Rich Document) 4.3.3 Link 4.3.4 DBRef 함수를 이용한 Link 4.3.5 N:M 관계 패턴 4.3.6 상속 패턴 4.3.7 계층형 패턴 4.4 실습 시나리오 CHAPTER 5 논리적 구조&물리적 구조 5.1 MongoDB 구조 5.2 물리적 구조 5.2.1 데이터 파일 & 저널(Journal) 파일 5.3 논리적 구조 5.3.1 익스텐트와 데이터 레코드 5.3.2 익스텐트와 인덱스 레코드 5.4 메모리 구조 5.4.1 적정 메모리 요구 사항 5.4.2 저널 파일 5.5 Lock 정책 5.5.1 Gobal Lock(Database Lock) & PageFault 5.6 GridFS 5.7 MongoDB 환경 명령어 5.8 MongoDB 관리 명령어 CHAPTER 6 Sharding System 6.1 Sharding System이란? 6.2 Sharding 구축을 위한 시스템 환경 6.3 CONFIG 서버 6.4 MongoS 프로세스 6.5 Sharding 환경 설정 확인 6.5.1 Shard 시스템 테스트 6.6 Sharding 시스템 구축 시 고려 사항 6.7 Shard 서버의 추가와 삭제 6.8 Chunk 크기 관리 6.9 샤딩 System의 문제점 CHAPTER 7 Replica & ReplicaSets 7.1 Master & Slave 서버 7.1.1 MASTER & SLAVE 서버 환경 설정 7.2 ReplicaSets 7.2.1 Priority(우선 순위) 7.2.2 멤버의 유형 7.2.3 Replica Sets 환경 설정 7.2.4 FailOver 7.2.5 복제 서버의 추가와 삭제 7.2.6 OpLog의 크기 설정 7.2.7 리프리카셋 멤버의 동기화 CHAPTER 8 MongoDB 성능 튜닝 8.1 Performance Tuning Point 8.2 디자인 튜닝(Design Tuning) 8.3 문장 튜닝(Statement Tuning) 8.3.1 Profiling 시스템 8.3.2 Profiler 환경 분석 결과 및 상태 확인 8.3.3 Profile Collection의 재생성 및 관리 8.3.4 Hint 함수와 Explain 함수 8.4 아키텍처 튜닝(Architecture Tuning) 8.5 인스턴스 튜닝(Instance Tuning) 8.6 하드웨어 튜닝(Hardware Tuning) 8.6.1 mongoperf 유틸리티 CHAPTER 9 MongoDB 백업/복구 & 유틸리티 9.1 백업과 복구 유형 9.2 MongoDump & MongoRestore 9.2.1 MongoDump 9.2.2 MongoRestore 9.3 BsonDump 9.4 MongoImport & MongoExport 9.4.1 MongoExport 9.4.2 MongoImport 9.5 CopyDatabase & CloneDatabase 9.5.1 CopyDatabase 9.5.2 CloneDatabase 9.6 MongoStat & MongoTop 9.6.1 MongoStat 유틸리티 9.6.2 MongoTop 유틸리티 9.6.3 Web Monitoring 9.6.4 MongoDB Log 수집 & 분석 Appendix A.1 Hadoop-MongoDB 연동을 위한 환경 설정 A.2 올챙이 툴 소개 A.2.1 로그인 및 유저관리 A.2.2 Connection Manager A.2.3 Object Explorer 뷰 A.2.4 Database Information 에디터 A.2.5 Find Collection A.2.6 GridFS 기능 A.2.7 Profiling A.2.8 ERD A.2.9 Import INDEX |
|
# 도서 구성
1장. MongoDB 시작과 종료 최근 빅데이터와 클라우드 컴퓨팅 기술의 확산과 함께 NoSQL 기술이 각광 받고 있는 것이 현실입니다. 1장에서는 NoSQL 기술이 왜 필요한지 그 역사적 배경에 대해 알아보고 MongoDB를 Startup, Shutdown하는 방법과 절차에 대해 소개합니다. 2장. 데이터의 입력/수정/삭제 MongoDB는 하나의 데이터 저장기술이기 때문에 데이터의 입력, 수정, 삭제, 조회가 요구됩니다. 또한, 관계형 데이터베이스와 같이 트랜잭션을 제어하기 위해 COMMIT,ROLLBACK문과 유사한 데이터 처리가 요구되어지기도 합니다. 이번 장에서는 MongoDB에서 데이터 처리를 위해 알아야 할 다양한 개념과 문법이 소개됩니다. 3장. 인덱스의 생성과 관리 & 사용자 관리 NoSQL 제품 중 MongoDB가 가지고 있는 가장 큰 장점 중에 하나는 관계형 데이터베이스에서 제공하는 인덱스와 동일한 기능이 제공된다는 것입니다. 이것은 관계형 데이터베이스에 익숙한 개발자가 가장 빠르게 MongoDB에 적응할 수 있는 이유 중에 하나이기도 합니다. 또한, 인가된 사용자 만이 MongoDB에 접속하기 위해서는 사용자의 생성과 관리가 요구됩니다. 4장. Collection 설계 기존의 관계형 데이터베이스는 정규화라는 분석, 설계 기법에 의해 정형화된 데이터 구조로 생성되는 반면, NoSQL 기술의 대표적인 제품 중에 하나인 MongoDB는 비정형 데이터 구조로 설계됩니다. 초당 몇 만건 이상의 빅데이터가 발생하는 기업 환경에서 빠른 쓰기작업을 통해 데이터를 수집, 저장하기 위해서는 그에 맞는 적절한 데이터 구조가 요구되는데 이것을 위해서는 체계화된 분석, 설계 기술이 요구됩니다. 5장. 논리적 구조와 물리적 구조 MongoDB에서 데이터를 저장하는 논리적 구조를 컬렉션이라고 합니다. 하나의 컬렉션은 여러 개의 익스텐트로 구성되며 하나의 익스텐트는 여러 개의 데이터 레코드로 구성됩니다. 이러한 구조를 논리적 구조라고 합니다. MongoDB의 가장 큰 특징 중에 하나는 관계형 데이터베이스에 비해 빅 데이터의 빠른 쓰기와 읽기 작업이 가능하다는 것 입니다. 이것이 가능한 이유는 메모리 매핑을 이용한 데이터 처리 기술을 제공하기 때문인데 5장에서는 MongoDB의 물리적 구조를 자세히 설명합니다. 6장. 샤딩 시스템 초당 몇 만건의 빅 데이터가 입력되면 아무리 좋은 시스템에서도 데이터의 집중화로 인해 성능 지연 문제가 발생할 수 밖에 없습니다. 이러한 문제를 해소하기 위해 MongoDB에서는 샤딩 시스템이라는 데이터 분산 처리기술을 제공하고 있습니다. 데이터가 집중화되었을 때 하나의 서버가 아니라 여러 대의 서버에 데이터를 분산 저장함으로써 발생하는 쓰기 대기 시간을 최소화하고 데이터의 안전한 저장과 관리가 가능하도록 해주는 솔루션 중에 하나입니다. 이 장에서는 하나의 시스템에서 여러 대의 가상 서버를 통해 샤딩 시스템을 구축하는 방법을 소개합니다. 7장. 리프리카 & 리프리카셋 빅 데이터의 효율적인 운영과 관리를 위해서 반드시 요구되는 기능 중에는 빅 데이터에 장애가 발생했을 때 얼마나 빠른 시간 내에 데이터를 원상 복구할 수 있느냐 입니다. MongoDB에서는 Master/Slave 기능, 리프리카셋 기능들을 통해 이것을 구현할 수 있습 니다. 8장. MongoDB 성능 튜닝 빅 데이터의 효과적인 운영과 관리를 위해서는 MongoDB의 논리적, 물리적 구조에 대한 이해와 설계 패턴에 대한 명확한 해석을 통해 구축해야 합니다. 하지만, 대부분의 사용자들이 이러한 기술에 대한 이해 부족으로 인해 성능 지연과 같은 다양한 문제점에 노출되어 있는 것이 현실입니다. MongoDB의 튜닝은 하드웨어 튜닝, 디자인 튜닝, 아키텍처 튜닝, 문장 튜닝 등으로 나누어 수행할 수 있는데 각 방법들에 대한 구체적인 대안을 제시합니다. 9장. MongoDB 백업과 복구 & 유틸리티 빅 데이터에 대한 효율적인 수집과 저장 후 예기치 못한 장애 발생은 데이터의 유실로 이어지는데 이것은 기업 입장에서는 치명적일 수 밖에 없는 것이 현실입니다. 9장에서는 MongoDB에서 제공하는 다양한 백업과 복구 방법 그리고 MongoDB를 운영하면서 발생하는 성능 지연, 장애 현상들에 대한 로그 수집 및 관리 방법들에 대한 유틸리티를 사용하는 방법에 대해 자세히 소개합니다. |