CAFE

Information Technology

핵심 아키텍쳐(IA/TA)

작성자해오름|작성시간12.11.16|조회수1,087 목록 댓글 0

■■■■ I. IA 직무 및 역할 ■■■■
1. EA (Enterprise Architecture)
   -  Data Arch. + Business Arch. + Technical Arch. + Application arch.
   -  TA = Server, Storage, NW, DB/MW Architecture
   -  2009년 SDS에서 TA(SI), IA(ITO) 분리

 

2. IA의 역할 및 책임
   - 아키텍처, 설계/구축/운영하는 업무를 수행하는 직무
   - 주요임무
     1) 서비스라인 개발 및 관리 : 신기술/서비스 동향 분석
     2) IT Delivery : 고객관리, 제공서비스 예방/점검활동, 서비스 수준분석 및 보고
     3) ITO 서비스 : 서비스 기획, 자산관리, 인프라 관리, Service Support부문, Service Delivery부문

    
■■■■ II. IA 요소 기술 ■■■■          
1. Infra Component
   1) H/W Component : 서버, 스토리지, 네트워크
   2) S/W Component : Middle ware, DBMS, 개발 Tool, 성능관리, Data관리 Tool

 

2.상용 DBMS
  1) 사용 DBMS 종류 : Oracle, IBM DB2, Sybase, MS-SQL Server, NCR의 TERADATA

 

  2) Oracle
     - 그리드 컴퓨팅 : 수많은 작은 서버들을 적절한 관리하에 마치 하나의 거대한 컴퓨터를
       사용하는 것처럼 해주는 컴퓨팅 개념
     - 11g의 주요 특징
       . 그리드는 RAC 기능의 확장판
       . Data보안 적용, 성능 감소
       . 자동화 기능의 안정화
       . 농협, 전자 G-ERP 사례

 

  3) IBM DB2
     - MPP에 최적화
     - DPF (Database Partitioning Feature) : Multi Node/Partition 지원
     - Parallel Architecture 지원 

  4) MS-SQL Server
     - O/S 안정화 이슈
     - 저렴한 가격
    
  5) Sybase
     - ASE (Adaptive Server Enterprise) 엔진 구조, Virtual Server Architecture
     - Vertical Processing, Dataware housing에 적합

 ※ MPP (Massive Parallel Processing) : 프로그램을 여러부분으로 나누어, 여러 프로세서가
                                        동시에 수행시키는 처리 방식

                                       

3. 시스템 용량산정의 개념 이해
   1) TPS,TPM : 초당 또는 분당 Transaction
   2) Throughput : 단위 시간 내에 처리가능한 트랜잭션의 크기
   3) 처리량을 결정하는 주요요소
      - 응답속도, 처리량
      - 처리량을 결정해주는 동시 사용자 수, 업무특성과 형태
   4) TPC-C : 3Tier OLTP 대상
      TPC-E : Windows NT 대상 새로운 OLTP 대상
      TPC-H : DW 대상


