얼음꽃의 일지

RDMS 와 NoSQL은 무엇인가? 본문

항해 일지

RDMS 와 NoSQL은 무엇인가?

얼음꽃 2022. 11. 28. 22:02
728x90

NoSQL : No + SQL 이 아니라 Not Only SQL 이라는 뜻으로 SQL뿐만 아니라 라는 의미가 있습니다. 즉, SQL 뿐만 아니라 다른 데이터베이스도 존재한다라는 뜻입니다. 

 

SQL(관계형 데이터베이스)은 대표적으로 MySQL, Oracle 등이 존재하고

NoSQL(비관계형 데이터베이스)은 대표적으로 MongoDB, Redis 등이 존재합니다.

 

RDBMS 가 있는데 NoSQL이 나온 이유는 다음과 같습니다.

 

- ACID의 완화

- 수평 확장 가능한 분산 시스템

- Schema의 정의가 없음

 

그럼 RDBMS와 NoSQL의 차이점은 무엇인가?

 

  RDBMS NoSQL
데이터 모델 정규화와 참조 무결성이 보장된 스키마 스키마가 없는 자유로운 데이터 모델
트랜젝션 강한 ACID 완화된 ACID
확장 수직적 확장 수평적 확장

 

RDMS와 NoSQL을의 각각의 장단점을 더 얘기한다면?

 

RDMS 의 장점

- 신뢰성이 높아 데이터의 무결성이 보장됨

- 정규화에 따른 비용 최소화

- 데이터의 성능이 좋아 정렬, 탐색, 분류가 빠름

 

RDMS 의 단점

- 스키마가 고정

- 스키마 고정 시 기존에 작성된 스키마는 수정하기 어려움

- 데이터베이스의 부하를 분석하기 힘듦

- 한꺼번에 많은 데이터(빅데이터)를 처리하는데 비효율적

 

NoSQL 의 장점

- 많은 데이터, 대용량 데이터를 처리하는데 효율적

- 스키마에 대한 정의가 없다.

- RDMS에 비해 쓰기, 읽기 성능이 좋음

- 뛰어난 확장성으로 검색에 좋음

- 최적화된 Key-value 기법으로 저장하기에 응답속도, 처리속도가 뛰어남

- 복작합 데이터 구조를 표현 가능

- 관계형 DB와 달리 PK,FK,JOIN등 관계를 정의하지 안흠

 

NoSQL 의 단점

- 쿼리 처리시 데이터를 파싱 후 연산을 해야해서 큰 크기의 document를 다룰 때는 성능이 저하됨.

 

RDMS 와 MongoDB 의 데이터 계층 구조를 살펴보면 다음과 같습니다.

 

RDMS와 MongoDB 데이터 계층 구조

 

MongoDB에 대한 추가적인 정보는 아래에서 참고바랍니다.

 

https://kciter.so/posts/about-mongodb

 

MongoDB 이해하기

사내에서 MongoDB를 잘 쓰기위한 스터디를 하게되어 이번 기회에 관련 자료를 정리하기로 했다. MongoDB가 왜 필요한지, 더 잘사용하기 위해서 무엇이 필요한지를 중심으로 처음 MongoDB를 사용할 때

kciter.so

 

728x90

'항해 일지' 카테고리의 다른 글

계층형 아키텍처 패턴  (0) 2022.12.01
[DB] 트랜잭션의 ACID  (0) 2022.11.29
Nginx + https연결 사용법  (0) 2022.11.02
게시글, 댓글, 좋아요 형태 만들기  (0) 2022.10.11
[항해99] 게시판 구현하기  (0) 2022.10.01