database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Tutorials 4900 게시물 읽기
No. 4900
자습서 - 1. 시작하기 - 1.2 기본 구조
작성자
김상기(ioseph)
작성일
2003-09-08 00:24ⓒ
2003-09-08 02:32ⓜ
조회수
9,879

원문: http://database.sarang.net/database/postgres/manual/manual-7.3/tutorial-arch.html

옮긴이: 김상기

1.2. 기본 구조

이 섹션에서는 PostgreSQL의 시스템 구조에 대한 기초적인 이야기를 다루고 있습니다. PostgreSQL의 작동 원리를 기초적이나마 이해하고 있는 것은 이 장을 읽어가는데 도움을 줄 것입니다.

 

데이터베이스 전문용어로, PostgreSQL은 클라이언트/서버 모델을 사용하고 있습니다. 하나의 PostgreSQL 세션(작업)은 다음과 같은 프로세스들(프로그램들)의 상호 작동으로 구성됩니다: 

  • 서버 프로세스: 이것은 데이터베이스 파일을 관리하고, 클라이언트 응용 프로그램들이 서버에 연결을 요청할 때, 그 요청들을 처리(수락하거나 거부하는 일)하고, 클라이언트들이 데이터베이스를 사용할 수 있도록 기반 작업들을 준비합니다. 이 프로세스의 이름은 postmaster 입니다.

  • 클라이언트 프로세스: 이것은 데이터베이스를 사용하려는 사용자 측 응용 프로그램을 말합니다. 클라이언트 응용 프로그램은 자연적으로 매우 다양한 형태를 띄고 있습니다. 어떤 것은 완벽한 텍스트 기반의 프로그램이기도 하고, 어떤 것은 그래픽 환경이기도 하고, 어떤 것은 웹기반이기도 하지요. 몇 클라이언트 프로그램들은 이미 PostgreSQL 패키지 안에 포함되어서 배포되기도합니다. 이것들은 대부분 사용자들이 직접 개발한 것들이지요.

클라이언트/서버 환경의 프로그램들은 대부분 그렇듯이, PostgreSQL에서도 클라이언트와 서버가 각기 서로 다른 호스트일 수 있습니다. 이런 경우에는 서로간의 통신이 TCP/IP 네트워크 기반 아래서 이루워집니다. 이 부분은 아주 중요한 부분을 시사하고 있습니다. 클라이언트와 서버가 서로 틀릴 경우에는 클라이언트에서 접근하고자 하는 데이터베이스 파일에 대해서 직접적으로 접근할 수 없음을 의미합니다. 즉, 클라이언트에서 접근 할 수 있는 파일은 그 클라이언트가 실행되고 있는 호스트의 파일이지 서버가 가동 중인 호스트의 파일이 아님을 인식하고 있어야합니다.

 

PostgreSQL 서버는 사용자의 다중 접속을 위해서 각 접속에 대해서 새로운 프로세스를 할당합니다(전문적인 용어로 fork를 이용한 자식 프로세스 생성이라고도 하지요). 이 방법은 클라이언트와 새로 만들어진 서버 프로세스간의 작업이 있을 때, 서버의 부모 프로세스 격인 postmaster 프로세스의 간섭 없이 작업이 이루워짐을 의미합니다. 종합하면, postmaster 프로세스는  서버 호스트에서 항상 실행되고 있으면서, 클라이언트의 접속 요청을 처리해서 새로운 자식 서버 프로세스 (일반적으로 postgres 라고 합니다)를 만드는 역활을 합니다. 물론 이 모든 작업들은 사용자가 관심을 가지고 살펴보지 않는 이상 서버 차원에서 자동으로 이루워지는 부분입니다. 단지 여기서는 기초적인 개념 설명을 위해서 언급했습니다.

이 글에 대한 댓글이 총 2건 있습니다.

최... 최고! -_-)=b

끝까지 해주세여~ ㅋㅋ

신기배(nonun)님이 2003-09-08 10:22에 작성한 댓글입니다.

감사히 잘 보겠습니다.

김은진(byulii)님이 2008-07-31 10:12에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4908자습서 - 1. 시작하기 - 1.4 데이터베이스 사용하기
김상기
2003-09-08
8897
4906자습서 - 1. 시작하기 - 1.3 데이터베이스 만들기
김상기
2003-09-08
10628
4900자습서 - 1. 시작하기 - 1.2 기본 구조 [2]
김상기
2003-09-08
9879
4898자습서 - 1. 시작하기 - 1.1 설치
김상기
2003-09-07
9818
4896자습서 - 서문 [1]
김상기
2003-09-07
7029
47627.2.x 대에서 replace 함수 구현하기
김상기
2003-06-20
6137
4708PostgreSQL에서 Oracle 의 nvl() 함수 구현하기 [2]
정재익
2003-05-15
9376
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다