아키텍처(Architecture) 란?
- 시스템을 만들기 위한 물리 레벨의 조합(서버의 기능, 저장소와 네트워크 기기의 조합 등)
- 데이터베이스 설계에서 시스템의 구성
- 아키텍처 통해 시스템의 용도와 목적 추측 가능
● IT 아키텍처(Architecture)
: 일정 기준과 절차에 따라 조직 전체의 정보화 구성요서를 통합분석 후 그 관계를 구조적으로 정리한 체제 이를 바탕으로 정보시스템을 효율적으로 구성하기 위한 방법
● IT 시스템 아키텍처 예시
- 아키텍처 구성을 시스템의 목적에 맞게 결정하는 과정, 서버, OS, 미들웨어, 저장소 등 폭젋은 지식 필요
- 적정 비용으로 필요 시스템 구축하기 휘해서도 매우 중요
● IT 아키텍처의 역사
단계 | 특징 |
Stand-alone | - 1980년대까지 널리 이용 - 데이터베이스만으로 시스템 운용 |
클라이언트 / 서버 | - 1990년대 ~ 2000년 - 클라이언트와 서버로 계층 분리 - 상호 네트워크 접속 |
WEB 3계층 | - 2000년 ~ 현재 - WEB, WAS, DBMS로 구분 - 클라이언트 / 서버 단계를 발전시킨 현재의 주료 모델 |
- 최근에는 클라우드 시대를 맞이하여 기존의 틀을 뒤엎은 다양한 IT 아키텍처가 등장
- 서버가 마치 존재하지 않는 것처럼 운영되는 서비스 개념도 존재
- 다양한 클라우드 서비스 업체가 경쟁
- 클라우드를 이해하기 위해서도 기존의 전통적인 방식의 IT 아키텍처의 지식 필수
1. Stand - alone 단계(DBMS 관점)
: DBMS 서버가 네트워크 접속 없이 독립적으로 작동, 20세기 현대적 컴퓨터의 최초 등장시기
장점 | 단점 |
- 구축 과정이 간단함(소규모 작업 및 테스트를 빨리 처리할 수 있음) - 높은 보안(네트워크 연결 불가) |
- 물리적 떨어진 장소에서 접근 불가 - 복수 사용자가 동시에 작업 불가(1명만 이용가능) - 낮은 가용성(Availability) - 서버가 단 1대임 - 확장성 부족 |
2. 클라이언트 / 서버 단계 (DBMS 관점)
: 네트워크 연결을 통한 복수 사용자가 동시에 사용가능, DB 서버 한대에 복수 사용자가 접속하는 구성이 주를 이룸
장점 | 단점 |
- 원격지에서도 사용가능 - 복수의 사용자가 동시에 사용 가능 |
- 인터넷 환경에서 접속시 보안이 위험 - 각자의 사용자 PC에서 애플리케이션 설치 (수정 및 배포의 어려움 존재) |
3. WEB3 계층 (DBMS 관점)
: 애플리케이션을 WAS 서버에서 관리 , 시스템을 3가지 계층의 조합으로 인식하기 시작(WEB, WAS, DBMS)
장점 | 단점 |
- 직접적인 접속 요청을 웹서버 계층에 한정하여 보안이 향상 - 애플리케이션 계층에 비즈니스 로직이 집중 (관리의 용이성 및 비용 절감) |
- Stand - Alone 및 클라이언트 / 서버 방식에 비해 크게 단점이 존재하지 않음. |
● 가용성과 확장성 확보
가용성이란 ?
- 가용성이란 서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도를 말한다.
- 가용성을 수식으로 표현할 경우, 가용성(Availability) 이란 정상적인 사용시간(Uptime)을 전체 사용시간 (Uptime + Downtime)으로 나눈 값을 말한다. 이 값이 높을수록 "가용성이 높다" 고 표현한다.
- 가용성이 높은 것은 고가용성(HA, High Availiability) 이라고 한다.
- 가용성이 100이라면 단 한번도 장애없이 동작한 시스템이다.
확장성이란 ?
- 화가작성(Scalability)는 IT 시스템에서 대규모적인 재설계 및 재설치가 필요없이 확장이 얼마나 쉽고 가능한지에 대한 용이성을 뜻한다.
- DBMS 설계자는 DBMS의 확산이나 거대한 성장을 도모해야한다.
- 절대적인 사용자가 수가 증가하더라도 이를 수용할 수 있도록 확장성 있게 설계해야 함을 의미한다.
- 최근의 클라우드 시스템이 각광받는 이유 중 하나가 바로 탁월한 확장성에 있다.
● 가용성을 높이는 전략
고품질 - 소수 | 저품질 - 다수 |
- DBMS 서버의 고품질을 추구 - 소수의 DBMS 서버를 이용 - 소수의 DBMS 서버를 높은 견고함과 신뢰성으로 무장 |
- DBMS 서버가 품질이 떨어지더라도 다수의 DBMS를 사용하는 전략 - 클러스터링 전략(동일 기능의 DBMS 서버를 다수로 구축) |
● 저품질 - 다수 전략의 용이성
- 동일 기능을 하는 DBMS 서버를 여러 대 설치 및 운영하여 병렬화 시킴
- 여러 대의 DBMS 서버가 한 개의 시스템을 위해서 존재
- 다중화/여유도 확보
- 서버를 늘릴수록 장애 발생률은 확률적으로 자연 감소함
● 단일 장애 점(SPOF, Single Point Of Failure)
- 단일 장애 점(SPOF, Single Point Of Failure)은 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소를 말한다. 높은 가용성을 추구하는 네트워크, 소프트웨어 애플리케이션, 사용 시스템에 단일 장야점이 있는것은 바라직하지 않다.
- 높은 신뢰성을 요구하는 시스템은 단일 컴포넌트에 의존하지 않는 것이 좋다(ex 금융권 시스템)
● 신뢰성 vs 가용성
신뢰성 (Reliability) | 가용성 (Availability) |
- 하드웨어나 소프트웨어가 고장 나는 빈도 밑 고장 기간 - 컴포넌트 자체의 문제 |
- 사용자 입장에서 시스템을 어느 정도 사요할 수 있는가 - 시스템 전체 수준의 문제 |
- 신뢰성이 낮아도 여러 대의 서버를 구축하는 클러스터링 기법을 통해 가용성 확보가 가능하다.
'빅데이터 > SQLD' 카테고리의 다른 글
[SQLD] 관계형 데이터베이스란 (0) | 2020.12.06 |
---|---|
[SQLD] 데이터베이스란 (0) | 2020.12.06 |