MongoDB 3

[MongoDB] 몽고DB의 인덱스(Index)

이번에는 몽고DB의 인덱스(Index)에 대해 알아보려고 합니다. 1. 인덱스(Index)란? [몽고DB의 인덱스] 몽고DB의 인덱스도 타 데이터베이스와 같은 개념으로 특정 컬럼으로 정렬된 리스트에서 값을 찾도록 되어있다. 몽고DB의 인덱스는 B-Tree로 이루어져 있다. 몽고디비의 인덱싱 또한 인덱싱 된 필드에 대해 쓰기, 업데이트, 삭제 작업에 대해 시간이 오래 걸린다. 그 이유는 데이터가 변경될 때마다 모든 인덱스를 갱신해줘야 하기 때문이다. [컬렉션 스캔] 몽고 DB의 인덱스를 사용하지 않으면 컬렉션 스캔을 한다. 컬렉션 스캔이란 내가 찾는 내용에 대해 전체에 대해서 찾아보는 것을 의미한다. [효율적인 몽고DB 인덱스 방법] 몽고DB 쿼리에 대해 효율적으로 응답하게 하려면 애플리케이션의 모든 쿼리..

MongoDB 2023.02.04

[MongoDB] 몽고DB의 기본(Document, Collection, DataBase, _id)

이번에는 몽고DB의 기본인 Document, Collection, DataBase, _id에 대해서 알아보도록 하겠습니다. 1.Document 이란? [Document 무엇일까?] 정렬된 키와 값의 집합이다. 가장 빠르게 이해하기 쉬운 것은 바로 JSON 객체를 떠올리면 된다. { "name" : "flambee", "address" : { "city" : "seoul" "street" : "14-44" }, "like" : ["music", "sushi"] } Document의 키는 문자열이다. 그리고 UTF-8 문자로 지원한다. 키는 \0(null)을 포함하지 않는다. 그리고 .과 $ 문자는 몇 가지 특별한 속성을 가지며 특정 상황에서만 사용해야한다. .과 $는 CRUD에 대해서 사용하게 된다. 즉,..

MongoDB 2023.01.27

[MongoDB] 몽고 DB란 무엇일까?

이번에는 몽고 DB에 대해서 무엇인지 알아보도록 하겠습니다. 1. 몽고 DB란? [몽고 DB의 특징] 도큐먼트 지향 데이터 베이스(document-oriented database)이다. 도큐먼트를 지향하기 때문에, 행 개념(Mysql, Oracle, Mssql) 대신 유연한 모델인 도큐먼트를 사용한다. 내장 도큐먼트와 배열을 허용함으로써 복잡한 계층 관계를 하나의 레코드로 표현한다. 해당 레코드는 매우 친근한 표현을 가지고 있다. { "name" : "flambee", "address" : { "city" : "seoul" "street" : "14-44" }, "like" : ["music", "sushi"] } 분산 확장이 가능하다. 데이터를 여러 서버에 더 쉽게 분산해 주며, 도큐먼트를 자동으로 재..

MongoDB 2023.01.25