DB

[DB] 데이터가 데이터베이스(DB)에 저장되는 과정

kKkKkKWJ 2024. 7. 10. 21:59

*작성자는 공부 중인 학생으로 잘못 된 정보가 있을 수 있음을 알려드립니다.

 

데이터베이스의 처리 과정을 회원가입의 예시로 생각해보자.

 

브라우저에서 회원 정보를 입력하고 사용자는 확인 버튼을 누른다.

그렇게 되면 데이터베이스에 회원 정보가 저장이 되고,

처리된 결과를 사용자가 전송 받게 된다.

 

이 과정을 조금 더 상세하게 들여다 보자.

 

 

사용자가 입력한 데이터가 DB에 저장되기 까지는

Presentation Layer, Application Layer, Data Layer 라는

총 3개의 레이어를 거쳐서 DB에 저장된다.

 

클라이언트가 보낸 요청이 각 레이어를 거치며

알맞은 형태로 변화하고, 최종적으로는 SQL문으로 변화하여 DB에 반영된다.

이후, DB에서 처리된 결과를 클라이언트에게 전송한다.

 

회원 가입 예제를 통해서 각 단계에서 변화하는 형태와 전체적인 흐름을 더 상세하게 알아보자.

위의 그림을 보면서 이해하면 이해하기 쉬울 것이다.

 

1 ) 클라이언트가 회원 가입 요청을 보낸다.

2 ) Presentation Layer가 요청을 받아서 처리한다.

3 ) Presentation Layer는 Application Layer에게 HTTP 요청한다.
4 ) Application Layer는 요청을 받아 Java로 요청을 처리하고, SQL문을 생성하여 Data Layer로 전송한다.

5 ) Data Layer는 SQL문을 DataBase로 전송한다.

6 ) DataBase는 SQL문을 데이터베이스에 반영한다.

7 ) DataBase는 처리 결과를 ResultSet형태로 DataLayer에 전달한다.

8 ) DataLayer는 처리 결과를 Java 객체 또는 컬렉션 형태로 Application Layer에 전달한다.

9 ) Application은 처리 결과를 HTML 또는 JSON형태로 Presentation Layer로 전송한다.

10 ) Presentation Layer가 HTML을 클라이언트에게 반환한다.

 

전체적인 흐름은 설명이 되었으니,

각 Layer별로 역할을 다시 한 번 이해해 보자.

 

Presentation Layer

 - 클라이언트가 회원가입 요청을 보내면 이를 받아서 처리

 - 클라이언트에서 보낸 데이터를 처리

 - HTML로 작성된 웹페이지를 클라이언트에게 반환

 

Application Layer

 - 회원 가입 요청을 Java로 처리한 후 SQL문을 생성

 - 클라이언트에서 받은 데이터를 SQL문으로 변환하여 DB로 전송

 - 데이터베이스로부터 응답을 받아 다시 HTML 형식으로 변환하여 클라이언트에게 전송

 

Data Layer

 - Application Layer에서 보낸 SQL문을 데이터베이스에 전달

 - 데이터베이스의 데이터를 조회하거나 변경하는 작업을 수행

 

DataBase

 - 실제 데이터를 저장하고 관리하는 시스템

 


 

추가적으로 위 그림에서 보면

Client, WebServer, WAS, DB에 대한 표시가 있는데

이에 대한 개념은 웹 애플리케이션 게시물을 참고하면 된다.

 

Presentation Layer는 Web Server 영역으로

이는 이전에 백엔드 영역에 속했지만

최근 Node.js가 등장하여 Javascript로 서버의 개발이 가능해지면서

백엔드와 프론트엔드의 경계가 흐릿해졌고

오히려 프론트엔드에 가까워졌다고 할 수 있다.

 

따라서, Presentation Layer는 Front영역으로,

Application Layer, Data Layer, DataBase는 Back영역으로 그림을 그렸다.