[TIL] MongoDB vs MySQL 비교

Seungrok Yoon (Lethe)·2023년 10월 15일
0

[TIL] 성장 한 스푼

목록 보기
37/53
MySQL
공통점데이터를 저장하는 방식테이블로JSON문서로(NoSQL)
오픈소스 라이선스존재존재
인덱싱지원지원
차이점쿼리 언어SQLMongoDB쿼리언어(MQL)-추가로 좀 더 배워야 한다.
데이터 모델일반 테이블. 프라이머리 키와 외래 키를 사용하여 데이터 간 관계를 정의한다.모든 데이터를 BJSON(Binary JSON)문서로 저장하는 문서 지향 데이터베이스. 데이터를 직렬하 하여 저장. 데이터베이스 스키마 대신, 문서를 컬렉션에 저장한다. 조금 더 유연한 접근 방식
확장성
  • 현재 데이터베이스 서버에 더 많은 리소스를 추가하여 수직적 확장.
  • 다른 서버에 데이터베이스의 읽기 전용 복사본을 생성하여 읽기 복제 => 복제하면 용량이 더 커지지 않나 => 최대 5개의 복사본으로 제한.
  • 복제본은 원본보다 뒤쳐질 수 있어 성능 문제 발생 가능.
  • 복제본 세트 - 동일한 데이터 보유
  • 샤딩-여러 서버에 분산된 데이터의 여러 부분. 데이터의 일부가 여러 서버에 복제된다. 수평적으로 확장하여 읽기 및 쓰기 성능을 대규모로 최적화할 수 있다.
  • 성능
  • 적절히 인덱싱된 여러 테이블에서 고성능 조인 가능.
  • 데이터를 한 행씩 삽입해야 해서 쓰기 성능이 느려짐
  • 대부분의 데이터를 단일 문서에 보관. 여러 데이터 간 조인이 필요하지 않음.
  • insertMany API를 통한 빠른 삽입 가능
  • 유연성RDBMS라 더 엄격한 구조. 고정된 스키마를 사용하여 데이터를 행과 테이블로 구성한다.데이터를 JSON 문서로 저장하여 다양한 데이터 유형을 가진 복잡한 애플리케이션을 구축할 수 있다.
    언제 사용하는 것이 좋은가?ACID 규정 준수 => 트랜잭션이 원자 그대로 격리됨. 따라서 전자 상거래, 트랜잭션 및 금융 사용처럼 복잡한 트랜잭션 처리 시 유리소셜 네트워크, 미디어, 사물 인터넷 등 비정형 데이터로 작업할 때 더 적합. 왜? 스키마가 없으니까. 더 유연하기 때문

    AWS에서는

    • Amazon Relational Database Service(RDS) : 관계형 데이터베이스 설정 가능.
      • 그 중, Amazon RDS for MySQL로 MySQL 서비스를 제공한다.
    • Amazon DocumentDB(MongoDB호환)

    인덱스

    자주 액세스 하는 데이터에 연결되는 데이터베이스 구조.
    종류에는 해시 인덱스, B-트리 인덱스 및 여러 기타 인덱스를 제공

    Reference

    https://aws.amazon.com/ko/compare/the-difference-between-mongodb-vs-mysql/

    profile
    안녕하세요 개발자 윤승록입니다. 내 성장을 가시적으로 기록하기 위해 블로그를 운영중입니다.

    0개의 댓글