RDBMS와 NoSQL 차이

채상엽·2022년 7월 19일
0

Spring

목록 보기
9/21

RDBMS(관계형 데이터베이스)

데이터 모델을 2차원 테이블(표) 형태로 표현하는 데이터베이스를 의미한다. 관계형 데이터베이스의 가장 큰 특징은 외래 키(FK)를 이용하여 테이블 간 Join이 가능하다는 것이 가장 큰 특징이다.

  • User 테이블
id(PK)이메일이름
1kimkimkim@gmail.com김김김
2parkparkpark@gmail.com박박박
  • Order 테이블
id(PK)회원 정보(FK)상품명
11청소기
21TV

User와 Order가 관계를 맺고 있는 테이블 이라고 했을 때, 위 테이블 값에서 알 수 있는 것은 김김김 이라는 사용자가 청소기와, TV를 주문했음을 알 수 있다.

NoSQL(Not Only SQL)

NoSQL에서는 RDBMS와는 달리 테이블 간 관계를 정의하지 않는다. 이는 달리 말하면 테이블 간 Join이 불가능함을 의미한다. 가장 큰 특징은 RDBMS의 스키마에 맞춰 데이터를 관리해야하는 한계점을 극복하고, 수평적 확장성을 가진다는 장점이 있다.

RDBMS가 데이터 간의 관계를 정의하고 데이터 정합성, 일관성을 유지하기 위해 탄생했다면, NoSQL은 대용량 데이터의 읽기와 쓰기 작업을 위해서 탄생하게 되었다.

  • 높은 확장성

    • SQL 기반 데이터베이스는 수평적 확장에 용이하게 설계되어있지 않다
  • 유연한 스키마

    • 언제든지 데이터를 조정하고 새로운 필드를 추가할 수 있다
  • 동적이고 표현적인 데이터 모델

  • 뛰어난 지역성

    • 모든 관련 정보가 하나의 문자열 안에 포함되어 있어, 지역성이 뛰어나다
  • ACID 속성을 지원하지 않는다

    • 트랜잭션 속성이 적용되지 않음을 의미한다

RDBMS 사용시에는 ORM 사용시 JpaRepository를 사용 했다면, MongoDB에서 ODM 사용시 MongoRepositoy를 많이 사용한다

profile
프로게이머 연습생 출신 주니어 서버 개발자 채상엽입니다.

0개의 댓글