데이터베이스와 서버
RDBMS는 복수의 클라이언트가 보내는 요청에 응답할 수 있도록 클라이언트/서버 모델로 동작한다.
클라이언트/서버 모델
- 요청(request)을 전달하는 클라이언트 / 요청을 받아 처리(response)하는 서버
- 클라이언트는 데이터베이스 서버에 접속해 SQL 명령을 실행한다.
- 단, RDBMS는 웹과 다르게 사용자 인증이 필요하다.
: 인증 후 RDBMS에 접속 - 이후 인증을 유지하여 재접속 없이 SQL 명령을 여러 번 보낼 수 있다.
웹 애플리케이션의 구조
- 웹 애플리케이션 : 웹 서버 + 데이터베이스 서버
- 웹 서버에서 동적으로 HTML을 처리하기 위해 CGI라는 동적 콘텐츠 확장 방식을 사용한다.
- 실제 DB에 접속하는 것은 웹의 CGI 프로그램
: 웹 서버의 CGI 프로그램 = 데이터베이스의 클라이언트
- 웹 서버와 DB 서버를 다른 머신에 두어 분산 처리를 통해 시스템 전체 성능 향상을 구현한다. (=유연한 하드웨어 구성 실현)
MySQL 서버와 Mysql 클라이언트
- PC에서 서버와 클라이언트를 모두 사용할 수 있다.
- 클라이언트/서버 모델을 통해 클라이언트가 많아져 서버 능력이 부족해지면 추가로 설치하는 등, 부하 분산을 통한 성능 향상이 가능하다.
- 단, 네트워크 기능이 필요하다
: 네트워크를 경유하여 PC 서버로 돌아오는 '루프 백 접속'을 통해 네트워크를 사용한다.