MongoDB와 MySQL

Yumya's record·2024년 11월 8일

STUDY

목록 보기
2/2
post-thumbnail

MySQL

관계형 데이터베이스(RDBMS)로, 구조화된 테이블 형식을 가진다.

데이터베이스 스키마를 정의해 Table에 데이터 저장하며, SQL를 통해 DB에 접근한다.
각 테이블은 rowcol로 이루어져 있으며, 테이블에서 필드 사이의 관계를 제어하는 규칙을 설정한다.
원자성, 일관성, 지속성, 고립성의 특성을 보장하며, 데이터의 일관성과 안전성을 유지한다.

MongoDB

NoSQL 데이터베이스로, 스키마 없이 자유로운 형태의 문서로 저장한다.

JSON 형식으로 데이터를 저장하고, Field:Value 형식으로 구성된다.
수평 확장이 용이하며, 대용량 데이터 및 유연한 스키마에 적합하다.

  • 문서 지향 데이터베이스 : JSON과 유사한 BSON(Binary JSON) 형식으로 문서를 저장
  • 유연한 스키마 : 스키마가 고정되어 있지 않아 데이터 구조를 자유롭게 변경 가능
    스키마 : 데이터가 DB 내 저장된 형태를 나타내는 데이터베이스 구조
  • 확장성 : MongoDB의 Sharding(샤딩)을 통해 데이터를 여러 서버에 분산 저장하여 성능과 용량 확장이 편리
    Sharding : 데이터베이스를 분산해 저장하는 방법
  • 다양한 쿼리와 인덱스 지원 : 복잡한 쿼리를 효율적으로 처리 가능

MongoDB와 MySQL 차이

MySQLMongoDB
rowdocument
tablecollection
databasedatabase

DBMSMongoDBMySQL
데이터 모델문서형(NoSQL)관계형(RDBMS)
데이터 저장 형식BSON(Binary JSON) 형식Table 형식
데이터 관계비정형 데이터 및 복잡한 관계에서 유리정형화된 데이터 관계
트랜잭션제한적인 트랜잭션 지원완전한 트랜잭션 지원
사용 사례실시간 분석, 빅데이터금융, ERP 시스템
상대적 특징빠른 개발 주기, 대규모 데이터 처리데이터 간 안정성, 데이터 무결성(완전성)

MongoDB 사용 이유

애플리케이션 빠르게 구축, 다양한 형태의 데이터 처리, 효율적인 관리

  • 객체 코드를 관계형 테이블로 변환하는 복잡한 ORM(Object-Relational Mapping) 계층을 제거할 수 있다. ORM 계층을 제거함으로써 애플리케이션에 추가되는 오버헤드가 적어지고, 개발 속도를 높일 수 있다.

  • MySQL과 같은 RDB에서 가능하지 못한 새로운 수준의 가용성과 확장성을 제공할 수 있다. 비정형 데이터를 처리하기 힘든 RDB와는 다르게, 다양한 형태의 데이터 처리가 가능한 MongoDB는 RDB보다 더 많은 기능과 확장성을 가진다.

  • MongoDB의 유연한 데이터 모델은 데이터베이스 스키마가 비즈니스 요구사항에 맞게 발전할 수 있다.

  • MongoDB는 MySQL보다 상대적으로 속도가 빠르다.


참고-MySQL과 MongoDB 차이
참고-MySQL과 MongoDB의 차이점
MongoDB 개념

profile
🍀 ٩(ˊᗜˋ*)و 🍀

0개의 댓글