Practice makes perfect

[SQLD] 데이터베이스 아키텍처 (1) 본문

빅데이터/SQLD

[SQLD] 데이터베이스 아키텍처 (1)

kerpect 2020. 12. 7. 14:14
728x90
반응형
SMALL

아키텍처(Architecture) 란?  

  1. 시스템을 만들기 위한 물리 레벨의 조합(서버의 기능, 저장소와 네트워크 기기의 조합 등)
  2. 데이터베이스 설계에서 시스템의 구성
  3. 아키텍처 통해 시스템의 용도와 목적 추측 가능 

 

● 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 및 클라이언트 / 서버 방식에 비해 크게
  단점이 존재하지 않음. 

 

 

● 가용성과 확장성 확보 

 

가용성이란 ? 

  1. 가용성이란 서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도를 말한다. 
  2. 가용성을 수식으로 표현할 경우, 가용성(Availability) 이란 정상적인 사용시간(Uptime)을 전체 사용시간                (Uptime + Downtime)으로 나눈 값을 말한다. 이 값이 높을수록 "가용성이 높다" 고 표현한다. 
  3. 가용성이 높은 것은 고가용성(HA, High Availiability) 이라고 한다. 

 

 

- 가용성이 100이라면 단 한번도 장애없이 동작한 시스템이다. 

 

 

확장성이란 ? 

  1. 화가작성(Scalability)는 IT 시스템에서 대규모적인 재설계 및 재설치가 필요없이 확장이 얼마나 쉽고 가능한지에 대한 용이성을 뜻한다.
  2. DBMS 설계자는 DBMS의 확산이나 거대한 성장을 도모해야한다. 
  3. 절대적인 사용자가 수가 증가하더라도 이를 수용할 수 있도록 확장성 있게 설계해야 함을 의미한다. 
  4. 최근의 클라우드 시스템이 각광받는 이유 중 하나가 바로 탁월한 확장성에 있다. 

 

● 가용성을 높이는 전략

고품질 - 소수 저품질 - 다수
- DBMS 서버의 고품질을 추구
- 소수의 DBMS 서버를 이용
- 소수의 DBMS 서버를 높은 견고함과 신뢰성으로 무장
- DBMS 서버가 품질이 떨어지더라도 다수의 DBMS를 사용하는 전략
- 클러스터링 전략(동일 기능의 DBMS 서버를 다수로 구축

 

● 저품질 - 다수 전략의 용이성

 

- 동일 기능을 하는 DBMS 서버를 여러 대 설치 및 운영하여 병렬화 시킴

- 여러 대의 DBMS 서버가 한 개의 시스템을 위해서 존재

- 다중화/여유도 확보

- 서버를 늘릴수록 장애 발생률은 확률적으로 자연 감소함

 

● 단일 장애 점(SPOF, Single Point Of Failure) 

 

- 단일 장애 점(SPOF, Single Point Of Failure)은 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소를 말한다. 높은 가용성을 추구하는 네트워크, 소프트웨어 애플리케이션, 사용 시스템에 단일 장야점이 있는것은 바라직하지 않다. 

- 높은 신뢰성을 요구하는 시스템은 단일 컴포넌트에 의존하지 않는 것이 좋다(ex 금융권 시스템) 

 

● 신뢰성 vs 가용성

신뢰성 (Reliability) 가용성 (Availability)
- 하드웨어나 소프트웨어가 고장 나는 빈도 밑 고장 기간
- 컴포넌트 자체의 문제 
- 사용자 입장에서 시스템을 어느 정도 사요할 수 있는가
- 시스템 전체 수준의 문제 

- 신뢰성이 낮아도 여러 대의 서버를 구축하는 클러스터링 기법을 통해 가용성 확보가 가능하다. 

 

728x90
반응형
LIST

'빅데이터 > SQLD' 카테고리의 다른 글

[SQLD] 관계형 데이터베이스란  (0) 2020.12.06
[SQLD] 데이터베이스란  (0) 2020.12.06