Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

냥냠

[SQL] 데이터베이스 기초, RDBMS vs NoSQL 본문

SQL

[SQL] 데이터베이스 기초, RDBMS vs NoSQL

sueeee-e 2024. 8. 5. 16:57

백엔드에서 바라보는 데이터베이스 개론

https://youtu.be/aL0XXc1yGPs?feature=shared

 

DB : 전자적으로 저장하고 사용되는 관련있는 데이터들의 조직화된 집합

DBMS : 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템

-> MySQL, 오라클 등등

DB system : 데이터베이스 + DBMS + 연관된 applications 

 

*메타 데이터 : 데이터를 설명하기 위한 데이터 / 데이터베이스를 정의하거나 기술하는 데이터 

 

data models

 

: DB의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집합 / 추상화해서 표현할 수 있는 수단 제공

 

- conceptual data models : 추상화 수준이 가장 높고 일반인들도 이해하기 쉬움

- logical data models : 이해하기 어렵지 않으며 디테일하게 DB 구조화 가능

--> relational data model, object data model, object-relational data model

(mysql, 오라클 등 유명한 데이터베이스가 relational data model를 기반으로 한다)

- physical data models : 실제 데이터베이스와 근접한 형태로 저장, 데이터 검색을 빠르게 함(인덱스)


three-schema architecture 

 

 internal schema  / conceptual schema / external schema

 


데이터베이스 언어

 

DDL (data definition language) - conceptual schema 정의

-> create, drop, alter

SDL (storage definition language)- internal schema 정의

VDL (view definition language) - external schema 정의

 

DML (data manipulation language) - 데이터 조작 언어

-> select, insert, delete, update

 

DCL (data control language) - 데이터 제어 언어

-> commit, rollback, grant, revoke

 

통합된 언어로 존재하며 대표적인 예가 SQL 이다.


 

RDBMS vs NoSQL

 

RDBMS : 관계형 데이터베이스 관리 시스템 

- 관계형 데이터 모델을 기초로 두고 모든 데이터를  2차원 테이블 형태로 표현하는 데이터베이스 관리 시스템

- 외래 키를 사용하여 테이블 간 조인을 할 수 있다.

-칼럼과 로우의 형태로 저장하며 데이터의 분류, 정렬, 탐색 속도가 비교적 빠르다.

- MySQL, SQLite, PostgreSQL, Oracle 등

 

 

NoSQL : not only sql

- 테이블 간의 관계를 정의하지 않음 (조인 불가)

- 데이터와 트래픽이 기하급수적으로 증가함에 따라 RDBMS의 성능문제로 등장함. 

- 유연성, 확장성, 고성능, 가용성 

- MongoDB 

- 다양한 형태의 저장 기술 (document, graph, key-value, wide-column)

 


 

1. RDBMS 장단점 

- 장점 

: 정해진 스키마에 따라 데이터를 저장하기 때문에 명확한 데이터 구조를 보장함

: 데이터의 중복없이 관계를 저장함

 

- 단점

: 테이블 간 관계를 맺고 있어 시스템이 커질 경우 조인 문이 복잡한 쿼리를 만든다.

: 성능향상을 위해서는 서버의 성능을 향상시켜야만 한다. 비용 증가

: 스키마때문에 데이터가 유연하지 못하여 스키마 변경될 경우 번거롭다.

 

2. NoSQL 장단점

- 장점

: 스키마가 없기 때문에 데이터 구조가 유연하여 언제든 데이터를 조정하고 추가할 수 있다.

: 데이터 분산이 용이하며 성능향상을 위해서 Scale-up, Scale-out (수평확장)가능하다.

 

- 단점

: 데이터의 중복이 발생할 수 있어 중복된 데이터 변경 시 번거롭다. 

: 스키마가 없기 때문에 데이터 구조를 보장하지 않아 데이터 구조 결정이 어렵다. 

 

 

 

'SQL' 카테고리의 다른 글

리텐션 (Retention)  (0) 2025.04.11
RFM 고객 세분화 분석  (0) 2025.03.13
[SQL] MySQL 기초 - (1)  (5) 2024.07.22