본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 - 3장 데이터베이스 서버 + 1 ~ 3장 정리

by yongckim 2022. 8. 20.
728x90
반응형

클라이언트/서버 모델

클라이언트/서버 모델이란 사용자 조작에 따라 요청을 전달하는 ‘클라이언트'와 해당 요청을 받아서 처리하는 ‘서버'로 소프트웨어를 나누고 복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템을 말합니다.

RDBMS는 복수의 클라이언트가 보내오는 요청에 응답할 수 있도록 클라이언트/서버 모델로 동작합니다.

클라이언트/서버 처리 흐름

웹 시스템에서 클라이언트 기능을 하는 브라우저 사용자가 지정한 URL과 연결된 웹 서버에 요청을 보냅니다.

이 요청을 웹 용어로 Request(요청)라고 부릅니다.

클라이언트의 요청을 받은 웹 서버에서는 그에 맞게 처리하고 브라우저가 요청한 내용에 대해서 데이터를 반환합니다.

이런 서버의 응답을 Response(응답)라고 부르며 내용을 전달받은 브라우저는 해당 내용을 표시하게 됩니다.

실제 웹에서는 이런 요청과 응답이 계속해서 되풀이 되면서 웹 페이지가 표시됩니다.

웹 애플리케이션의 구조

웹 애플리케이션은 일반적으로 웹 서버와 데이터베이스 서버의 조합으로 구축됩니다.

앞서 설명한 것 처럼 웹 시스템은 클라이언트 서버 모델로 구성되며, 브라우저가 클라이언트 아파치나 IIS와 같은 웹 소프트웨어가 서버 역할을 합니다.

클라이언트가 서버에게 요청하면 웹 서버는 클라이언트에게 응답합니다.

만약, 웹 사이트가 정적인 파일인 HTML로만 구성되어 있다면 웹 서버만으로도 시스템을 구축할 수 있을 것입니다.

하지만, 웹 애플리케이션이라 부를 정도의 규모라면 데이터베이스를 사용하여 서비스를 할 것입니다.

웹 서버에서 데이터를 사용하여 동적으로 HTML을 생성하기 위해서는 제어용 프로그램이 필요한데 이를 CGI라고 부릅니다.

대표적으로 펄, PHP, 루비 등의 스크립트 언어와 .NET, 자바 Servlet와 같은 프로그래밍 언어도 많이 사용됩니다.

이 CGI 프로그램이 데이터베이스와 연결을 하고 SQL 명령을 전달하게 됩니다.

즉 CGI 프로그램이 데이터베이스의 클라이언트가 됩니다.

또한 웹 서버와 데이터베이스 서버가 네트워크로 연결되어 있다면 서로 다른 서버에 두어 각각 시스템의 부하를 줄이고 이로 인해 성능이 향상될 수 있습니다.

실제로, 대규모 시스템에서는 서버나 데이터베이스 서버를 여러대로 구성하여 운용하는 경우도 많습니다.

클라이언트/서버 모델은 유연한 하드웨어 구성을 만들어 줄 수 있기 때문에 좋습니다.

데이터베이스

비 휘발성 장치에 저장되는 영속된 데이터의 집합입니다. 단지 저장만 하는 데 그치지 않고 용이한 검색을 실현하도록 정리해줍니다.

DBMS

데이터베이스를 관리하는 소프트웨어입니다.

RDBMS

데이터베이스를 관계형 모델로 관리하는 소프트웨어입니다.

SQL

RDBMS에서 데이터를 조작하는 명령입니다.

SQL 방언

데이터베이스 제품 종류는 다양하며, 경우에 따라 표준과 다른 SQL 명령을 사용하기도 하는데 이를 SQL 방언이라고 부릅니다.

데이터베이스 서버

RDBMS는 일반적으로 클라이언트/서버 모델로 구성됩니다. 클라이언트는 데이터베이스 서버에 접속해 SQL명령을 실행하여 데이터베이스를 조작할 수 있습니다.

반응형