-
728x90
MongoDB란?
대표적인 NoSQL, Document DB로 대용량 데이터를 처리하기 좋게 만들어졌다.
데이터를 key와 document(json)형태로 저장되며 자유로운 스키마(구조와 제약조건에 관한 명세) 구조를 갖는다.
RDB와 NoSQL
Relational Database: 관계형 데이터 베이스 (테이블 형태)
자료들의 관계를 주요하게 다루며 SQL 질의어를 사용하기 위해 데이터를 구조화 해야함
Non SQL(Not Only SQL): 질의어를 사용하지 않는 데이터베이스
자료간의 관계에 초점을 두지 않으며 데이터를 구조화 하지 않고, 유연하게 저장함
나는 RDB인 MySQL을 사용해봤지만
(물론 지금은 다 까먹었지만..!)성능, 확장성 면에서는 더 뛰어나다고 하니까 잘 배워두고 싶다.NoSQL을 사용하는 이유?
SQL을 사용하기 위해선 데이터를 구조화하는 것이 필수 -> 스키마에 정의된 데이터가 아니면 저장할 수 없는 제약
NoSQL을 사용하면 사전작업 없이 데이터베이스를 사용할 수 있다 -> 스키마가 고정적이지 않으며, 데이터베이스 작업에 크게 관여하지 않고 프로젝트를 빠르게 진행
MongoDB 기본 개념
Database > Collection > Document
Database: 하나 이상의 collection을 가질 수 있는 저장소 (SQL database와 유사)
Collection: Document가 저장되는 공간 (SQL table과 유사)
Document: MongoDB에 저장되는 자료 (SQL row와 유사하지만 구조제약 없이 유연하게 저장 가능)
- ObjectID: 각 Document의 유일한 키 값 (SQL primary key와 유사). document 생성 시 자동으로 생성되는 값
Reference
- 엘리스
'MongoDB' 카테고리의 다른 글
[MongoDB] 비교쿼리 연산자 (eq, ne, gt, lt, gte, lte) (0) 2023.05.29 [mongoDB] mongoose 사용하기 (2) (0) 2023.05.24 [MongoDB] Mongoose 사용하기 (1) (0) 2023.04.08 댓글