4. 정보시스템 하드웨어 규모산정 가이드라인

   1) 규모산정 방식 비교

       - Calculating Method(수식 계산법)

         . 정의 : 사용자 수 등 규모산정을 위한 요소를 토대로 용량 수치를 계산하고, 

                    보정치를 적용하는 방법

         . 장점 : 규모산정 근거 제시 가능하며, 비교적 간단하게 산정 가능

         . 단점 : 보정치에 대한 정확한 근거제시가 어려움.


       - Referencing Method (참조법)

         . 정의 : 업무량,사용자수, DB 크기에 따라,  대략적인 시스템 규모를 비교하여, 

                    비슷한 규모를  산정하는 방식

         . 장점 : 기존 구축되어 있는 업무 시스템과 비교가 가능하므로, 비교적

                    안전한 규모산정 가능

         . 단점 : 계산에 의한 방법이 아닌, 비교에 의한 것이므로 근거 제시가 미약함.


       - Simulation Method (시뮬레이션법)

         . 정의 : 대상업무에 대한 작업부하를 모델링하고, 이를 시뮬레이션하여 규모를

                    산정하는 방식

         . 장점 : 상대적으로 정확한 값을 얻을 수 있음.

         . 단점 : 시간과 비용 과다 소요


   2) 작업 부하별 적용 성능 기준치 (성능기준/메트릭스)

      - OLTP or Batch : TPC-C / tpmC

      - 웹서버 애플리케이션 : SPECWeb99 / Operations per Second

      - WAS : SPECjbb2000 / Operations per Second


   3) TPC 기준 종류

      - TPC-C : OLTP 중심 어플리케이션 또는 Batch 어플리케이션

      - TPC-H : 의사결정지원, 데이터웨어하우스  환경 어플리케이션

      - TPC-W : 웹 혹은 웹 어플리케이션


   4) SPEC 기준 종류

       - SPECjbb2000 : 웹 어플리케이션 (WAS)

       - SPECweb99 : 웹

    

   5) DB서버를 위한 일반적 조사항목

       - 시스템 구축 형태(Single, HA, 병렬)

       - 사용자 수 (전체 사용자 수, 동시 사용자 비율, 피크타임, 연간 사용자 증가율 등.)

       - 트랜잭션 수 (연간, 1일 평균, 피크타임, 예산 연간 트랜잭션 증가율 등)

       - 온라인 업무량 (레코드 크기 및 전체 건 수 등)

       - 배치 업무량(배치 업무 비중, 대량 배치기준 데이터 건수 및 길이 등)

       - 데이터베이스(DB 크기,  파일종류 별 비율, 테이블 크기의 구성, 평균 바이트 수 등)

       - 데이터 백업

       - 운영시간

       - 네트워크 속도 


   6) OLTP & Batch App. 일반적 산정항목 및  보정치 항목(입력값 범위, 일반값)

       (1) 분당 트랜잭션 수

       (2) 기본 tpmC 보정 (20~30%, 30%)

       (3) 피크타임 부하 보정 (20~50%, 30%)

       (4) 데이터베이스 크기 보정 (10~50%, 30%)

       (5) 어플리케이션 구조 보정 (10~100%, 40%)

       (6) 어플리케이션 부하 보정 (30~120%, 70%)

       (7) 클러스터 보정 (30~50%, -)

       (8) 시스템 여유율 (-, 30%)

       ※ 산정식(tpmC) : (1) * (2) * (3) * (4) * (5) * (6) * (7) * (8)


  7) 분당 특랜잭션 수 산정방법

     - 기존 시스템 트랜잭션 수 조사

     - 동시 사용자 수 이용

     - 클라이언트 수 이용



■■■■ III. 최적화 및 가용성 ■■■■    


1. 시스템 최적화를 위한 핵심 활동 (DB진단)

   1) DB 진단 프로세스

       - 대상 선정 -> 진단자료 수집(DBMS, SQL) -> 최적화 방안 검토 -> 결과 반영 및 성과 측정

   2) DBMS 최적화 

   3) SQL 최적화

   4) DBMS CBO 통계정보 수집


2. SQL, RDBMS 특징

   1) 60년대 Hirachical 계층형 DBMS -> 70년대 네트워크/망형 DBMS 

       -> 80년대 이후 관계형 RDBMS

   2) OODBMS, ORDBMS 발전 중.

   3) SQL의 중요성

       . RDBMS를 액세스 할 수 있는 랭귀지

       . DA나 개발자로서 처음 접하는 IT기술 중의 하나

       . 모델링이 실제로 구현될 때 사용되는 기술

       . 개발자로서 실력 평가의 기준이 되는 지식

    4) SQL의 목적 

       . 원하는 정확한 결과를 조회/입력/수정/삭제하는 것.

    5) SQL Tuning이 필요한 이유

       . 디스크의 데이터 액세스 속도를 최대한 개선하려는 노력 필요

       . 한정된 메모리를 효율적으로 사용하기 위한 노력

    6) RDBMS의 성능 핵심 :  인덱스 효율

    7) 데이터 모델링 필요

    8) 데이터 정합성과 공간절약을 위한 정규화 필요

    9) 효율적 JOIN 사용 (Nested Loop Join, Hash Join, Sort Merge Join)

    10) SQL Tuning 의 3단계

          . Dynamic SQL 대량 파싱

          . 인덱스 튜닝

          . NLJ, HJ의 드라이빙 테이블 선정

    11) 서브쿼리 보다는 조인을 사용하는 것이 바람직.

    12) 옵티마이저 (RBO, CBO) : 대세는 CBO , 10g 이후로는 디폴드 모드가 CBO

 

 

