티스토리 뷰

MySQL - 관계형데이터베이스(RDBMS)와
 서버/클라이언트 구조

 MySQL은 오픈소스 커뮤니티에서 만들어진 RDBMS입니다. 관계형 데이터 베이스는 대부분 클라이언트/서버 모델을 도입하여 가동되게 됩니다. 많은 SQL중에서도 오픈소스이면서도 자주 사용되는 MySQL을 학습해 보기로 했습니다. (교재는 아사이 아츠시의 SQL첫걸음을 사용했습니다.)

 일반적인 RDBMS는 네트워크 상에 하나의 서버를 두고 독점해서 사용한다. 하지만 개인이 공부할때는 그런 상황이 안되므로 한개의 PC에서 서버와 클라이언트 두개를 운용할 수 있다.

 서버/클라이언트 모델은 유저들이 요청(Request)을 전달하는 클라이언트. 요청을 받아 처리,응답(Response)하는 서버로 소프트웨어가 나뉘며 여러개의 컴퓨터에서 하나의 모델을 구현한다.

 접속시 RDBMS의 클라이언트/서버에서는 사용자인증이 필요하다. 각각의 사용자 별로 데이터베이스에 접근할 수 있는 권한을 달리할 수 있기 때문이다. 아무나 DB에 접근불가하도록 하는 것이겠죠? 인증은 ID와 PW로 할 수 있습니다.

  접속이 완료되었다면 SQL명령을 사용해서 DB를 사용합니다. 한번 접속인증이되면 재접속없이 여러번 SQL명령 사용이가능합니다. 물론 사용이 끝나고 종료하면 접속이 끊기게 됩니다.

 웹 어플리케이션에서는 브라우저가 클라이언트, 아파치 같은 웹SW가 서버역할을 한다. 일반적으로 웹애플리케이션이라면 HTML을 동적으로 생성해야하기 때문에 CGI라고 불리는 확장 방식을 사용해서 연동,통신 처리하게된다.(언어로는 Perl,PHP,Ruby,ASP.NET,Servlet) 실제로 DB에 접속하는 녀석은 PHP,루비 등으로 만들어진 CGI프로그램이다.

MySql DB

 DB서버접속→SQL명령→응답, 이때 웹 서버에있는 CGI프로그램이 DB의 클라이언트가 되는 것이다. 왜냐먄 실제로 접속하는 것이 바로 CGI프로그램이기 때문에! 그리고 위 그림에서는 서버가 한 개이지만 여러개로 운용할 수도 있다.

 여기까지 관계형데이터베이스의 기본 개념을 공부해보았습니다. 다음 포스팅 부터는 실제 SQL명령을 통해 학습을 해보도록하겠습니다.

댓글
댓글쓰기 폼