Blog

[CS]19 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.

Author
Summary
RDBMS와 NoSQL의 특징과 차이점
Category
Study
Tags
CS
Favorite
Memory Date
2023/10/19
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
6 more properties
NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.
우선 DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어입니다.
RDBMS (Relational Database Management System):
그 중 RDBMS는 R은(Relational)의 약자로 RDBMS는 관계형 데이터베이스 관리 시스템을 의미합니다. 이름과 같이 RDBMS는 RDB를 관리하는 시스템이며 RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현한 데이터베이스입니다.
특징 및 장점:
1.
테이블 기반 데이터 구조: 데이터를 테이블 형태로 구조화하고, 테이블 간의 관계를 정의합니다.
2.
정적인 스키마: 데이터의 구조를 미리 정의하고, 변경이 어려운 정적인 스키마를 사용합니다.
3.
ACID 특성: 원자성, 일관성, 고립성, 지속성을 보장하여 안정적이고 일관된 트랜잭션을 제공합니다.
4.
SQL 사용: SQL(Structured Query Language)을 사용하여 데이터를 쿼리하고 조작할 수 있습니다.
차이점 및 단점:
1.
유연성: 스키마는 데이터베이스의 구조를 말합니다. RDBMS는 테이블, 열, 행, 타입, 제약조건 등으로 정해진 규칙들을 따르게 되어 있습니다. 따라서 기본적인 데이터의 형식을 따라야 하기때문에 일부 유연하지 못한 문제가 있습니다. 스키마 변경이 어렵고, 새로운 필드를 추가하려면 기존 데이터를 업데이트해야 합니다.
2.
확장성 제한: 수직 확장이 어려울 수 있고, 대량의 데이터 처리에 한계가 있습니다. RDBMS 머신을 더 좋은 사양으로 바꿔야 하며 확장 비용과 유지보수 비용이 큽니다.
NoSQL (Not Only SQL):
NoSQL은 (Not Only SQL)의 약자로 말 그대로 앞서 설명한 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하고 있습니다. NoSQL 데이터베이스는 전통적인 관계형 데이터베이스의 한계를 극복하기 위해 등장하였고, "Not Only SQL"이라는 용어는 이러한 데이터베이스들이 SQL 기반의 관계형 데이터베이스 시스템과는 다른 접근 방식을 가지고 있다는 것을 강조하기 위해 이런 명칭이 사용됩니다.
특징 및 장점:
1.
다양한 데이터 모델: 테이블 이외의 다양한 데이터 모델을 지원하며, 대표적으로 키-값 형태, JSON같은 필드-값 형태의 도큐먼트, 전통적인 행 지향 데이터베이스와는 달리, 각 열을 따로 저장하여 쿼리 성능을 최적화하는 방식열 지향 등이 있습니다.
2.
동적인 스키마: 데이터는 유연한 스키마를 가지며, 필요에 따라 동적으로 변경할 수 있습니다.
3.
비관계적 데이터: 데이터 간의 관계를 강제하지 않아 비관계적 데이터를 저장할 수 있습니다.
4.
높은 성능: 특히 읽기 및 쓰기가 많은 대용량 데이터에 대해 높은 성능을 제공합니다. NoSQL은 빅데이터의 등장으로 인해 데이터와 트래픽이 기하급수적으로 증가함에 따라 RDBMS에 단점인 성능을 향상시키기 위해서는 장비가 좋아야 하는 Scale-Up 수직 확장 전략과 상반되는 서버를 추가하는 방식인 Scale-Out 전략을 통해 부하를 분산시키는 것을 목표로합니다.
차이점 및 단점:
1.
유연성: 스키마가 유연하고 동적으로 변경 가능하여 데이터 모델을 쉽게 조정할 수 있습니다.
2.
확장성: 수평 확장이 가능하며, 대량의 데이터를 처리하는 데 효과적입니다.
3.
쿼리 언어 다양성: NoSQL은 각각의 데이터베이스마다 다른 쿼리 언어를 사용하므로 학습 곡선이 존재합니다.