|
■■■■ 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.
|