3. 가용성 보장을 위한 기법 이해

   1) 의미 : 주어진 시간 동안 주어진 환경 하에서 고장없이 운영될 확률

   2) 신뢰도의 측정 : MTBF vs. MTTF는 실제 비슷한 개념이나,

                            MTBF는 고장 수리가 가능한 설비의 평균 고장시간 간격 이며,

                            MTTF는 고장 수리가 불가능한 설비의 평균 고장 수명을 표현함.


       - 상관관계 : MTBF = MTTF + MTTR

                         MTBF (Mean Time Between Failure) : 평균 고장시간 간격, Uptime

                         MTTF : Mean Time To Failure : 평균 고장 수명

                         MTTR : Mean Time To Repair : 평균 복구 시간, Downtime


       - 가용성(Availability) : MTTF / (MTTF + MTTR) * 100%

      

    3)  ITIL측면 MTBSI/MTBF/MTTR의 상관관계 (MTBSI = MTTR + MTBF)

 

    4) 서버 이중화(HA)

        . 정의 : 서버 장애에 대비하여, 가용성을 증대하기 위해 동일한 기능의 서버를

                  여러대로 중복 구성하는 것을 의미

        . 대기 방식에 따른 분류 : Active-Standby, Mutual Standby, Active-Active

        . 구성 방식에 따른 분류 : 클러스터 S/W 이용, L4 스위치, 소프트웨어의 자체 기능 이용

 

    5) 네트워크 이중화

        . 백업 스위치 이중화

          - HSRP (Hot Standby Router Protocol) : Active 백업 스위치의 장애 시, Standby 백본 스위치가

            서비스의 중단 없이, 해당 라우팅을 자동으로 인계하는 라우팅 프로토콜

        . 백본 스위치 링크 이중화

           -LACP (Link Agreegation Control Protocol)

             : 여러 개의 물리적 링크를 하나의 논리적 링크로 설정하여, 링크 이중화 및 성능향상을  구현

           -STP (Spanning Tree Protocol) : Looping 문제 해결

 

     6) 백업 및 복구

         - 공용 네트워크 백업 vs. 전용 네트워크 백업

         - SAN 백업의 특징

            . 벡업 분배 및 중앙관리

            . 확장성

            . LAN에서의 병목현상 방지

         - 구성방식에 따른 종류

            . LAN Free 백업, Server Free 백업

         - 디스크 복제 (내부복제, 외부복제)

         - 24 X 365 운영환경을 위해 효율적 백업 및 복구 전략이 필수적으로 요구됨.

 

 

■■■■ IV. Architecture Case Study ■■■■   


1. SPOF (Single Point Of Failure)

   : 정보시스템 각 Component에 대한 단일 Failure 로 인해 시스템 전체에 영향을 미칠 수 있는 Point


2. Scale Out, Scale Up

    - Scale Out : 동일한 자원을 N개 이상 늘여가는  증설 형태 (예:Application 서버 추가 증설)

    - Scale Up : 비워둔 자원 내에 자원을 증대하여 늘여가는 증설 형태 (예 : CPU, Memory 증설)


3. Amdahl's Law

   -  암달의 법칙은 암달의 저주라고도 불리며, 컴퓨터 시스템의 일부를 개선할 때,

       전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산할 때 사용.

   - 공식 : 1 / ((1-P) + P/S)

               P : 개선작업에 해당하는 부분

               S : 성능향상 기대치

   - 예 : 어떤 작업의 40%에 해당하는 부분의 속도를 2배로 늘릴 경우

            P = 0.4, S = 2,   1/((1-0.4) + (0.4/2)) = 1.25


4. Case Study 형태

   - 2 Node cluster + Oracle RAC + CFS

   - 2 Node cluster + Oracle RAC + GPFS    

      . GPFS (General Parallel File System) 

       : 공유디스크에 File System을 만들어서, 여러노드에서 공유하도록 만든 범용 파일시스템

   - 4 Node cluster + Oracle RAC + CFS

   - L4 Switch 이중화

   - 1:N Fail Over

   - Backup Configuration (VTL, 2차백업, 볼륨 내부복제, 외부 복제)

   - BRS



■■■■ VI. Database Architecture ■■■■  


1. Oracle 구성 요소

   - SGA (System Global Area) 

     : DB Transaction 처리 시, I/O를 신속히 처리하기 위한 공유 메모리 영역으로써,

       Shared Pool,  Buffer Cache + RedoLog Buffer + Java Pool 등으로 구성.

   - PGA (Program Global Area) 

      : 사용자가 DB 접속 시, 서버프로세스 생성하며, 이 프로세스에 대한 데이터와 

        제어 정보를 저장하는 메모리 영역

   - Instance : Oracle Background Process 및 SGA 영역 통칭


