[MongoDB] MongoDB 기본 개념, 설치, 사용 방법
글 작성자: 망고좋아
반응형
🎯 MongoDB
- 대표적인 NoSQL, Document DB
- Mongo는 Humongous에서 따온 말로, 엄청나게 큰 DB라는 의미 → 대용량 데이터를 처리하기 좋다.
📝 RDB와 NoSQL
📕 RDB
- Relational Database
- 관계형 데이터베이스
- 자료들의 관계를 주요하게 다룬다.
- SQL 질의어를 사용하기 위해 데이터를 구조화해야 한다.
📕 NoSQL
- Non SQL 또는 Not Only SQL
- 구조화된 질의어를 사용하지 않는 데이터베이스
- 자료 간의 관계에 초점을 두지 않음
- 데이터를 구조화하지 않고, 유연하게 저장함
📕 NoSQL을 사용하는 이유
- SQL을 사용하기 위해서는 데이터를 구조화라는 것이 필수 (DDL) → 스키마에 정의된 데이터가 아니면 저장할 수 없는 제약이 따른다.
- NoSQL을 사용하면 사전작업 없이 데이터베이스를 사용할 수 있다. → 데이터베이스 작업에 크게 관여하지 않고 프로젝트를 빠르게 진행할 수 있음
MySQL
CREATE DATABASE simple_board
CREATE TABLE posts (
id NOT NULL AUTO INCREAMENT
title VARCHAR(30),
content TEXT,
PRIMARY KEY(id)
);
INSERT INTO posts (title, content)
VALUES
('first title', 'first content'),
('second title', 'second content'),
MongoDB
use simple_board
db.posts.insert([
{
title: 'first title',
content: 'first content'
},
{
title: 'second title',
content: 'second content'
}
]);
- NoSQL은 다양한 종류가 있지만 대표적으로 자료를 Document(문서)로 저장하는 Document DB가 일반적이다. 이 외에, key-value, Graph, large collection 등의 NoSQL DB가 존재한다.
📝 MongoDB 기본 개념
Database > Collection > Document
📕 Database
- 하나 이상의 collection을 가질 수 있는 저장소
- SQL에서의 database와 유사
📕 Collection
- 하나 이상의 Document가 저장되는 공간
- SQL에서의 table과 유사
- 하지만, collection 이 document의 구조를 정의하지 않음
📕 Document
- MongoDB에 저장되는 자료
- SQL에서 row와 유사하지만 구조 제약 없이 유연하게 저장 가능
- JSON과 유사한, BSON을 사용하여 다양한 자료형을 지원
📕 Document - ObjectID
Document > ObjectID
- 각 document의 유일한 키 값, SQL의 primary key와 유사
- 하나씩 증가하는 값이 아닌 document를 생성할 때 자동으로 생성되는 값
- timestamp + random value + auto increament
📝 MongoDB 사용 방법
📕 직접 MongoDB 설치하기
- 직접 모든 데이터베이스 관련 설정을 해야 한다.
- Sharding이나 Replication 등의 작업이 필요할 때 운영 지식과 노하우가 요구된다.
- 무료로 사용할 수 있는 Community Version을 제공한다.
- 서비스에 들어가서 MongoDB 수동으로 설정
📕 MongoDB Cloud 이용하기
- 모든 데이터베이스 관련 기능을 웹에서 관리 가능
- 특별한 노하우 없이 데이터베이스 운용 가능
- 사용량에 따라 비용이 발생하지만, 512MB까지는 평생 무료로 사용 가능
사용법
- 회원가입
- 조직 생성 - altlas
- new project
- Build DB - shared - google cloud(seoul) - 512mb for free - clusterName 적어주기 → 생성
- username and password 사용 -> 사용자 추가
- my local environment 클릭 - Add my current ip address - finish
📕 MongoDB Compass
- MongoDB에 접속하여 Database, Collection, Document 등을 시각화하여 관리할 수 있게 도와주는 도구
- MySQL을 사용할 때 MySQL Workbench와 유사
사용법
- 설치
- connect - 클라우드에서 만들어준 connect 클릭 - Compass 클릭 - connection string 복사
- create database- 이름, 컬렉션 채워주기
- Add data 클릭
반응형
'프로그래밍 > DB' 카테고리의 다른 글
[mongoose] find에 대해서 알아보자 (0) | 2021.12.08 |
---|---|
[MongoDB] Express.js + Mongoose ODM 폴더 구조, 커넥션 이벤트 (0) | 2021.12.06 |
[MongoDB] Mongoose ODM, Mongoose 사용하기, Query, populate (0) | 2021.12.06 |
댓글
이 글 공유하기
다른 글
-
[mongoose] find에 대해서 알아보자
[mongoose] find에 대해서 알아보자
2021.12.08 -
[MongoDB] Express.js + Mongoose ODM 폴더 구조, 커넥션 이벤트
[MongoDB] Express.js + Mongoose ODM 폴더 구조, 커넥션 이벤트
2021.12.06 -
[MongoDB] Mongoose ODM, Mongoose 사용하기, Query, populate
[MongoDB] Mongoose ODM, Mongoose 사용하기, Query, populate
2021.12.06