SQL과 NoSQL의 차이

한눈에 보기

SQL은 고정 스키마의 관계형 모델, NoSQL은 문서, 키-값, 그래프 등 다양한 모델의 저장소다. 스키마, 일관성, 확장 방식의 차이를 표로 비교하고 실무 선택 기준과 폴리글랏 구성을 다룬다.

최종 업데이트 2026.09.17

SQL 데이터베이스는 고정된 스키마의 테이블과 관계를 기반으로 데이터를 저장하는 관계형 데이터베이스이고, NoSQL(Not Only SQL) 데이터베이스는 그런 관계형 모델에서 벗어나 문서, 키-값, 그래프 등 다양한 모델로 데이터를 저장하는 데이터베이스의 총칭이다. 두 방식은 스키마 유연성, 일관성 보장 수준, 확장 방식에서 뚜렷한 차이가 있어 서비스 특성에 맞게 선택하거나 함께 사용한다.

관계형 데이터베이스의 특징

SQL 데이터베이스는 데이터를 행과 열로 이루어진 테이블에 저장하고, 테이블 사이의 관계를 외래키(Foreign Key)로 표현한다. 스키마(Schema)를 미리 정의해야 하므로 저장되는 데이터의 형태가 강하게 보장되고, 정규화를 통해 중복을 최소화한다. 무엇보다 트랜잭션(Transaction)의 ACID 성질을 지원해서 계좌 이체처럼 여러 작업이 전부 성공하거나 전부 실패해야 하는 상황에서 데이터 정합성을 지켜 준다. 표준화된 SQL로 조인, 집계 같은 복잡한 질의를 유연하게 작성할 수 있다는 것도 큰 장점이다. MySQL, PostgreSQL, Oracle이 대표적이다.

NoSQL 데이터베이스의 특징과 종류

NoSQL은 대규모 트래픽과 비정형 데이터를 다루기 위해 등장했다. 스키마가 유연해서 필드 구조가 문서마다 달라도 되고, 데이터를 여러 서버에 나눠 저장하는 수평 확장(Scale-Out)을 처음부터 염두에 두고 설계된 제품이 많다. 대신 조인과 강한 일관성 보장을 제한하는 경우가 많아, 조회 패턴에 맞춰 데이터를 미리 중복 저장하는 비정규화 중심의 모델링을 한다.

유형저장 모델대표 제품적합한 용도
문서형(Document)JSON과 유사한 문서 단위 저장MongoDB구조가 자주 변하는 콘텐츠, 카탈로그
키-값(Key-Value)키 하나에 값 하나Redis, DynamoDB캐시, 세션, 단순 조회 중심 데이터
와이드 컬럼(Wide-Column)행마다 유연한 컬럼 집합Cassandra, HBase대량 쓰기, 시계열, 로그
그래프(Graph)노드와 간선Neo4j소셜 관계, 추천, 경로 탐색

핵심 차이 비교

비교 항목SQLNoSQL
스키마고정 스키마를 미리 정의한다유연하거나 없다
데이터 모델정규화된 테이블과 관계조회 패턴 중심의 비정규화 모델
일관성ACID 트랜잭션으로 강한 일관성다수가 최종 일관성(Eventual Consistency) 기본
확장 방식수직 확장(Scale-Up) 중심수평 확장(Scale-Out) 중심
질의표준 SQL, 자유로운 조인과 집계제품별 질의 방식, 조인 제한적
적합한 데이터정형 데이터, 관계가 복잡한 데이터비정형, 대용량, 구조 변화가 잦은 데이터

일관성과 확장성의 차이는 CAP 정리와 연결된다. 네트워크 분단(Partition) 상황에서 일관성(Consistency)과 가용성(Availability)을 동시에 완전히 만족할 수 없으므로, 분산 NoSQL 제품들은 가용성을 위해 일관성 수준을 조절 가능하게 설계한 경우가 많다. 다만 이 구분은 절대적이지 않다. 최신 관계형 데이터베이스도 복제와 샤딩(Sharding)으로 수평 확장을 지원하고, MongoDB 같은 NoSQL도 다중 문서 트랜잭션을 제공하는 등 경계는 점점 흐려지고 있다.

선택 기준

결제, 재고, 회원 등 정합성이 최우선이고 데이터 간 관계가 복잡하며 다양한 조건의 질의가 필요하다면 관계형 데이터베이스가 기본 선택이다. 반면 트래픽이 매우 크고 쓰기 부하가 높으며, 데이터 구조가 자주 바뀌고, 조회 패턴이 몇 가지로 정해져 있다면 NoSQL이 유리하다.

실무에서는 하나만 고르기보다 폴리글랏 퍼시스턴스(Polyglot Persistence), 즉 용도별로 여러 저장소를 조합하는 경우가 많다. 핵심 트랜잭션 데이터는 관계형 데이터베이스에, 세션과 캐시는 레디스(Redis)에, 검색은 엘라스틱서치(Elasticsearch)에, 대량 로그는 와이드 컬럼 저장소에 두는 식이다. 어떤 저장소를 쓰든 "이 데이터의 일관성 요구 수준과 조회 패턴이 무엇인가"를 먼저 답하는 것이 올바른 선택의 출발점이다.

면접에서 이렇게 물어본다

  • SQL과 NoSQL의 차이를 스키마, 일관성, 확장성 관점에서 설명해 보라.
  • NoSQL의 네 가지 유형과 각각의 대표적인 사용 사례를 들어 보라.
  • 수직 확장과 수평 확장의 차이는 무엇이고, NoSQL이 수평 확장에 유리한 이유는 무엇인가.
  • 최종 일관성이란 무엇이며 어떤 서비스에서 허용 가능한가.
  • 새 서비스를 설계한다면 어떤 기준으로 데이터베이스를 선택하겠는가.
데이터베이스 문서 전체 보기

이 개념, 내 코드에서는 어떻게 물어볼까요

데브핏(DevFit)에 채용공고 URL을 붙여 넣고 레포지토리를 연결하면, 내가 쓴 커밋에서 예상 질문과 어필 포인트를 만듭니다. 하루 10회까지 무료입니다. 합불 판정이나 지원자 랭킹은 만들지 않고, 최종 판단은 사람이 합니다.

공고 넣고 시작하기