코딩과 결혼합니다

NoSQL 과 RDBMS의 차이점과 장,단점 본문

청첩장/결혼식장 : 코린이의 저장소

NoSQL 과 RDBMS의 차이점과 장,단점

코딩러버 2023. 8. 1. 13:54
728x90

SQL / NoSQL


DB - 데이터베이스(Database)

여러 사람이나 프로그램 데이터를 쉽게 공유하기 위해 체계적으로 관리되는 데이터의 집합

 

DBMS - 데이터베이스 메니지먼트 시스템(Database Management System)

데이터베이스를 관리하는 시스템

+RDBMS - 관계형 데이터베이스 관리(Relational Database Management System)

데이터를 정규화된 테이블로 표현하며, SQL을 사용하여 데이터에 접근한다.

 

DBMS의 분류 

관계형 데이터베이스(Relational Database, RDB) = SQL DB / 나머지 = NoSQL DB

SQL 이란 관계형 데이터베이스와 상호작용할 때 사용하는 언어이다. 

 

SQL DB : 데이터를 행과 열이 있는 표 형태로 저장 

스키마 라는 틀에 맞추어서 데이터가 저장되어 체계적이고 안정적으로 관리될 수 있다.

 

대표적인 제품으로 PostgrsSQL, MySQL, ORACLE, SQLite 등이 있다.

 

 

NoSQL DB : 비관계형 데이터베이스. 스키마가 없거나 유연한 스키마를 제공한다.

대표적인 유형으로 Key-Value, Document, Graph 등이 있다.

  • Key-Value : 가장 단순한 형태의 데이터 베이스 - 속도가 굉장히 빠름. 캐싱, 세션 관리, 리더보드, 실시간 분석 등에 주로 사용된다. 대표적으로 redis, amazon DynamoDB 등이 있다.
  • Document : Key-Value 모델 에서 조금 더 진화되어  Key 와 Json과 유사한 Document의 형태로 저장됨. Json의 형태의 데이터라 스키마가 변경되는 것에 유연하게 대처 할 수 있다.대표적으로 mongoDB, Amazon DocumentDB, Cloud Firestore 등이 있다.
  • Graph : 노드의 속성별로 데이터를 저장하는 방식. 소셜네트워크, 추천 엔진을 위한 데이터베이스에 주로 사용된다. 대표적으로 neo4J, Amazon Neptune, GIRAPH 등이 있다.

 

 

 

 

NoSQL 과 RDBMS의 장,단점


NoSQL

  • 장점 :  높은 확장성, 수평적 확장이 간단하며, 유연한 데이터 저장 및 저장소 모델 변화에 용이하고, 고성능 응답속도를 가진다.
  • 단점 : 여러 테이블 간의 조인이 저하되거나 제한된다. 표준화된 질의 언어가 없어 데이터 처리가 복잡할 수 있다.

RDBMS

  • 장점 : 데이터 무결성이 높아 신뢰성이 높다. SQL을 사용하여 쉽게 데이터 조작 및 응용 프로그램에서 사용 가능하며, 다양한 트랜잭션 처리 기능이 제공된다.
  • 단점 : 엄격한 스키마로 인해 데이터 구조 변경이 어려울 수 있다. 대량의 데이터와 수평적 확장에 덜 적합하다.

요약하면, NoSQL은 높은 확장성과 유연성을 필요로 하는 경우 용이하나, 데이터 처리가 복잡할 수 있습니다. 반면 RDBMS는 데이터 무결성이 중요한 경우에 적합하나, 대량 데이터 처리와 확장성에 제한이 있습니다. 프로젝트의 요건과 목적에 따라 적절한 데이터베이스 유형을 선택해야 합니다.