2022. 6. 13. 13:38ㆍ정처기(필기)/프로그래밍언어활용
(1) 웹 서버
1. 웹 서버의 개념
- 웹 서버는 웹 브라우저로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
- 대다수의 웹 서버는 ASP, PHP 등의 서버 사이드 스크립트 언어를 지원한다.
▼ 정적/동적 콘텐츠
- 정적 콘텐츠 : 미리 생성된 페이지를 사용자 요청에 의해 바로 응답하는 콘텐츠
- 동적 콘텐츠 : 서버사이드 스크립트 언어를 이용하여 사용자 요청에 의해 생성되는 콘텐츠
2. 웹 서버의 기능
특징 | 설명 |
HTTP | HTTP의 요청과 응답에 대한 처리 수행 |
통신 기록 | 처리 기능을 로그화시켜서 추적성 보장 |
인증 | 허용된 사용자나 관리자만 접근할 수 있도록 인증기능 제공 |
HTTPS 지원 | 웹 서버에서는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하고, 데이터의 적절한 보호를 보장하는 HTTPS를 지원 |
가상 호스팅 | 기본적 호스트인 메인 호스트를 제외한 나머지 호스트 |
대역폭 제한 | 네트워크의 과부하를 막기 위해서 품질 보장을 보장하는 대역폭 제한 가능 |
3. 웹 서버 주요 제품
- 아파치 웹 서버 : 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버로 BSD, 리눅스 등 유닉스 계열뿐 아니라 마이스크로소프트나 노벨 넷웨어 같은 기종에서도 운용할 수 있는 웹 서버
- 마이크로소포트의 IIS : 마이크로소프트 윈도우를 사용하는 서버들을 위한 인터넷 기반 서비들의 모임으로 구성된 제품
- 구글 웹 서버(GWS) : 구글 웹 서버는 구글이 자사의 웹 서비스에 사용하고 있는 웹 서버 소프트웨어
(2) DB 서버
1. 데이터베이스 관리 시스템
- 다수의 사용자들이 데이터베이스 내의 데이터를 접근하여 편리하게 이용할 수 있도록 해주는 소프트웨어 도구의 집합
2. 데이터베이스 관리 시스템(DBMS) 아키텍처
- DBMS 서버는 인스턴스 및 데이터베이스로 구성된다. 인스턴스는 메모리 부분과 프로세스 부분으로 구성된다.
- 그 외 데이터베이스의 시작과 종료를 위한 DBMS 환경을 정의한 매개변수 파일과 파일 목록을 기록한 제어 파일이 있다.
3. 데이터베이스 서버의 기동 및 종료
- 데이터베이스를 사용하려면 권한을 가진 DBMS 관리자가 우선적으로 DBMS 인스턴스를 시작해야 한다.
- 인스턴스를 시작하면 인스턴스와 데이터베이스에 대한 구성 매개변수의 목록이 있는 매개변수 파일을 읽는다.
- 데이터베이스 서버 기동 : 인스턴스 시작 -> 데이터베이스 마운트 -> 데이터베이스 오픈 순으로 진행
- 데이터베이스 서버 종료 : 데이터베이스 담기 -> 마운트 해제 -> 인스턴스 종료 순으로 진행
4. 데이터베이스 서버의 구성요소
구성요소 | 설명 |
데이터 딕셔너리 | 연관된 데이터베이스 정보를 제공하는 읽기 전용 테이블 또는 뷰의 집합 |
테이블 스페이스, 데이터 파일 |
데이터는 논리적으로 테이블 스페이스와 물리적으로 해당 테이블스페이스와 연관되어 있는 데이터 파일에 저장 |
데이터베이스 영역 할당 | 데이터베이스 관리 시스템은 데이터베이스의 모든 데이터에 대한 논리적 데이터베이스 영역을 할당, 할당 단위는 데이터 블록, 확장 영역, 세그먼트 |
데이터베이스 관리 시스템 메모리 | 데이터베이스 관리 시스템은 실행되는 프로그램 코드, 세션 정보, 교환 정보, 캐시 데이터 정보를 저장하기 위해 메모리를 사용 |
데이터베이스 버퍼 | 데이터 파일로부터 읽어 들인 데이터 블록의 복사본을 가지고 있음 |
로그 버퍼 | 데이터베이스의 변경 사항 정보를 저장 |
공유 풀과 정렬 영역 | 공유 풀과 정렬 영역을 메모리 영역에 가지고 있음 |
DBMS 프로세스 | 사용자 프로세스, 서버 프로세스, 백그라운드 프로세스로 구성 |
5. 오라클 DB 서버 구조
[1] 프로세스
- 서버 프로세스 : 사용자 프로세스와 통신하면서 사용자의 각종 명령어를 처리하는 프로세스
- 백그라운드 프로세스 : 서버 프로세스가 하는 일 외에 데이터 파일을 읽어서 DB 버퍼 캐시에 적재
[2] 디스크(물리적 영역)
- 데이터 파일 : 디스크에는 데이터베이스가 여러 데이터 파일들로 구성되어 있고, 각각 데이터 파일은 여러 개의 블록으로 구성되어 있음
- 임시 데이터 파일 : 대량의 정렬이나 해시 작업을 수행하다가 메모리 공간이 부족해지면 중간에 결과 집합을 잠시 저장하는 용도로 사용되는 파일
- 로그 파일 : 캐시에 저장된 변경사항이 기록되지 않은 상태에서 장애 발생으로 데이터 파일로 기록하지 못한 정보가 없어진 경우, 복구하기 위해서 사용
- 컨트롤 파일 : 데이터베이스에 사용할 모든 파일들의 절대 경로와 파일 크기 등의 정보를 저장하고 있고, 파일들의 이상 유무를 확인하기 위해서 항상 참조되는 파일
- 파라미터 파일 : 공유 메모리 영역의 할당 범위,컨트롤 파일의 경로와 데이터베이스의 환경 설정 등 관련된 모든 정보를 담고 있는 파일
[3] 메모리 영역
▼ 공유 메모리 영역
- DB 버퍼 캐시 : 디스크에 있는 데이터 파일로부터 읽은 데이터 블록을 담고 있는 캐시 영역
- 공유 풀 : 딕셔너리 캐시와 라이브러리 캐시로 구성되어 있음
- 로그 버퍼 : DB버퍼 캐시에 가해지는 모든 변경 사항은 로그 파일에 기록
!!여기서 잠깐!!
캐시(Cache)란?
- 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소
▼ 프로세스 전용 메모리 영역
- UGA : 하나의 프로세스가 여러 개의 세션을 위한 독립적인 메모리 공간이 필요해지는데, 이 때 사용하는 영역
- CGA : 프로세스 전용 메모리 영역에 할당되는 메모리 공간
- 정렬 공간 : 데이터 정렬을 위해 사용되는 공간
6. MySQL DB 서버 구축
- 다양한 운영체제에서 사용할 수 있으며, 여러 가지 프로그래밍 언어를 지원하고 크기가 큰 데이터 집합도 빠르고 효과적으로 처리 가능(다중 스레드, 다중 사용자 형식의 DBMS)
7. MariaDB 서버 구축
- 오픈 소스의 관계형 데이터베이스 관리 시스템이며 MySQL과 동일한 소스 코드 기반으로 GPL v2 라이선스를 적용받는다.
- 자동으로 스레드 개수를 조절하는 스레드 풀을 지원한다.
- 하나의 서버가 여러 대의 마스터를 가지고 복제본으로 연결되는 구조를 가진다.
(3) 패키지
1. 패키지 개념
- 패키지는 컴퓨터에서 사용자에게 특정 기능을 수행하도록 설계된 프로그램이나 프로그램 집합
- 패키지 소프트웨어란 이용도가 높은 프로그램이나 업무에 적합한 프로그램들을 묶어서 상품으로 제공하고 있는 소프트웨어
2. 패키지 소프트웨어 유형
- 실무에 필요한 기능을 수행하는 응용 패키지와 컴퓨터 자체 연산에 관련된 기능을 수행하는 시스템 패키지로 구별된다.
'정처기(필기) > 프로그래밍언어활용' 카테고리의 다른 글
기본문법 활용하기 - 4(표준 함수) (0) | 2022.09.01 |
---|---|
기본 문법 활용하기 - 1 (0) | 2022.08.31 |
네트워크 기초 활용 (0) | 2022.06.12 |
프로세스 스케줄링 (0) | 2022.06.10 |
운영체제, 메모리 관리 (0) | 2022.06.09 |