프로그래밍/ETC

[기술면접] SQL, NoSQL 장단점

* SQL == RDBMS ( 관계형 데이터베이스 ) 라고 할 수 있음

=> SQL 이라는 언어는 관계형 데이터베이스 시스템을 제어하기 위한 전용 프로그래밍 언어이다.

따라서 관계형 데이터베이스를 SQL 이라고도 할 수 있다.

 

SQL

장점: 

명확하고 엄격하게 정의된 스키마와 관계를 통해, 데이터 무결성을 보장합니다.

 

단점 : 

정의된 스키마에 의해 테이블의 수정이 번거롭습니다.

테이블 간의 관계를 맺고 있기 때문에 JOIN 문이 많은 복잡한 쿼리가 될 수 있습니다.

수평적 확장이 어렵습니다.

 

NOSQL

장점:

정의된 스키마 가 없기 때문에 유연합니다.

어플리케이션에 맞는 데이터로 저장하고 key - value 구조 상 데이터를 쉽게 찾을 수 있어

데이터를 읽어오는 속도가 빠릅니다

수직 및 수평확장에 용이합니다.

 

단점:

유연성 때문에, 데이터 구조 결정을 하지 못하고 미루게 될 수 있습니다.

데이터가 여러 컬렉션에 중복되어 있기 떄문에, 수정 작업시 모든 컬렉션에 수정을 수행해야합니다.

 

면접 대답

SQL은 고객 주문 시스템과 같이 구조화된 데이터에 적합하며, NoSQL은 소셜 미디어 처럼 다양한 형식의 사용자 데이터나
로그와 같은 대규모 비정형 데이터에 적합합니다.
SQL은 복잡한 쿼리에 강점을 보이지만, NoSQL은 확장성과 유연성에서 뛰어납니다.

728x90