AWS

데이터베이스 기본 개념 정리 (Relational Databases vs NoSQL)

heesoohi 2025. 3. 6. 23:08

데이터베이스는 목적에 맞게 최적화되어, 서로 다른 기능/모양/제한을 가진다. 

 

➡️ 데이터를 구조에 따라 저장하고 싶다면, 데이터베이스를 이용하는 것이 좋다.

     데이터베이스를 이용하면 효과적인 쿼리와 검색을 위한 인덱스도 구축할 수 있다. 

 

➡️ EFS, EBS, EC2 인스턴스 스토어, S3 등을 이용하면

     데이터베이스를 이용한 파일별 작업이 가능하여, 더욱 체계적으로 데이터를 관리할 수 있다. 

 

이처럼 상황과 필요에 따라 적절한 데이터베이스를 선택하여 사용할 필요가 있는 것!

 

 

 # Relational Databases - 관계형 데이터베이스 

 

관계형 데이터베이스는 엑셀 스프레드시트와 동일하다고 볼 수 있다. 

 

 

 

테이블의 열(column)끼리의 관계, 테이블 간의 관계 등등.. 다양한 관계를 정의하여, 데이터 간의 연결고리를 찾을 수 있다. 

이러한 특징 때문에 '관계형' 데이터베이스라는 이름이 붙기도 했다.

 

관계형 데이터베이스에서는 SQL 언어를 사용하여 쿼리 및 조회가 가능하다!

 

 

 

# NoSQL Databases - 비관계형 데이터베이스

 

관계형 데이터베이스보다 현대식의 데이터베이스로, 현대 애플리케이션 구현을 위해 유연한 스키마를 가지고 있다. 

 

🧐 스키마란?

: 데이터의 모양을 의미!

 

💡 NoSQL 데이터베이스의 특징

  • 높은 유연성 -> 데이터 모델을 개선하기 쉽다
  • 확장 가능 <- 분산 서버를 추가하면 스케일 아웃이 가능하도록 설계되어 있음

 

💡 NoSQL 데이터베이스의 종류

  • 키-값(key-value) 데이터베이스
  • 문서
  • 그래프
  • 인 메모리(in-memory)
  • 검색 데이터베이스 등...

 

NoSQL 데이터베이스에서는 JSON 형식의 데이터를 사용할 수 있다.

JSON은 아래 이미지와 같이, 여러개의 데이터를 가지고 있다.

필드, 이름, 유형 등등..

 

 

 

JSON에서 데이터는 중첩될 수도 있다. address의 경우, 상위 객체 요소 내에 중첩되어 존재한다. 

즉 address와 type이 서로 중첩되는 것!

 

이런 특징 덕분에 JSON 데이터는 관계형 데이터베이스 보다 더 역동적으로 데이터를 관리할 수 있다.