개발공부

NoSQL과 RDBMS의 특징과 차이점

Iam_noob 2023. 8. 16. 21:35
728x90
반응형

오늘부터 기술면접 준비가 시작되어 앞으로 면접용 질문에 대한 답변을 TIL로 작성할 예정이다.

첫 질문은 아래와 같았다. 

1. NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.

각 DB에 대해 알아보고자 한다.

출처: https://www.edureka.co/blog/sql-vs-nosql-db/

1) NoSQL (Not only SQL)

비관계형 데이터 베이스

스키마가 없어 데이터 저장이 자유로움

많은 양의 데이터를 저장, 처리할 수 있음

유연한 특징, 반대로 말하면 구조화 되어 있지 않은 데이터베이스 

 

장점

- 유연하여 확장이 용이

- Bigdata용으로 효과적

- 설계 비용 및 시간 절감

- 데이터 읽는 속도가 빠름

 

단점

- 데이터 중복

- Update가 비교적 느림

- 데이터 구조가 명확하지 않음

 

2) RDBMS (Relational DataBase Management System)

관계형 데이터 베이스

2차원 테이블 형태로 데이터 표현

 

장점

- 데이터 구조가 명확함(데이터 무결성)

- 데이터 업데이트가 빠름

- 데이터 중복 없음

- 분류, 정렬, 검색 속도 빠름

 

단점 

- 관계가 많을 수록 제약조건이나 처리해야할 쿼리가 많아짐

- 스키마 규격에 맞춰야 해서 번거로울 수 있음

- 성능향상만 가능하며 비용이 높음

 

두개의 대표적인 DB는 보통 mongoDB(NoSQL), MySQL(RDBMS) 등이 있다.

결론적으로,

유연하고 자유로운 NoSQL은 프로젝트 단위가 크지 않거나 빅데이터 처리가 필요할 경우 사용하게 되고,

구조가 명확한 RDBMS는 큰 기업 또는 프로젝트에서 많은 데이터들이 중복이 되지 않게 하며, 빠르게 분류 및 정렬이 필요할 때 사용될 것 같다. 각 특징에 맞게 DB를 세팅하게 되면 두가지를 전부 사용하는 경우도 있다.

 

728x90
반응형

'개발공부' 카테고리의 다른 글

RDBMS의 정규화  (0) 2023.08.22
MVC(Model View Controller) 란?  (0) 2023.08.22
내배캠 node.js_trello 프로젝트 kpt회고  (0) 2023.08.14
[MySQL] Error 3780 해결 방법  (2) 2023.08.01
sequelize사용하여 DB생성하기(mysql)  (0) 2023.07.25