DBMS(Database Management System) 란?

Jan 19, 2024
DBMS(Database Management System) 란?
 
DBMS는 데이터베이스 관리 시스템(Database Management System의 약자이다. DBMS는 데이터베이스를 생성하고 조작하는 데 사용된다. 데이터베이스는 구조화된 정보를 저장하고 관리하는 데 사용되며, DBMS는 이러한 데이터베이스를 효율적으로 관리하고 사용자 또는 응용 프로그램이 데이터에 액세스할 수 있도록 도와준다.

1. DBMS 의 연결 과정

 
 
notion image
 
DBMS 의 구조이다. 클라이언트가 DBMS 에 자료를 요청하면 , RAM 에서 자료를 찾게 된다.
RAM 에서 자료가 없다면 HDD 에서 데이터를 찾게 되는데, 하드디스크에는 그림처럼 FS(File System) 과 DBS(DataBase System) 로 나뉘어진다. 이유는 하드디스크는 자료를 파일 형태로 저장하게 되는데, 파일 형태는 데이터베이스에서 관리가 어렵다. 따라서 DBS 라는 공간을 따로 마련해 데이터베이스를 테이블 형태로 보관한다.
 
💡
데이터베이스는 테이블 형태로 저장된다.
 
 
notion image
 
접속할 때는 우선 데이터베이스의 IP와 포트번호가 필요하다. 마리아DB 의 포트번호는 3306 이고, 이 번호는 리스너 포트 번호이다. 클라이언트와 연결이 완료되면 해당 소켓과의 연결은 종료되고 새로운 소켓과 연결된 후 통신이 시작된다.
 
notion image
클라이언트와 데이터베이스가 연결되는 과정에서 IP포트 번호 외에 다른 정보가 필요하다. 데이터에 접근 권한이 있는지 확인이 되어야 하기 때문에 아이디패스워드가 필요하다. 또 어떤 방식으로 소통할지에 대한 약속도 필요하기 때문에 프로토콜이 필요하다.
 
💡
데이터베이스에 접근하기 위해 필요한 5가지 : IP , 포트 번호, 아이디, 패스워드 ,프로토콜
 
 
notion image
 
 
HeidiSQL 툴을 실행했을 때 IP, 포트 번호, 아이디 , 패스워드 값을 입력 받는다.
 

2. 클라이언트와 DBMS 의 통신 과정

notion image
 
클라이언트가 데이터베이스에 select 쿼리를 보낸다. 이때 데이터베이스에서 자료를 찾는 과정은 다음과 같다.
 
notion image
① 클라이언트와 데이터베이스가 연결된 후, 클라이언트가 원하는 쿼리문을 통해 데이터베이스에 자료를 요청한다. 이때 BufferedWriter 를 사용한다.
 
② 연결된 소켓에서 BufferedReader 를 통해 쿼리문을 받는다.
 
③ 쿼리문을 파싱(Parsing)한다. 파싱은 주어진 데이터를 이해할 수 있는 형태로 분석하는 것을 의미한다.
 
④ RAM 에서 데이터를 찾는다. 만약 데이터가 없다면 하드디스크(HDD) 에서 찾는다.
 
⑤ HDD의 DBS 에서 주어진 정보를 찾는다. 찾은 정보는 RAM 으로 전송한다.
 
⑥ RAM 으로 올라온 데이터를 클라이언트에게 보낸다.
 
⑦ DBMS 가 보낸 자료는 테이블형 자료다. 자바에서 이 데이터를 받으면 파싱 후 자바의 오브젝트에 저장한다. 저장할 때 받을 수 있는 자료형은 클래스 뿐이다.
 
 

3. 동일한 데이터를 재요청을 하게 된다면?

 
notion image
 
만약 클라이언트가 바나나를 다시 요청한다면 그림과 같다.
④의 RAM 에서 데이터를 찾을 때, 이미 데이터가 RAM 에 있기 때문에 HDD 에서 자료를 찾지 않고 전송할 수 있다. 이것을 캐싱(Caching)이라고 한다. 하드디스크와 RAM 사이의 I/O 과정이 없기 때문에 더 빠른 전달이 가능하다.
 
💡
캐싱(Caching) : 데이터나 계산 결과를 더 빠르게 접근하기 위해 임시로 저장하는 기술이나 메커니즘
💡
DBMS 는 클라이언트가 요청을 하면 응답을 하고 종료되기 때문에 반이중 통신이다.
Share article

{CODE-RYU};