2. Oracle Storage Architecture

   1) O/S 제공 Disk Device

      - Raw Device : O/S에서 제공하는 Character Device

      - LVM Raw Device :  Volume Manager가 제공하는 Logical Volume Raw Device

      - File System : File 형태의 데이타 저장 방식

      - Cluster File System :  Cluster 환경하에서 여러 서버에서 동시에 사용가능한 File System


   2) Oracle 제공 Disk Device

      - ASM : Oracle에서 제공하는 LVM

      - ADVM : ASM용 Logical Volume File System (ACFS, 3rd Party File System) 구성을 위해 필요

      - ACFS : ASM이 제공하는 Cluster File System CRS의 Voting/OCR 디스크, 

                    Oracle Home 용도로 사용


3. DB 서버 이중화

   : H/W 벤더의 Cluster S/W를 이용하여, DB서버를 이중화하는 방식

     -> Active-Standby , Active-Active (Mutual-Active)

 

   1) HA

      - DB와 File System이 병렬 옵션이 지원 안되는 구성에서 사용하는 방식

      - DB가 병렬 옵션이 지원 안되기 때문에 한 개의 DB는 한 서버에서만 사용할 수 밖에 없는 구조

      - Fail Over시 중단시간 발생

     

   2) RAC : Real Application Clusters

       - Oracle의 DB 이중화 옵션을 이용한 병렬 서버 구성

       - Fail Over 시, 중단시간 없음.

       - 1개의 DB를 여러 개의 DB서버가 동시에 사용 가능

       - Raw Device/ASM/CFS)와 RAC 설치 필요

       - RAC의 경우, DB서버의 이중화 솔루션이지, DB Data에 대한 이중화 솔루션은 아님.


    3) DR (Disaster Recovery)

       - 스토리지 이중화 복제 솔루션을 이용하여, Local 및 Remote 간 Disk 복제를 통한 Data 이중화 방식

 

    4) Oracle Data Guard

       - Oracle Standby DB를 이용한 DR 솔루션

       - Redo를 전송하여, DB Data를 이중화하는 방식

       - Logical Disk 장애보호 장치 및 자동 block 손상 복구 기능

       - 기존에 구축된 네트워크 이용하여, 구성가능


■■■■ VII. Database Tuning ■■■■  


1. Tuning Concept

  1) 일반적인 Tuning 절차

      - 문제 정의, 튜닝 목표 설정 -> 현재 statistics 수집 -> 일반적 성능오류인지 고찰 

         -> 변경작업 구현 및 측정 -> 목표 달성유무 확인


  2) 문제를 파악하는 방법

      - 사용자 Feedback 확인

      - Alert log 및 Trace file Error 점검

      - 파라미터 파일 내 부적합 파라미터 설정 확인

      - 리소스 사용량에 문제가 있는 프로세스 파악

      - CPU 또는 I/O를 많이 사용하는 SQL문장 파악 및 Tuning

      - Instance 및 O/S statistics 정보 수집


  3) 우선 순위 설정

      - 수행된 작업시간 과 작업 대기시간을 비교하여 시스템 성능 분석

      - 가장 많은 시간이 걸린 구성요소 파악

   

  4) 일반적인 Tuning 문제들

      - SQL 문장(Application Tuning)

      - Session Management

      - Shared Pool Sizing & Contention

      - Buffer Cache Sizing & contention

      - Data block contention

      - Redo log and redo buffer tuning

      - Undo tuning

      - I/O Issues

      - Locking issues


  5) Tuning 목적

      - 응답시간 단축, 처리량 증대, 로드 용량 증가, 복구시간 단축


  6) 효과적인 Tuning 목표

      - Specific(구체적), Measurable(측정가능), Achievable(달성가능)



2. DB 성능지표

  1) 응답시간 (Response Time)

      - DB Time : DB CPU Time + DB Wait Time

      - Wait Event : Wait은 문제의 원인이 아닌 문제에 대한 징후, 현상임.

                          Oracle 10g의 경우, 약 870여개의 이벤트 항목이 존재

       - Active Session : 실제적으로 작업하고 있는 Session 수(CPU) + 대기하고 있는 session 수 (Idle 제외)

       - Throughput :  commits + user rollbacks = TPS


