DataBase/Mongo DB

Mongo DB 1강 - 설치

상맹 2021. 9. 23. 16:52
반응형

★ Mongo DB 이해하기!

 

MongoDB 이해하기

사내에서 MongoDB를 잘 쓰기위한 스터디를 하게되어 이번 기회에 관련 자료를 정리하기로 했다. MongoDB가 왜 필요한지, 더 잘사용하기 위해서 무엇이 필요한지를 중심으로 처음 MongoDB를 사용할 때

kciter.so


1. 설치

 

MongoDB Community Download

Download the Community version of MongoDB's non-relational database server from MongoDB's download center.

www.mongodb.com

Community Server Download
Complete : 전체 프로그램 설치
Service 체크
Install MongoDB Compass 체크 해제 : 외부 sql 불러오는건데 불편해서 해제
설치 중...
설치 완료! (윈도우 재부팅 한번 하기)

 

- 환경변수 추가

Mongo DB bin 파일 위치 : C:\Program Files\MongoDB\Server\5.0\bin

mongo 변수 추가 후 파일위치 값 넣기
path 변수에 mongo bin 파일 위치 추가
cmd → mongo 입력 → 설치된 모습!


2. Mongodb 정리

 * Mongodb 의 특징

  • Document
  • BASE
  • Open Source

→ 데이터는 Document 기반으로 구성되어 있고, ACID 대신 BASE를 택하여 성능과 가용성을 우선시한다.

 

① NoSQL

NoSQL은 Not Only SQL, SQL 뿐만 아니다라는 의미를 지니고있다. 즉, SQL을 사용하는 관계형 데이터베이스가 아닌 데이터베이스를 의미한다. 대표적인 관계형 데이터베이스로는 MySQL, Oracle, PostgreSQL이 있고, NoSQL 진영에는 MongoDB와 Redis, HBase 등이 있다.

RDBMS vs NoSQL

  RDBMS NoSQL
적합한 사용례 데이터 정합성이 보장되어야 하는 은행 시스템 낮은 지연 시간, 가용성이 중요한 SNS 시스템
데이터 모델 정규화와 참조 무결성이 보장된 스키마 스키마가 없는 자유로운 데이터 모델
트랜젝션 강력한 ACID 지원 완화된 ACID(BASE)
확장 하드웨어 강화(Scale up) 수평 확장 가능한 분산 아키텍처(Scale out)
API SQL 쿼리 객체 기반 API 제공

 

② Document

MongoDB는 Document 기반 데이터베이스다. Database > Collection > Document > Field 계층으로 이루어져 있으며 Document는 RDBMS의 Row에 해당한다. 계층은 RDBMS와 유사하다.

RDBMS 와 MongoDB 데이터 계층 구조

흥미로운 점은 Document 기반 데이터베이스은 RDBMS와 다르게 자유로이 데이터 구조를 잡을 수 있다는 점이다. MongoDB는 BSON으로 데이터가 쌓이기 때문에 Array 데이터나 Nested한 데이터를 쉽게 넣을 수 있다.

 

③ BASE

BASE는 ACID와 대립되는 개념으로 다음 세 가지로 이루어져있다.

 

-  Basically Avaliable

 * 기본적으로 언제든지 사용할 수 있다는 의미를 가지고 있다.

 * 즉, 가용성이 필요하다는 뜻을 가진다.

 

- Soft state

 * 외부의 개입이 없어도 정보가 변경될 수 있다는 의미를 가지고 있다.

 * 네트워크 파티션 등 문제가 발생되어 일관성(Consistency)이 유지되지 않는 경우 일관성을 위해 데이터를 자동으로

   수정한다.

- Eventually consistent

 * 일시적으로 일관적이지 않은 상태가 되어도 일정 시간 후 일관적인 상태가 되어야한다는 의미를 가지고 있다.

 * 장애 발생시 일관성을 유지하기 위한 이벤트를 발생시킨다.

 

→ 이처럼 BASE는 ACID와는 다르게 일관성을 어느정도 포기하고 가용성을 우선시한다. 즉, 데이터가 조금 맞지 않더라도 일단 내려준다는 뜻이다.

 

④ ACID

ACID(원자성, 일관성, 고립성, 지속성)는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어

 

 

ACID - 위키백과, 우리 모두의 백과사전

다른 뜻에 대해서는 애시드 문서를 참고하십시오. ACID(원자성, 일관성, 고립성, 지속성)는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어이다. 짐 그

ko.wikipedia.org

 

반응형