Node.JS 공부하기 - 002

변우영·2024년 9월 2일

NodeJS

목록 보기
2/11

<목표>

  • Node.JS를 알기 위해 기본적인 지식을 공부하기

MongoDB: 유연하고 확장 가능한 NoSQL 데이터베이스

데이터가 다양하고 기존 범위에 맞추기 쉽지 않은 경우 대량의 데이터를 저장하는데 적합한 데이터베이스 유형이다. 데이터에 대한 엄격한 구조를 고수할 필요가 없기 때문에 이전의 기존 데이터베이스와 다르다.

MongoDB 주요 특징

1. 문서 지향 저장소

  • 문서: MongoDB는 데이터를 문서 형태로 저장. 각 문서는 서로 다를 수 있어, 모든 정보를 동일한 형식으로 맞출 필요 없음.
  • 컬렉션: 문서들은 컬렉션이라는 폴더 같은 곳에 모아 관리.

2. 유연한 스키마

  • MongoDB는 데이터 형식 고정 필요 없음. 각 문서가 저마다의 형식을 가질 수 있어, 복잡한 데이터도 쉽게 관리 가능.

3. 확장성

  • 수평 확장: 여러 서버에 데이터를 분산해 처리할 수 있다 대용량 데이터나 많은 트래픽도 효율적으로 처리 가능.
  • 복제 세트: MongoDB는 데이터를 여러 서버에 복제, 서버 하나가 고장나도 데이터 손실 없이 계속 서비스 가능.

4. 인덱싱

  • MongoDB는 다양한 종류의 인덱스를 지원해 데이터를 빠르게 검색 가능.

5. 집계 프레임워크

  • MongoDB는 데이터 필터링, 그룹화, 정렬 등을 데이터베이스 내에서 바로 처리할 수 있는 도구 제공.

6. 지리공간 쿼리

  • MongoDB는 위치 기반 데이터도 처리할 수 있어서 지도나 위치 정보를 다루는 앱에 적합.

7. JSON 지원

  • MongoDB는 JSON 형식을 기본적으로 지원, 많은 프로그래밍 언어와 호환 가능.

8. ACID 트랜잭션

  • MongoDB 4.0부터 여러 문서를 걸친 복잡한 작업도 데이터 무결성을 유지하면서 처리 가능.

9. 커뮤니티 및 엔터프라이즈 에디션

  • MongoDB는 무료 커뮤니티 에디션과 추가 기능이 있는 유료 엔터프라이즈 에디션으로 제공.

10. MongoDB Atlas

  • MongoDB Atlas는 클라우드에서 MongoDB를 관리할 수 있는 서비스로 서버 관리 걱정 없이 사용 가능.

MongoDB 사용 시

  • 유연한 데이터: 데이터가 딱딱한 형식에 맞지 않을 때.
  • 확장성 필요: 많은 데이터를 다루거나 많은 사용자를 처리해야 할 때.
  • 비구조적 데이터: 복잡하거나 구조화되지 않은 데이터를 다룰 때.

MongoDB 사용하지 않을 때

  • 복잡한 트랜잭션: 여러 작업을 걸친 복잡한 트랜잭션이 필요할 때는 전통적인 관계형 데이터베이스가 더 나을 수 있다.
  • 구조화된 데이터: 데이터가 매우 구조적이고 관계형 모델에 잘 맞을 때.
  • 강한 일관성 필요: 분산 시스템에서 매우 엄격한 일관성이 필요할 때는 관계형 데이터베이스가 더 적합할 수 있다.

MongoDB는 유연성, 확장성, 사용 편의성 덕분에 현대 웹 및 모바일 애플리케이션을 위한 가장 인기 있는 데이터베이스 중 하나가 되었다

profile
개발자로 한걸음!

0개의 댓글