RDB 와 NoSQL의 특징과 차이점

Kuno17·2023년 5월 18일
0

CS공부

목록 보기
16/17
post-thumbnail

RDB 관계형 데이터베이스

  • 관계형 데이터베이스(Relational Database)란 데이터가 중복되지 않도록 하여 테이블의 역할이 명확하게 구분하고 테이블 간에는 외래키(FK)를 사용하여 데이터를 공유하는 것으로 서로 관계를 맺도록 설계한 데이터 모델이다. 데이터의 중복이 허락되지 않기 때문에 Object 안에 Object를 넣을 수 없어 두 개의 테이블의 데이터를 조인해서 사용한다.

  • MySQL, Oracle, PostgreSQL등

NoSQL (Not Only SQL)

  • 비관게형 데이터베이스는 데이터 중복이 가능하여 Object안에 Object를 넣을 수 있다. 그렇기 때문에 컬렉션과 컬렉션 간에 관계가 존재하지 않는다. 이는 데이터를 Select할 때 매우 빠른 속도를 자랑한다. 하지만 데이터의 중복으로 인해 각각의 컬렉션의 데이터를 동기화하는데 시간이 걸린다. 이를 커버하는 기술이 바로 샤딩으로 MongoDB에서 이 기술을 사용하고 있다.

차이점 비교

관계형 데이터베이스와 비교하여 NoSQL의 특징은 ACID와 Transaction을 지원하지 않는다는 점이다.

NoSQL은 언제 사용?

  • NoSQL은 정확한 데이터 구조가 정해지지 않은 경우, 데이터 update가 자주 이루어지지 않고, 조회가 많은 경우, 또 scale-out이 가능하므로 데이터 양이 매우 많은 경우에 사용하면 좋다.

RDB는 언제 사용?

  • RDB는 데이터 구조가 명확하여 변경될 여지가 없는 경우, 또 데이터 중복이 없으므로 데이터 update가 잦은 시스템에서 사용하면 좋다.
profile
자바 스터디 정리 - 하단 홈 버튼 참조.

0개의 댓글