IT - Introduction to Computer Science

[IT지식] DBMS & DB system 이란?

개발자하소서 2023. 9. 5. 13:40
728x90
반응형
SMALL

 

📌 DBMS란?


- DataBase Management System 

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

 

 

 

여기서 대표적인 DBMS를 살펴보자면 다음과 같다. 

 

 

Postgre SQL

 

 

MySQL

 

 

ORACLE

 

 

SQL Server

 

 

 

DBMS는 앞서말했듯이 

 

사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공한다. 

 

그런데 이렇게 DB를 정의하다보면 부가적인 데이터가 발생할 수 있는데, 

 

이 부가적인 데이터를 바로 MetaData라고 한다. 

 

 

📌 MetaData란?


- database를 정의하거나 기술하는(descriptive) data

- catalog(데이터베이스의 메타데이터가 저장되는 곳)라고도 부름 

- (Ex) 데이터 유형, 구조, 제약 조건, 보안, 저장, 인덱스, 사용자 그룹 등등 

- metadata 또한 DBMS를 통해 저장, 관리 된다. 

 

 

이 metadata라는 용어는 데이터베이스만 사용되는 용어는 아니고, 

 

일반적으로도 많이 쓰는데

 

원래 의미는 data about data 라고 해서 

 

데이터를  설명하기 위한 데이터를  MetaData 라고 한다. 

 

예를 들어 우리가 사진을 찍으면 그 사진의 해상도가 얼마인지 

 

그 사진의 포맷은 또 무엇인지, 그 사진이 언제 찍혔는지

 

이렇게 그 사진과 관련된 부가적인 정보들이 있는데, 

 

이와 같은 정보들은  사진이라는 데이터를 설명하는  데이터이기 때문에 

 

이런 종류의 데이터들을 메타데이터라고 부르는 것이다. 

 

 

 

 

그러면   database system이란 뭘까?

 

 

📌 Database System란?


- database + DBMS + 연관된 Applications

- 줄여서 DataBase라고도 부름 

 

 

이는 데이터베이스와 데이터베이스를 관리할 수 있도록 하는 DBMS, 

 

그리고 이 데이터베이스와 연관된 어플리케이션을 통틀어 DataBase System이라고 한다. 

 

이는 줄여서 Database라고 부르기도 하는데, 

 

순수하게 그 데이터 자체를 의미하는 것인지

 

아니면 데이터 베이스 시스템을 의미하는 것인지 

 

문맥에 따라 DataBase가 무엇을 의미하는 지를 잘 파악하여야 한다. 

 

 

Database System

 

 

 

만약 백엔드 개발자가 어떤 어플리케이션 프로그램을 만들었다고 가정한다면, 

 

이 프로그램에는 데이터베이스에 접근하기 위한 여러가지 *쿼리들이 있을 것이다. 

 

(여기서 *쿼리라는 것은 데이터베이스에 접근해서 원하는 데이터를 가져오거나 혹은 원하는 형태로 데이터를 수정하는 그런 요청과 같은 거라고 이해하면 된다. )

 

그러면 이런 프로그램들에 쿼리를 날리게 되면 

 

데이터베이스의 매니지먼트 시스템이 

 

그 쿼리를 받아서 일단 그 쿼리가 무엇을 의미하는 지를 해석을 하게 되고,

 

쿼리가  요청한 것이 무엇인지 파악이 되면 이제 그 요청을 처리를 하는 것이다. 

 

그 요청을 처리하기 위해서는 요청된 그 데이터가 어떤 형태로 되어있는 지 

 

그런 부가적인 정보를 알아야 데이터를 읽어올 수 있으니 

 

부가적인 정보(Meta Data)를 먼저 확인 한 뒤에 

 

그 부가적인 정보를 바탕으로 실제 요청받은 데이터를 찾아서 

 

그 데이터를 어플리케이션에게 돌려주는 형태로 동작을 하게 된다. 

 

이것이 전체적인 데이터베이스 시스템이 동작하는 방식이다. 

 

 

 

 

 

📌해당 글은 '쉬운코드' 유튜브영상을 보고 작성하였습니다.

 
728x90
반응형
LIST