Prologue

나랏말싸미 미귁에 달아...

외국에서는 MongoDB 관련된 내용들이 활발히 교육중인데, 우리나라 말로 번역된것이 버전에 따라서 빠르게 업데이트가 되지 못하는 현실과 체계적인 교육이 미미하다는 점을 안타깝게 여겨, 김씨와 구씨는 널리 데이터베이스시스템을 공부하는 학생들을 이롭게 하고자 이 책을 발간한다.

이 책은 기본적인 Mongo Shell에서 다루는 Javascript와 요즘 많이 사용되는 Python을 기반한 코딩을 중점적으로 다룬다. 어차피 Server에서 이해하도록만 프로그래밍을 해주면 되기 때문에 언어와는 상관없이 동작은 똑같이 가능하나, 실행하는 방법을 알아야 하기 때문에 부득이하게 Python의 API도 알아야 한다. Python의 API는 Javascript의 API와 비슷하지 미묘하게 다른것들이 있어 마지막에 묶어서 설명하였다.

Release Note

Release Schedule

  • v3.0 -- 내용추가, style 변경, 이쁘게, 교정 그림....

  • v4.0:applications, gi

    • advanced 한것들

    • challenge

    • bottle, flask 이나 sns, spark 연동

  • v5.0: support our book in English

Change Log

  • v1: 모든 내용을 작성

  • v2: 구성을 달리하여 보기 쉽도록 엮음

Future work

  • v3: 내용추가 (geospatial, exercise), 예쁘게 만들기

  • v4: English 버전 추

Contents

본 문서는 아래의 순서로 기술됩니다.

Getting Started

  1. quick start

    • MongoDB란?: MongoDB에 들어가기에 앞서, Database가 무엇인지,

    • cheat sheet: 빠르게 보고 기억하기 위한 컨닝페이퍼

    • 주요설명 바로가기: 주요 설명 링크들

  2. getting started

    • Background: Scale Up/Out, RDB와의 관계, NoSQL 왜 써야 되지?, CAP 이론, BASE <--> ACID 설명

    • MongoDB: MongoDB에 대하여

    • PyMongo: pymongo에 대하여

  3. CRUD (이하 MongoShell 로 전부 설명)

    • Manipulating Database: Database, Collection 조작 등에 관하여

    • Syntax: CRUD Syntax 설명 (explain() 등 존재)

    • Operator: operator에 대한 설명

    • Exercises: 실습

  4. Index with Geospatial & Text

    • PyMongo: pymongo에 대하

  5. Aggregate Framework

    • Aggregate Framework: aggregate framework에 대하여 (pipeline...)

  6. Replication & Sharding

    • Replication

    • Sharding

  7. MongoDB 4.x Features

    • Multi-Document Transcation

  8. PyMongo

    • PyMongo 환경 설치

    • Syntax

    • Index

    • Aggregation Framework

    • Exercises

  9. Appendix

    • Administration: 관리자 페이지

    • BSON: Binary JSON

    • Utils

Last updated