DB

[DB (3/3)] No SQL(Not Only SQL)란

제익 2025. 4. 8. 17:47
반응형

NoSQL이란?

NoSQL은 "Not Only SQL"의 줄임말로, 전통적인 관계형 데이터베이스(RDB)가 아닌 다양한 방식으로 데이터를 저장하는 데이터베이스를 말한다.

쉽게 말해, 꼭 표처럼 데이터를 저장하지 않아도 되는 데이터베이스다. 예를 들어, 사진첩에 사진을 날짜별로 정리하는 것이 RDB라면, NoSQL은 앨범 이름, 주제, 사람 등 다양한 기준으로 자유롭게 정리할 수 있는 느낌이다.

정해진 틀이 없어도 데이터를 유연하게 담을 수 있어, 변화가 많은 현대 서비스에 특히 잘 맞는다.


NoSQL의 특징

최근 12개월 동안의 DB 트렌드 - 이미지 출처 : https://db-engines.com/en/ranking_categories


위에서 설명한 것처럼 전통방식의 RDB가 아닌 것들이 대부분 No SQL에 속한다. 예를 들어 key-value store, Document Store 같은 것들이 NoSQL의 한 종류이며, 이들은 다음과 같은 특징을 갖고 있어 다양한 환경에서 널리 사용된다.

  • 정해진 틀이 없다: 데이터마다 구조가 달라도 저장 가능해서, 유연하게 개발 가능
  • 빨라지고 쉽게 커진다: 서버 여러 대를 추가하면서도 성능을 높이기 쉬움 (수평 확장)
  • 실시간 처리에 강하다: 즉시 반응이 필요한 서비스(예: 채팅, 추천 등)에 적합
  • 다양한 형태 지원: 문서(Document), 키-값(Key-Value), 그래프(Graph), 컬럼(Column) 등 형태가 다양함

NoSQL의 활용 분야

NoSQL은 빠르게 변화하는 데이터나 정형화되지 않은 정보를 다루는 데 유리해, 아래와 같은 분야에서 활발히 사용된다.

  • 게임 서버: 유저의 접속 기록, 인벤토리, 게임 상태 등을 실시간으로 저장
  • 전자상거래 플랫폼: 상품 정보, 사용자 장바구니, 주문 기록 등 다양한 형식의 데이터를 유연하게 처리
  • 챗봇/메신저 앱: 대화 내용, 사용자 세션 정보 등을 빠르게 저장하고 불러오기 위해 사용
  • 콘텐츠 관리 시스템(CMS): 블로그 글, 댓글, 이미지 정보 등 다양한 미디어 콘텐츠를 자유롭게 구성

대표적인 NoSQL 데이터베이스

NoSQL의 대표적인 DB는 각기 다른 특징을 갖고 있다.

  • MongoDB: JSON 형식으로 데이터를 저장하는 문서 지향 DB, 웹 개발에서 많이 쓰임
  • Redis: 빠른 속도를 자랑하는 인메모리 키-값 저장소, 캐시나 세션 저장에 활용
  • Firebase Realtime DB: 구글에서 제공, 모바일 앱의 실시간 데이터 저장에 강력
  • Neo4j: 친구 관계처럼 ‘연결’을 중심으로 데이터를 표현하는 그래프 DB

NoSQL과 관계형 데이터베이스의 차이점

항목 관계형 데이터베이스 (RDB) NoSQL
데이터 구조 테이블 (행과 열) 문서, 키-값, 그래프 등
스키마(구조) 미리 정해진 구조 필요 자유로운 구조 가능
확장성 서버 성능 업그레이드 서버 추가로 쉽게 확장
적합한 용도 은행, 회계처럼 안정성과 구조가 중요한 시스템 SNS, 게임, 채팅처럼 변화 많고 빠른 데이터 처리

결론

NoSQL은 정형화되지 않은 데이터를 자유롭고 빠르게 처리할 수 있는 데이터베이스로, 게임, 전자상거래, 채팅, 모바일 앱 등 다양한 분야에서 활용된다. 기존 RDB처럼 데이터를 정형화하지 않아도 되며, 서비스 규모가 커질 때도 수월하게 확장할 수 있다는 장점이 있다.
 
이전 글 : 

[DB (1/3)] 관계형 데이터베이스(RDB, Relational DB)란

[DB (2/3)] 시계열 데이터베이스(TSDB, Time Series DB)란

반응형