3. Tuning 방법

   1) Memory Tuning : SGA Tuning, Buffer Tuning, Shared Pool Tuning...

   2) I/O Tuning : I/O Architecture Tuning (File System, Raw Device, ASM...)

       - RAID 고려 : RAID0, RAID1, RAID5

   3) SQL Tuning


4. Tuning Tool

    1) Oracle Performance Monitoring Solutions

        - AWR (Automatic Workload Repository)

          : 문제감지, Self-Tuning 등을 위해서 통계정보를 생성,유지,사용하는 Component.

            이전 statspack 등에 비해서 SQL 수행 정보 등 Level에 따라서 다양한 성능 정보 제공


        - ADDM (Automatic Database Diagnostic Monitor)

          : AWR의 스냅샷 생성 후, 자동 실행. 두 스냅 샷에 해당하는 기간을 분석하고, 

            문제 발생 이전 감지하는 기능.


        - Active Session History

          : Active Session 에 관련된 History 정보 제공


        - TKPROF : SQL Tuning 시, 실행계획 분석


        - SQL Tuning Tool : SQL Tuning Advisor, SQL Access Advisor  제공




■■■■ VIII. TA Architecture ■■■■ 


1. 성능분석 방법론

   : 성능 문제를 진단하고 해결책을 제시하는 분석작업을 체계화 한 것이 성능분석 방법론

   

  1) Profiling vs Tracing

      - 자료 수집을 위한 Profiling 기법 사용

      - 보다 상세한 이벤트 하나를 추적, 세밀한 정보를 분석하기 위해서 Trace log 분석 방법 사용


   2) 성능 문제를 정의하기 위한 요소

       - Time, Business impact, Change history, Empirical data (경험치)



2. 성능 관련 요소

      - System Architecture

      - CPU Architecture (PA8700, PA8800....)

      - Kernel Parameter 

         . Kernel 이 하는 일

           : CPU&RAM 공유를 위한 프로세스 관리, System Call 처리, 주변장치 Handling...

      - System Call 과 Hardware Interrupt

      - Process Management

      - Memory Management

       - Physical I/O vs. Logical I/O

       - Storage Performance

       - Performance Tool : glance, sar, PRM, OEM(Oracle)


       ※  Paging 과 Swapping 관련 용어

          - lotsfree : free page 수가 이 값이하로 떨어질 때, vhand가 동작하여, paging 발생(1회/8초)

          - desfree : free page 수가 이 값이하로 떨어질 때, swapper 가 작동하여, swapping 이 시작

          - minfree : 극단적인 메모리 부족 상태로, 수행중이거나, 수행가능한 프로세스들을 swap out 시킴.




■■■■ IX. 종량제 & Cloud Computing ■■■■ 


1. 기술발전에 따른 Architecture 변화

    1) Traditional Architecture

        - 서버 1대에 OS 1개, AP 1개 탑재

        - 서비스 방식 : 용량산정 -> 구매/설치 -> AP 개발 -> 운영

        - 자산관리 : 업무용 자산으로 투자 및 관리


    2) Layered Architecture

        - 서버 n대에 OS m개, AP m개 탑재 (가상머신 1개당 AP 1개 설치)

        - 서비스 방식 : 서버와 S/W를 미리 설치하여, 자원 POOL 형성

                              고객 요청시, VM에 AP를 탑재하여, 즉시 제공

                              자동화, 이중화 효율 향상

        - 자산관리 : 사용량 기준으로 대금 지불


2. 종량제 서비스 (USEFLEX)

     - 고객 비즈니스 환경에 맞춰, IT 자원을 필요한 만큼 사용하고, 사용한만큼 비용 지불하는

       사용량 기준의 IT 인프라 서비스


3. Cloud Computing

    - 컴퓨터, 디스크, SW 등 IT 자원을 사용자가 소유하지 않고, 통신망/인터넷 등을 통해

       필요할 때, 사용하고, 사용한 만큼 비용을 지불하는 방식

    - IaaS (Infra as a Service), PaaS (Platform as a Service), SaaS (Software as a Service)

    - 핵심기술 : Virtualization, Provisioning, Metering

    ※ Provisioning : 요청에 맞게 준비해둔 것을 공급하는 절차와 행위 

        

4. SDS 서비스 내역

    - SBC (Server Based Computing)

    - MPS (Managed Printer Service)

    - WEB Cloud

    - Mobile Cloud

    - R&D Cloud

    - Contents Cloud : 전자문서관리 Bioinformatics 등 분석 정보를 제공하는 Contents Cloud.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