본문 바로가기
매일 해내는 개발/Develog

[특강] 데이터베이스의 이해 기초

by 해야지 2022. 11. 16.
반응형

1. 데이터베이스란?
2. 데이터베이스 관리 시스템이란?
3. 관계형 데이터베이스란?
4. 비관계형 데이터베이스란?
5. SQL VS NoSQL

1. 데이터베이스란?

좁은 의미의 데이터베이스는 데이터의 나열일 뿐, 이를 제어할 수 있게 해주는 프로그램이 필요하다.

데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로서 일반적으로 컴퓨터 시스템에 전자적으로 저장됩니다 데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어됩니다. - Oracle Korea

특징 설명
실시간 접근성(real time accessibility)  사용자의 질의에 대하여 즉시 처리하여 응답한다.
 계속적인 변화(continuous evolution)  삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지한다.
동시 공유(concurrent sharing) 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다.
내용에 의한 참조(content reference)
데이터베이스에 있는 데이터를 참조할 때 투플(tuple)의 주소나 위치가 아닌 사용자가 요구는 데이터 내용에 따라 참조한다.
데이터 논리적 독립성(independence)
응용프로그램과 데이터베이스를 독립시킴으로써 데이터 논리적 구조를 변경시키더라도 응용프로그램은 변경되지 않는다.

 

2. 데이터베이스관리시스템(DBMS)란?

데이터베이스 관리 시스템(DataBase Management System, DBMS)은 데이터베이스를 조작하는 별도의 소프트웨워이다.
DBMS를 통해 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하고, 사용할 수 있는 환경을 제공한다. DBMS는 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공한다. 또한 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스를 제공하고, 장애에 대한 복구 기능, 사용자 권한에 따른 보안성 유지 기능 등을 제공한다. 즉, 데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서, 자료의 중복성을 제거하고 다른 특징들 중에 무결성, 일관성, 유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계이다.

장점
- 자료와의 관계성을 정의하기 때문에 자료의 통합성을 증진시킨다.
- 데이터의 접근성이 용이하다.
- 데이터 통제가 강화되며, 애플리케이션 프로그램들을 쉽게 개발하고 관리할 수 있다.
- 보안이 강화된다는

유형
 - 관계형 데이터베이스 관리 시스템(RDBMS)
 - NoSQL DBMS
 - 인 메모리 데이터베이스 관리 시스템(IMDBMS)
 - 기둥형 데이터베이스 관리 시스템(CDBMS)

 

3. 관계형 데이터베이스(RDBMS)란?

테이블과 같이 열과 행으로 데이터를 구성하는 데이터베이스 시스템

장점
- 직관적이다.
- 테이블 간의 관계파악이 쉽다.
- 정확하다.

단점
- 성능 향상을 위한 비용이 많이 든다.
- 처음 설계가 중요하다. 사전에 데이터베이스 설계를 잘못하게 되면 수습이 어렵다.
(수백만 유저가 있다고 할 때 행이나 열을 하나라도 추가한다면...)

*성능향상?

- Scale Up : 사양 업그레이드 -> 수직 확장
- Sclae Out : 장비 추가로 확장 -> 수평 확장

SQL(Structured Query Language)
SQL은 구조적 질의 언어의 줄임말로, 관계형 데이터베이스 시스템에서 자료를 관리하고 처리하기 위해 설계된 언어이다.
사전에 잘 정의하여 잘 구조화된 관계형 데이터베이스를 조작할 떄 사용된다.
쿼리문이라고도 부른다.

//쿼리문 예시
SELECT *
FROM Reservation

SELECT * 
FROM CUSTOMER
WHERE NAME="홍길동"

 

4. 비관계형 데이터베이스(NoSQL)란?

NoSQL === Not Only SQL

RDMS를 제외한 나머지 전부를 비관계형 데이터베이스라고 한다.
(관계형 데이터베이스 === SQL 이 아닌 모든 곳에서 사용되므로 NoSQL 이라고도 한다.)
사전에 구조를 정의하는 관계형 데이터베이스와 다르게 유연하게 데이터를 쓰고 읽을 수 있다.

왜 NoSQL이 나왔을까?
정형화된 데이터 뿐 아니라 다양한 데이터를 축적하게 되면서 데이터의 복잡도와 양이 늘어나게 되고, 기존 RDBMS의 장점인 정확성이 그렇게 중요하지 않게 되었습니다.

NoSQL 데이버테이스의 유형
1) Key-Value 데이터베이스
2) Document 데이터베이스 
Mongo DB, Firebase
3) Coulum 데이터베이스

 

5. SQL VS NoSQL

  SQL(RDBMS) NoSQL
데이터 저장 구조 열과 행이 있는 테이블 Key-Value, document, column 등 다양함
데이터 사전 정의 엄격하게 coulmn에 대한 정의 필요 SQL보다 유연하다
확장 Scale Up(수직 확장) Scale Out(수평 확장)

 

참고자료
https://tecoble.techcourse.co.kr/post/2021-10-12-scale-up-scale-out/

https://m.blog.naver.com/sundooedu/221301384166

반응형

댓글