Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

MongoDB 기본 개념 본문

3학년 2학기 전공/풀스택서비스프로그래밍

MongoDB 기본 개념

시데브 2024. 11. 21. 14:41

 

https://ryu-e.tistory.com/2

 

MongoDB의 기본 개념에 대해 알아보자.

이번에는 MongoDB에 대한 기본 개념에 대해서 알아보겠습니다. 이번 시간에는 각 주제별 자세한 내용을 다루기보다는 mongoDB에 대한 전체적인 개념을 파악하는데 초점을 두었습니다. 😊 1. mongoDB

ryu-e.tistory.com

위 게시물을 기반으로 한 단순 공부용 포스팅!!

 

MongoDB?

  • MongoDB: document 지향적인 database
  • document: field:value 형식으로 구성된 데이터 구조
  • value에는 문자열, 숫자 날짜 , 배열, 다른 도큐먼트를 저장하는 것이 가능

  • Schema-less 구조 -> 스키마를 고정하지 않은 형태로, 필드 추가 및 제거가 편리
  • 분산 확장이 간단 -> 샤딩 시스템, 샤딩: 샤드(분산하는 각각의 장비)에 걸쳐 있는 데이터를 분할하는 처리)

 

JSON vs BSON

  • MongoDB에서는 JSON, BSON type 모두 사용 
  • JSON: javascript 형식의 오브젝트 표기법 -> mongoDB에서 Document를 저장하는 형태와 동일
  • BSON
    • mongoDB에서 JSON 데이터를 DB 내에 저장할 때, BSON 타입의 바이너리 형태 데이터로 반환시켜 저장
    • BSON -> Binary JSON: JSON 문서를 바이너리로 인코딩한 포맷
    • JSON과 비교하여 BSON은 스톨지ㅣ 공간과 스캔 속도 모두에서 효율적으로 설계

 

mongoDB 용어

RDBMS mongoDB
Database Database
Table Collection
Row Document
Index Index
DB server Mongod
DB client mongo

 

기본 쿼리

1. C(Create) - insert

  • db.collection.insertOne()
  • db.collection.insertMany()

2. R(Read) - find

  • db.collection.find()

3. U(Update) - update

  • db.collection.updateOne()
  • db.collection.updateMany()
  • db.collection.replaceOne()

4. D(Delete) - delete

  • db.collection.deleteOne()
  • db.collection.deleteMany()

 

Index

  • Index: Query를 더욱 효율적으로 할 수 있도록 documents에 기준(key)을 정해 정렬된 목록을 생성
  • 인덱스가 없다면 -> 전수탐색 방식으로 스캔
  • Hash index를 제외하고, MongoDB는 B-Tree 구조로 indexing됨
  • 기본 index: 모든 mongoDB의 collection은 기본적으로 _id 필드에 인덱스가 존재
  • _id 인덱스는 unique, mongoDB client가 같은 _id를 가진 문서를 중복적으로 추가하는 것을 방지

1. 생성

  • 값을 1로 하면 오름차순, -1로 하면 내림차순 정렬
  • db.collection.createIndex( { key: 1 } )

2. 조회

  • db.collection.getIndexes()

3. 제거

  • db.collection.dropIndex( { key: 1 } )

 

Sharding

  • Sharding: 대규모의 데이터를 insert하면 write scaling 문제 발생하여 서비스 성능 저하 -> 여러 대의 서버에 분산 처리
  • 여러 대의 독립된 프로세스가 병렬로 작업을 동시에 수행 -> 이상적으로 빠른 처리 성능을 보장
  • 하나의 서버에서 관리를 하면 유실 시에 큰 손실 -> 분산 처리로 이런 위험 요소로부터 안전하게 데이터 저장, 관리


참고자료

 

MongoDB의 기본 개념에 대해 알아보자.

이번에는 MongoDB에 대한 기본 개념에 대해서 알아보겠습니다. 이번 시간에는 각 주제별 자세한 내용을 다루기보다는 mongoDB에 대한 전체적인 개념을 파악하는데 초점을 두었습니다. 😊 1. mongoDB

ryu-e.tistory.com

 

MongoDB CRUD Operations - MongoDB Manual v8.0

CRUD operations create, read, update, and delete documents.You can connect with driver methods and perform CRUD operations for deployments hosted in the following environments:Create or insert operations add new documents to a collection. If the collection

www.mongodb.com