DBMS는 데이터베이스 관리 시스템(Database Management System의 약자이다. DBMS는 데이터베이스를 생성하고 조작하는 데 사용된다. 데이터베이스는 구조화된 정보를 저장하고 관리하는 데 사용되며, DBMS는 이러한 데이터베이스를 효율적으로 관리하고 사용자 또는 응용 프로그램이 데이터에 액세스할 수 있도록 도와준다.
1. DBMS 의 연결 과정
DBMS 의 구조이다. 클라이언트가 DBMS 에 자료를 요청하면 , RAM 에서 자료를 찾게 된다.
RAM 에서 자료가 없다면 HDD 에서 데이터를 찾게 되는데, 하드디스크에는 그림처럼 FS(File System) 과 DBS(DataBase System) 로 나뉘어진다. 이유는 하드디스크는 자료를 파일 형태로 저장하게 되는데, 파일 형태는 데이터베이스에서 관리가 어렵다. 따라서 DBS 라는 공간을 따로 마련해 데이터베이스를 테이블 형태로 보관한다.
데이터베이스는 테이블 형태로 저장된다.
접속할 때는 우선 데이터베이스의 IP와 포트번호가 필요하다. 마리아DB 의 포트번호는 3306 이고, 이 번호는 리스너 포트 번호이다. 클라이언트와 연결이 완료되면 해당 소켓과의 연결은 종료되고 새로운 소켓과 연결된 후 통신이 시작된다.
클라이언트와 데이터베이스가 연결되는 과정에서 IP와 포트 번호 외에 다른 정보가 필요하다. 데이터에 접근 권한이 있는지 확인이 되어야 하기 때문에 아이디와 패스워드가 필요하다. 또 어떤 방식으로 소통할지에 대한 약속도 필요하기 때문에 프로토콜이 필요하다.
데이터베이스에 접근하기 위해 필요한 5가지 : IP , 포트 번호, 아이디, 패스워드 ,프로토콜
HeidiSQL 툴을 실행했을 때 IP, 포트 번호, 아이디 , 패스워드 값을 입력 받는다.
2. 클라이언트와 DBMS 의 통신 과정
클라이언트가 데이터베이스에 select 쿼리를 보낸다. 이때 데이터베이스에서 자료를 찾는 과정은 다음과 같다.
① 클라이언트와 데이터베이스가 연결된 후, 클라이언트가 원하는 쿼리문을 통해 데이터베이스에 자료를 요청한다. 이때 BufferedWriter 를 사용한다.
② 연결된 소켓에서 BufferedReader 를 통해 쿼리문을 받는다.
③ 쿼리문을 파싱(Parsing)한다. 파싱은 주어진 데이터를 이해할 수 있는 형태로 분석하는 것을 의미한다.
④ RAM 에서 데이터를 찾는다. 만약 데이터가 없다면 하드디스크(HDD) 에서 찾는다.
⑤ HDD의 DBS 에서 주어진 정보를 찾는다. 찾은 정보는 RAM 으로 전송한다.
⑥ RAM 으로 올라온 데이터를 클라이언트에게 보낸다.
⑦ DBMS 가 보낸 자료는 테이블형 자료다. 자바에서 이 데이터를 받으면 파싱 후 자바의 오브젝트에 저장한다. 저장할 때 받을 수 있는 자료형은 클래스 뿐이다.
3. 동일한 데이터를 재요청을 하게 된다면?
만약 클라이언트가 바나나를 다시 요청한다면 그림과 같다.
④의 RAM 에서 데이터를 찾을 때, 이미 데이터가 RAM 에 있기 때문에 HDD 에서 자료를 찾지 않고 전송할 수 있다. 이것을 캐싱(Caching)이라고 한다. 하드디스크와 RAM 사이의 I/O 과정이 없기 때문에 더 빠른 전달이 가능하다.
캐싱(Caching) : 데이터나 계산 결과를 더 빠르게 접근하기 위해 임시로 저장하는 기술이나 메커니즘
DBMS 는 클라이언트가 요청을 하면 응답을 하고 종료되기 때문에 반이중 통신이다.
Share article