본문 바로가기
컴퓨터과학

관계형 데이터베이스와 NoSQL의 차이 무엇이 다른지?

by 코드그래피 2025. 1. 8.
반응형

국비지원 6개월 학원을 다녔을 때 선생님이 하신 말씀 중에 데이터베이스만 잘 만들어도 돈 잘 번다고 그랬는데 아직 제대로 실무를 해본 경험이 없어 잘 모르겠습니다

SQLD 자격증을 취득하면서 SQL은 어느정도 해볼만 하다고 생각했는데 그게 아니라는 것을 배웠죠.

실무에서 사용할 정도가 되려면 쿼리문 최적화부터, 정규화, 조인과 서브쿼리 등 이런 부분들은 익숙해야하는데 시험공부할 때 그런거 생각안하고 보통 하잖아요

그냥 합격점수 60점 이상만 나오면 되는거지하고 정말 한번에 못 붙고 떨어지는 줄 알고 걱정했습니다

사실 실무에서 그렇게 알아주는 자격증은 아닌 것 같더라고요 그래도 비전공자니깐 이것저것 도전하면서 기초를 만들어가는 중이었습니다


 

1. 관계형 데이터베이스(RDB)란?

 

정의:

관계형 데이터베이스는 데이터를 행(Row)과 열(Column)의 형태로 구성된 테이블로 관리하는 데이터베이스 유형입니다. 데이터 간의 관계를 명확히 정의하며, SQL(Structured Query Language)을 사용해 데이터를 관리합니다.

 

특징:

  • 정형화된 구조: 데이터가 테이블에 정해진 스키마(Schema) 형태로 저장됩니다.
  • 예: 고객 정보(이름, 나이, 이메일 등)를 각각의 열로 정의.
  • SQL 사용: 데이터를 검색하거나 조작하는 데 표준화된 SQL 언어를 사용합니다.
  • 예: SELECT * FROM Customers WHERE Age > 30;
  • 트랜잭션 지원(ACID 속성): ACID: 원자성, 일관성, 고립성, 지속성 보장.
  • 금융, 은행과 같은 정확성이 중요한 환경에서 사용됨.

대표적인 RDBMS:

  • MySQL
  • PostgreSQL
  • Oracle Database
  • Microsoft SQL Server

2. NoSQL 데이터베이스란?

 

정의:

NoSQL 데이터베이스는 비정형 데이터나 반정형 데이터를 저장하기 위한 데이터베이스 유형입니다. “Not Only SQL”의 약자로, 관계형 모델을 사용하지 않는 데이터베이스를 의미합니다.

 

특징:

  • 유연한 스키마: 데이터가 고정된 스키마 없이 저장됩니다.
  • 데이터 구조 변경이 쉽고, 다양한 데이터 유형(문서, 그래프, 키-값)을 저장 가능.
  • 확장성: 대규모 데이터와 트래픽 처리를 위해 수평 확장(서버 추가)을 지원.
  • 클라우드 환경에서 자주 사용됨.
  • 빠른 처리 속도: 데이터의 구조가 단순해 빠른 읽기/쓰기 성능을 제공.
  • 실시간 처리가 필요한 애플리케이션에 적합.

대표적인 NoSQL DB 유형:

  • 문서(Document) 기반: MongoDB, CouchDB
  • 키-값(Key-Value) 저장소: Redis, DynamoDB
  • 그래프(Graph) 기반: Neo4j, Amazon Neptune
  • 컬럼(Column) 기반: Apache Cassandra, HBase

3. 관계형 데이터베이스와 NoSQL의 차이점

특징 관계형 데이터베이스(RDB) NoSQL 데이터
데이터 구조 테이블(정형화된 스키마 필요) 비정형 데이터(유연한 스키마)
확장성 수직 확장(더 강력한 서버로 업그레이드) 수평 확장(서버를 추가하여 확장 가능)
쿼리 언어 SQL 쿼리 언어 없음 또는 자체 쿼리 사용
성능 복잡한 쿼리 처리에 적합 빠른 읽기/쓰기 성능 제공
ACID지원 강력하게 지원 상황에 따라 지원(CAP 이론에 따라 선택적)
사용 사례 은행, ERP, CRM, 정형 데이터 관리 소셜미디어, 빅데이터분석, IoT, 로그 저장

4. 언제 RDB와 NoSQL을 사용해야 할까?

관계형 데이터베이스 사용 시기:

  • 데이터가 정형화된 구조를 가지고 있으며, 명확한 스키마가 필요할 때.
  • 트랜잭션이 중요하고 데이터 무결성이 필수일 때.
  • 예: 은행 시스템, 재고 관리, ERP 시스템.

NoSQL 사용 시기:

  • 데이터가 비정형 또는 빠르게 변화하는 경우.
  • 대규모 트래픽을 처리해야 하거나 실시간 데이터 처리가 중요한 경우.
  • 예: 소셜 네트워크, 로그 데이터 저장, IoT 플랫폼.

 

전에 유튜브 영상을 보고 사이트 개발을 따라한 적이 있었는데 데이터베이스로 NoSQL 기반 클라우드 데이터베이스 Firebase 라는 사이트를 이용한 적이 있었습니다. React로 개발하는 영상이었는데 따라하기 어려웠지만 따라하면서 React 구조를 얼추 알 수 있었던 공부였습니다. 그 때 파이어베이스도 사용해보면서 NoSQL의 편리함을 배웠던 것 같습니다. 

반응형