C#,Delphi,Oracle,MSSQL 개발자블로그
2-Tier와 3-Tier의 비교 본문
2-Tier와 3-Tier의 비교
2-Tier와 3-Tier를 분류하고자 하는 구분은 크게 H/W관점과 S/W 관점에서 나눌 수가 있다.
S/W 관점에서 보면, 1장에서 설명한 미들웨어 중에서 데이터베이스 미들웨어를 사용한 아키텍쳐를 '2-Tier' 라 하고, 그 외의 미들웨어를 사용하면 '3-Tier' 아키텍쳐라고 볼 수 있다.
ㅇ 2-Tier와 3-Tier의 설명
티어를 구분할 때, H/W 관점에서도 볼 수 있으나, 아래는 S/W 관점에서의 2-Tier와 3-Tier를 비교 설명한 것이다.
(1) 2-Tier
: 클라이언트 사이드에 프리젠테이션/비즈니스 로직을 작성하고, 서버 사이드에는 데이터베이스가 위치한다.
- 예: 4GL 툴(파워빌더, 비쥬얼 베이직, 델파이 등)에서 SqlNet(Oracle), I*Net(Informix) 드라이버를 이용하여, 직접적으로 데이터베이스 접근하여 시스템을 구축 함
[ Business Tier, Presentation Tier (1 Tier) - Database Tier(2 Tier) ]
(2) 3-Tier
: 클라이언트 사이드에 프리젠테이션 로직을 작성하고, 서버 사이드에 비즈니스 로직과 데이터베이스가 위치 함(여기에서 데이터 베이스와 어플리케이션 서버는 동일 또는 다른 머신에 존재할 수 있음)
- 예: 4GL 툴에서 직접 데이터베이스에 접근하지 않고, 미들웨어 클라이언트와 서버 모듈을 통해 데이터베이스를 접근 함. 비즈니스 로직은 서버측의 미들웨어 기반 위에 수행 되고 관리가 된다.
[ Presentation Tier (1 Tier) - Business Tier(2 Tier) - Database Tier(3 Tier) ]
ㅇ 장단점 비교표
|
2-Tier |
3-Tier |
개발 편의성 측면 |
4GL 툴 등을 사용하여 작성 용이 함. |
보통 프리젠테이션 로직(주로 4GL로 개발)과 비즈니스/데이터 접근 로직(주로 C/C++,COBOL 언어 사용)을 별도로 작성하므로 2-Tier에 비해 개발이 불편 함
|
확장성 측면 |
좋지 않음 |
이기종 H/W 증설 또는 이기종 데이터베이스가 구축되어도 데이터 정합성 보장할 수 있어 확장성이 뛰어남.
|
재사용성 측면 |
모든 로직이 클라이언트에 존재하고, 4GL 툴과 관련되므로 4GL 툴이 변경 시에 모든 로직을 재개발 하여야 함.
|
동일한 비즈니스 로직을 필요로 하는 프리젠테이션 로직을 다양하게 구현할 수 있음. 비즈니스 로직을 모듈화하여 클라이언트/서버 환경과 웹환경에서 동시에 사용 가능함. |
성능 측면 |
동시 사용자 수가 증가 함에 따라 성능이 급격히 저하 됨 |
동시 사용자 수가 증가해도 일정한 응답속도와 처리량을 보장 함
|
자원 활용 측면 |
H/W 자원(CPU, 메모리 등)과 데이터베이스 자원을 비효율적으로 사용 함 |
미들웨어에서 부하 분산, 큐잉 메커니즘을 통해 효율적으로 자원 활용 함
|
시스템 관리 측면 |
모니터링 및 관리가 용이하지 못함 |
처리되고 있는 어플리케이션 정보, 프로그램별 처리 건수 등 다양한 모니터링이 가능하여 관리 및 모니터링이 용이 함 |
'Programming > Oracle' 카테고리의 다른 글
[Oracle] 날짜타입의 년도표시 Y와 R 의 차이점. (0) | 2017.05.19 |
---|---|
[Oracle] sysdate와 systimestamp의 차이 (1) | 2017.05.19 |
[Oracle] dual 테이블이란 ? (0) | 2017.04.14 |
[Oracle] ORA-12560 : TNS 프로토콜 어댑터 오류 해결방법. (0) | 2017.03.12 |
[Oracle] varchar / varchar2의 차이, number(x,y)의 의미. (0) | 2017.03.12 |