이미 소장하고 있다면 판매해 보세요.
지은이·옮긴이 소개 xiv
기술 감수자 소개 xvii 옮긴이 머리말 xix 추천사 xxi 베타리더 후기 xxiv 저자의 말 xxvii 이 책에 대하여 xxix CHAPTER 1 몽고DB 소개 1 1.1 누가 몽고DB를 사용하는가? 1 1.2 개발자가 몽고DB를 선호하는 이유 2 1.3 몽고DB 데이터베이스의 내재된 복잡성의 효율성 4 1.4 요약 6 CHAPTER 2 몽고DB 아키텍처 7 2.1 복제와 샤딩 8 2.2 복제 8 2.3 샤딩 17 2.4 몽고DB 7.0의 새로운 샤딩 클러스터 기능 32 2.5 요약 33 CHAPTER 3 개발자 도구 35 3.1 기술 요구사항 36 3.2 개발 도구 소개 36 3.3 몽고DB 셸 38 3.4 몽고DB CLI 44 3.5 몽고DB Compass 48 3.6 몽고DB for VS Code 53 3.7 요약 55 CHAPTER 4 몽고DB 연결 57 4.1 연결 방법 57 4.2 요약 72 CHAPTER 5 CRUD 작업과 기본 쿼리 74 5.1 기술 요구사항 74 5.2 몽고DB 기본 데이터 작업 75 5.3 루비 드라이버를 사용한 CRUD 처리 85 5.4 파이썬 드라이버를 사용한 CRUD 처리 94 5.5 정규 표현식 102 5.6 관리 기능 104 5.7 몽고DB에 관한 보안 액세스 107 5.8 몽고DB Stable API 110 5.9 요약 112 CHAPTER 6 스키마 설계와 데이터 모델링 113 6.1 관계형 데이터베이스를 위한 스키마 설계 114 6.2 몽고DB를 위한 스키마 설계 116 6.3 몽고DB의 데이터 모델링 117 6.4 몽고DB 데이터베이스 모델링: 설계 원칙과 권장 사례 122 6.5 설계 패턴과 스키마 설계 122 6.6 요약 129 CHAPTER 7 몽고DB 고급 쿼리 130 7.1 집계 프레임워크 소개 130 7.2 몽고DB의 집계가 제공하는 이점 132 7.3 집계 스테이지 133 7.4 쿼리 기술 147 7.5 인덱스와 쿼리 최적화 164 7.6 몽고DB 위치 기반 데이터 처리 169 7.7 요약 172 CHAPTER 8 집계 173 8.1 기술 요구사항 174 8.2 몽고DB 집계 프레임워크 174 8.3 기본 집계 연산자 179 8.4 모범 사례 192 8.5 요약 194 CHAPTER 9 다중 문서 ACID 트랜잭션 195 9.1 트랜잭션이 유용한 이유는 무엇인가? 196 9.2 ACID 속성 196 9.3 ACID의 몽고DB 구현 199 9.4 모범 사례 212 9.5 요약 213 CHAPTER 10 인덱스 최적화 214 10.1 인덱스 소개 215 10.2 인덱스 유형 220 10.3 인덱스 최적화 모범 사례 240 10.4 요약 240 CHAPTER 11 몽고DB 아틀라스 242 11.1 데이터베이스 서비스로서의 몽고DB 아틀라스 243 11.2 아틀라스 개발자 데이터 플랫폼 255 11.3 아틀라스 벡터 검색과 AI 애플리케이션에서의 역할 255 11.4 아틀라스 애플리케이션 서비스 259 11.5 아틀라스 데이터 API 262 11.6 아틀라스 데이터 레이크 265 11.7 아틀라스 데이터 페더레이션 266 11.8 아틀라스 스트림 프로세싱 269 11.9 아틀라스 SQL 인터페이스 272 11.10 몽고DB 아틀라스 차트 274 11.11 운영 통합: 아틀라스 쿠버네티스 오퍼레이터 277 11.12 아틀라스 CLI 280 11.13 요약 282 CHAPTER 12 몽고DB 모니터링과 백업 283 12.1 몽고DB 모니터링 283 12.2 무엇을 모니터링해야 하는가? 285 12.3 WiredTiger 메모리 사용량 모니터링 291 12.4 페이지 폴트 추적 291 12.5 작업 세트 계산 293 12.6 몽고DB 리포팅 도구 개요 294 12.7 호스팅 모니터링 도구 개요 295 12.8 몽고DB 백업 방법 297 12.9 몽고DB 모니터링과 백업의 일반적인 실수와 함정 302 12.10 요약 304 CHAPTER 13 아틀라스 검색 305 13.1 몽고DB 아틀라스 검색 306 13.2 아틀라스 검색 인덱스의 기술적 구조와 작동 방식 309 13.3 아파치 루씬 328 13.4 요약 331 CHAPTER 14 몽고DB와 애플리케이션 통합 333 14.1 기술 요구사항 333 14.2 몽고DB에서 애플리케이션 통합 334 14.3 몽고DB 쿠버네티스 오퍼레이터 336 14.4 테라폼과 몽고DB 통합 340 14.5 몽고DB와 함께 버셀 사용 344 14.6 데이터독과 몽고DB 통합하기 348 14.7 프로메테우스와 몽고DB 통합하기 353 14.8 웹훅과 몽고DB 통합하기 357 14.9 페이저듀티 통합 361 14.10 요약 365 CHAPTER 15 보안 367 15.1 인증 방법 368 15.2 역할 기반 접근 제어(RBAC) 385 15.3 요약 396 CHAPTER 16 감사 397 16.1 몽고DB 감사와 로깅 398 16.2 감사 가능한 이벤트 유형 401 16.3 몽고DB에서 감사 활성화 402 16.4 사례 연구: 규정 준수에서 감사의 역할 410 16.5 몽고DB의 감사 문제 해결 411 16.6 요약 413 CHAPTER 17 암호화 414 17.1 암호화 유형 415 17.2 전송 중 암호화 416 17.3 저장 시 암호화 421 17.4 클라이언트 측 암호화 426 17.5 요약 432 APPENDIX A 몽고DB 8.0의 새로운 기능과 개선 사항 433 A.1 지원 플랫폼과 운영체제 433 A.2 모니터링과 성능 분석 기능 향상 433 A.3 보안 기능 강화 434 A.4 샤딩 기능의 유연성 강화 434 A.5 복제 성능 개선 435 A.6 시스템 관리 기능 개선 435 A.7 성능 최적화 436 A.8 업그레이드 시 주의 사항 437 APPENDIX B 몽고DB 8.0 호환성 안내 및 주요 변경 사항 438 B.1 쿼리 동작의 새로운 변화 438 B.2 더 이상 사용되지 않는 기능들 439 B.3 성능 개선을 위한 주요 변경 사항 439 B.4 추가 개선 사항 440 B.5 마무리 440 찾아보기 441 |
Marko Aleksendri?
Arek Borucki
Leandro Domingues
Malak Abu Hammad
Elie Hannouch
Rajesh Nair
Rachelle Palmer
10년 전만 해도 몽고DB는 틈새시장에 불과했습니다. 선도적인 개발자들에게만 매력적인 젊은 데이터베이스였죠. 하지만 현재, 몽고DB는 수많은 다양한 산업에서 사용되고 있으며, 그 사용 사례는 모든 종류의 상황과 저장된 데이터 유형에 걸쳐 있습니다. 전 세계에서 가장 큰 은행, 자동차 제조업체, 정부 기관, 게임 회사들이 몽고DB를 프로덕션 애플리케이션에 사용하고 있습니다. 몽고DB를 사용하는 가장 유명한 기업으로는 코인베이스, 에픽게임즈, 모건 스탠리, 어도비, 테슬라, 캔바, 울타 뷰티, 캐세이퍼시픽, 동화, 보다폰 등이 있습니다.
--- p.1 Mongoid는 몽고DB를 위한 대표적인 ODM으로, 개발자들이 루비 온 레일즈 프레임워크에서 몽고DB 데이터베이스를 직관적이고 효율적으로 다룰 수 있게 해줍니다. 저수준 드라이버가 높은 유연성을 제공하는 반면, Mongoid는 레일즈의 명명 규칙과 잘 통합된 고수준 추상화를 제공하여 개발 생산성을 향상합니다. 이러한 원활한 통합을 통해 스키마 정의, 쿼리 작성, 데이터 모델링 등의 작업이 간소화되어, 개발자는 데이터베이스 구현보다 애플리케이션 로직에 집중할 수 있습니다. ORM과 마찬가지로 ODM은 모델과 데이터베이스 간의 차이를 최소화합니다. --- pp.91-92 몽고DB의 가장 주목할 만한 특징은 유연한 문서 구조에 있습니다. 최대 100단계까지 중첩이 가능한 BSON 문서와 배열을 지원하는데, 이는 단순한 기술적 특징을 넘어 실질적인 이점을 제공합니다. 이러한 깊이 있는 구조는 데이터베이스의 유연성을 극대화할 뿐만 아니라, 애플리케이션의 요구사항에 최적화된 방식으로 데이터를 구성할 수 있게 합니다. 특히 이러한 구조적 특징은 세 가지 핵심적인 장점을 제공합니다. 먼저, 복잡한 조인 연산의 필요성을 크게 줄여줍니다. 또한, 데이터 검색 과정을 효율적으로 만들어주며, 마지막으로 쿼리 작성을 단순화합니다. --- p.117 $gt(초과) 연산자는 지정된 값을 초과하는 데이터를 검색하는 데 활용됩니다. 예를 들어 특정 가격 이상의 제품을 찾거나, 기준 날짜 이후의 거래 명세를 조회하는 등의 작업에 효과적입니다. 반면, $lt(미만) 연산자는 지정된 값 미만의 데이터를 찾는 데 사용됩니다. 이는 재고 수량이 특정 기준 미만인 제품을 식별하거나, 특정 기간 이전의 기록을 검색하는 등의 상황에서 유용합니다. --- p.153 복합 인덱스의 핵심 특징은 인덱스 필드의 접두사를 활용한 다양한 쿼리 지원입니다. 예를 들어 위 예시의 복합 인덱스는 저자와 ISBN 코드를 조합한 쿼리뿐만 아니라, 인덱스의 첫 번째 필드인 저자 필드만을 사용한 쿼리도 지원합니다. 반면, ISBN 코드만으로 수행하는 쿼리는 인덱스를 활용할 수 없어 전체 컬렉션 스캔이 발생합니다. (…) 복합 인덱스는 정의된 필드 순서에 따라 문서 참조를 저장합니다. 그림 10.4는 이러한 구조를 보여주는 예시입니다. 우선 userid를 기준으로 오름차순(알파벳순) 정렬이 이루어지고, 각 userid 내에서 점수가 내림차순으로 정렬되는 구조를 확인할 수 있습니다. --- p.222 벡터 검색은 데이터의 의미를 기반으로 검색하는 기술입니다. 이 기술은 인코더라는 기계학습 모델을 활용해 텍스트, 오디오, 이미지와 같은 다양한 데이터를 고차원 벡터로 변환합니다. 이렇게 생성된 벡터는 데이터의 의미적 특성을 담고 있어, 고차원 공간에서 서로 가까운 벡터들을 찾아 유사한 내용을 파악할 수 있습니다. 이러한 벡터 검색은 기존의 키워드 기반 검색을 효과적으로 보완할 수 있습니다. 특히 최근에는 대규모 언어 모델(large language model, LLM)의 한계를 넘어서는 추가 정보를 제공할 수 있다는 점에서 큰 주목을 받고 있습니다. 실제 검색에서는 정확한 검색어를 모를 때에도 관련된 결과를 찾을 수 있다는 장점이 있으며, 자연어 처리와 추천 시스템 등 다양한 분야에서 그 유용성이 입증되었습니다. --- pp.255-256 |
기다리고 기다리던 최고+최신 몽고DB 가이드북
몽고DB는 개발자 친화적인 방향으로 꾸준히 발전했음에도 한동안 국내에 관련 서적이 출간되지 않았다. 이 책의 원서는 몽고DB에 소속된 필진이 직접 집필한 최초의 공식 몽고DB 도서다. 원서는 출간 당시 최신 버전인 7.0을 기준으로 집필되었으나 이후 8.0 버전이 나왔고, 이에 8.0 내용을 주석 및 부록으로 보완해서 이번에 제이펍에서 출간한 한국어판 번역서가 바로 《마스터링 몽고DB 7.0(제4판)》이다. 개발자로서 몽고DB를 활용하기 위해 알아야 할 아키텍처, 개발자 도구 등 기초부터 시작한다. CRUD 쿼리, 스키마 설계와 데이터 모델링, 고급 쿼리, 집계 파이프라인, 다중 문서 ACID 트랜잭션, 인덱스 최적화 등 실무 친화적인 주제를 실습 예제와 함께 설명한다. 다음으로 몽고DB를 DBaaS로서 최대한 활용할 수 있게 하는 아틀라스 개발자 데이터 플랫폼 및 관련 제품군을 살펴본다. AI 애플리케이션에 유용한 아틀라스 벡터 검색 등 최신 제품의 활용법을 다룬다는 점이 돋보인다. 이어서 모니터링과 백업, 아틀라스 검색, 서드파티 애플리케이션과의 통합 방법을 살펴보고, RBAC 등 보안, 감사, 암호화까지 좀 더 고급 주제까지 다룬다. 국내에 출간된 모든 몽고DB 도서 중에서 다루는 범위나 전문성 면에서 최고인 책이라고 할 수 있다. 이것은 과언이 아니라 팩트다. 주요 내용 ● 데이터 인사이트를 얻기 위한 고급 쿼리 실행 ● 집계 파이프라인의 강력한 기능을 활용한 데이터 변환 ● 다중 문서 ACID 트랜잭션으로 데이터 무결성 보장하기 ● 전략적 인덱싱 기법을 사용한 쿼리 성능 최적화 ● 몽고DB 아틀라스를 활용한 모니터링 및 백업 ● 아틀라스 검색으로 강력한 검색 기능 사용 ● 보안을 위한 RBAC, 사용자 관리, 데이터 암호화 ● 투명성과 책임성을 보장하는 감사 프랙티스 |
몽고DB를 실무에서 운영하는 엔지니어들에게 강력히 추천할 만한 책입니다. 기존에 출간된 책들이 4.x 버전에 그쳤던 아쉬움을 해결해주는 책이며, 운영하는 데 꼭 필요한 지식들이 함축되어 있어 현업 몽고 DBA들은 꼭 한 번 읽어야 하는 책입니다. 특히 버전별로 주요 변경 사항을 기술한 부분은 다양한 버전을 운영하는 환경에서 아주 유용하게 다가왔습니다.
저자가 언급한 것처럼 전문가를 위한 책으로, 몽고DB를 처음 접해보는 초심자는 다소 어려울 수 있고 일부 항목에 대해서는 개념적인 내용만 있는 부분은 좀 아쉬웠습니다. 그럼에도 몽고DB를 서비스에 도입하고 운영해야 하는 개발자와 DBA에게 필수적인 참고서로 자리 잡을 만한 책입니다. 몽고DB 운영에 대한 깊이 있는 통찰과 실용적인 가이드를 찾고 있다면, 이 책을 강력히 추천합니다. - 정철우 (SSG.COM DBA) |
최신 몽고DB의 명령어 백과사전과 같은 책입니다. 몽고DB v7 이상으로 데이터베이스 업그레이드를 하는 데이터베이스 관리자 또는 개발자에게 추천합니다. 몽고DB는 아키텍처 및 명령어 정책에 변화가 심하여, v4 버전의 기능과 명령어가 v7 버전에서는 전혀 작동하지 않는 경우가 많습니다. 시중에 나와 있는 책은 대부분 v4 버전 기준이라 데이터베이스 업그레이드 시에 상당한 혼동을 가져옵니다. 이 책은 그러한 어려운 점을 해결해주고 있으며 소장하면서 난감한 상황이 있을 때에 찾아볼 수 있는 좋은 레퍼런스가 될 것입니다. 특히 기존에 출시된 책들과 달리, 군더더기 없이 요점이 잘 정리되어 있어서, 빠르게 몽고DB v7을 학습하는 데 유용합니다. 초보자가 접근하기에는 간단하게만 설명된 내용도 있어서 아쉽긴 하지만, 수평 확장과 같은 운영 환경을 구성한 이후 어느 정도 익숙해지면, 이 책의 효용성은 극대화될 것입니다. - 민연홍 (삼성SDS 클라우드 서비스 사업부, 기술혁신팀, CI-TEC)
|
본 도서는 몽고DB의 고급 기술과 심층적인 활용법을 다루는 전문서로, 복잡한 인덱싱 전략, 분산 아키텍처 설계, 성능 최적화, 고급 쿼리 패턴, 트랜잭션 관리, 데이터 모델링, 보안 등 실무에서 마주하는 고난도 문제 해결에 초점을 맞추고 있습니다. 클라우드 네이티브 환경에서 몽고DB가 애플리케이션뿐만 아니라 다양한 CNCF 프로젝트들과도 효과적으로 연동되는 방식을 이해하는 데 도움을 주어, 중급 이상의 개발자와 데이터 아키텍트에게 필수적인 지식을 제공합니다. 몽고DB를 이미 활용하고 있으며 더 깊은 기술적 이해와 최적화된 구현 방법을 모색하는 전문가들에게 적극 추천합니다. - 이제응 (리눅스 APAC 재단(incl. CNCF 재단) 한국 대표)
|
본 서적은 몽고DB를 활용한 실제 코드 예제와 데이터베이스 샘플, 다양한 시나리오를 통해 MMORPG 게임 서버 같은 복잡한 로직과 대규모 운영 환경에서도 안정적이고 효과적인 서버 아키텍처 설계를 구현할 수 있는 방법을 제시합니다. 서버 구축에 필요한 핵심 요소들을 균형 있게 다루어 기술적 도전 과제를 성공적으로 해결할 수 있는 토대를 마련할 수 있습니다. 장르에 관계없이 게임 서버를 개발하는 모든 분께 이 책을 추천드립니다. - 정종채 (플레이위드 게임즈 백엔드(서버) 개발자 )
|
윤명식 님은 몽고DB와 데이터베이스 기술 전반에 대한 깊은 이해와 다년간의 풍부한 실무 경험을 바탕으로 이번 번역 작업을 완성했습니다. 단순히 원서를 번역하는 데 그치지 않고, 한국 독자들이 몽고DB의 핵심 개념과 실무 활용법을 보다 쉽게 이해할 수 있도록 세심한 배려를 더했습니다. 기술 용어와 개념을 명확하고 간결하게 전달하면서도 원서의 의도를 충실히 반영해 책의 가치를 한층 더 높였습니다.
이 책은 몽고DB를 배우고자 하는 초보자부터 이를 심화 학습하려는 전문가까지 모두에게 유용한 지침서입니다. 깊은 통찰이 담긴 이 책은 몽고DB를 마스터하려는 모든 독자들에게 최고의 선택이 될 것이며, 한국어로 제공되는 몽고DB 관련 서적 중 가장 완성도 높은 책으로 자리 잡을 것입니다. 단순히 기술을 설명하는 것을 넘어, 독자들이 몽고DB를 실제 프로젝트에서 효과적으로 활용할 수 있도록 돕는 실질적인 가이드 역할을 하는 책입니다. - 이규현 (몽고DB 코리아 기술담당 상무) |
『마스터링 몽고DB 7.0』은 몽고DB를 실무에서 다루는 개발자나 운영자에게 유용한 정보와 실전적인 인사이트를 제공하는 책입니다. 특히 4 버전부터 7 버전까지의 기능 변화와 차이점 중, 운영자 입장에서 궁금해할 만한 부분들을 중심으로 차근차근 짚어주는 구성이 인상적입니다. 단순 기능 나열이 아닌, 실제 현장에서 고민하게 될 지점들을 다룬다는 점에서 의미가 있습니다.
예시도 비교적 풍부하게 포함되어 있어 주요 개념 이해에 도움이 되며, 스키마 설계 패턴이나 쿼리별 인덱스 구성 전략, 모니터링 및 성능 분석 항목 등은 실무와 직접 연결되는 내용이라 흥미롭게 읽을 수 있었습니다. 전체적으로 기초 개념에 대한 설명보다는 어느 정도 몽고DB 경험이 있는 독자를 대상으로 하고 있기 때문에, 입문자에게는 다소 어려울 수 있습니다. 번역된 용어 중 일부는 실제 현업에서 사용하는 원어 그대로 유지했더라면 오히려 이해가 더 쉬웠을 것 같다는 아쉬움도 남습니다. 몽고DB를 안정적으로 운영하고자 하는 분들께는 레퍼런스가 되어줄 수 있는 실무형 기술서로 추천할 만한 책입니다. - 우성훈 (토스뱅크 DBA) |