초보 개발자의 기록

RDBMS vs. NoSQL 본문

SQL/Basic

RDBMS vs. NoSQL

bambinodeveloper 2022. 10. 1. 07:13
728x90

DBMS :DataBase Management System

사용자와 데이터베이스 사이에서, 사용자의 요청을 해석하여 데이터베이스에 저장된 정보를 관리할 수 있도록 해주는 소프트웨어

 

RDBMS의 특징

- 서버의 성능을 향상 시켜야하는 Scale-up만 지원. 비용 기하급수적으로 늘어날 수 있음

- SQL 라는 구조화된 질의어를 통해 데이터를 다룸

- 스키마로 인해 데이터가 유연하지 않음. 

- 데이터의 분류, 정렬, 탐색 속도가 비교적 빠름

- Data를 Column과 Row 형태로 저장

- 트랜잭션 보장 : 작업의 완전성 보장

- 데이터 처리 부하 발생시, 처리 어려움

 

NoSQL의 특징

- 데이터 분산이 용이하며 성능 향상을 위한 Scale-up , Scale-out 가능

- key값 입.출력만 지원

- 스키마가 없기 때문에 유연하며 자유로운 데이터 구조를 가질 수 있음. 데이터를 조정하고 새로운 필드를 동적으로 추가할 수 있음

- 명확한 데이터 구조를 보장하지 않으며 데이터 구조 결정이 어려움

- 트랜잭션 보장을 안하거나 약함

- RDBMS 보다 복잡도가 떨어져, 대용량의 데이터를 저장.관리할 수 있음

 

RDBMS와 NoSQL의 차이점

특징 RDBMS NoSQL
확장성 Scale-up만 가능 Scale-up & Scale-out
질의어 구조화 질의서 (SQL) DBMS별 제공
스키마
데이터베이스를 구성하는 개체(Entity), 속성(Attribute),관계 (Relationship) 및 제약조건등에 관해 전반적으로 정의한 메타데이터 집합
스키마 사전 정의 필요
(DDL & DML)
반드시 스키마 규격에 맞퉈서 데이터를 다뤄야 함
사전 스키마 정의 불필요, 동적 추가 가능
데이터 유형 구조화된 관계 데이터 구조적/비구조적/반구조적/ 예측불가 데이터 지원
ACID/BASE ACID
(Atomicity, Consistency, Isolation, Durabilty)
BASE
(Basically Available, Soft State, Eventually Consistent)
ACID지원하는 DBMS존재
트랜잭션 보장 트랜잭션 보장 트랜잭션 보장 안함
데이터 스토리지 하나의 고성능 서버에 데이터를 저장/처리 여러대의 서버를 연결하여 저장/처리

 

728x90
반응형

'SQL > Basic' 카테고리의 다른 글

트랜잭션(transaction)  (0) 2021.09.29
DBMS 와 SQL  (0) 2021.08.31
데이터베이스와 테이블  (0) 2021.08.31