서비스에서_SQL_Server의_역할과_관리_노하우

Download Report

Transcript 서비스에서_SQL_Server의_역할과_관리_노하우

하나포스닷컴에서
SQL Server의 역할
서명옥
[email protected]
[email protected]
SQL Server의 역할


주요 서비스에 활용
 높은 가격대 성능 비
 향상된 기능
 편리한 관리 툴
패밀리, CP들의 주 DB Server로 활용
 관리 및 유지보수의 편리함
 리소스 공유
SQL Server의 적용 사례







인증 및 회원정보(DreamPass) 서비스
 Membership, Session 관리용
Billing 서비스(DreamCash)
데이터웨어하우스(HdDW)
Service Management System(DMS)
Content Management Service(XTree)
일반 서비스
 자료실, 예매, 검색, 이벤트 등
패밀리 서비스
 Mnet, CGV, 7Poker, Yasisi 등
SQL Server의 적용 사례
- DreamPass

구성도
SQL Server의 적용 사례
- DreamPass

특징
 인증과 회원 정보 제공 서비스의 분리
 HA 구성을 통한 System Fault 대비
 단방향 Transactional Replication 구축을
통한 Disk Fail 대비 및 OLTP와 DSS 업무
분리
 Login 정보 기록용 별도 DB Server 사용
 url : http://www.hanafos.com
SQL Server의 적용 사례
- Single Sign On(DreamPass)

데이터베이스 설계 및 구성 시 고려 사항
 용도별 DB 구분
 최적화된 Column 선정 및 Data Length 설정
 Stored Procedure 적극 활용
 User Defined Function 이용한 Code 간소화
 이력 데이터 정리 방안 수립
 고객 서비스 중심의 Index 생성
 다수의 파일 그룹 생성
SQL Server의 적용 사례
- Billing(드림캐쉬)

구성도

향후 구성 계획
SQL Server의 적용 사례
- Billing(드림캐쉬)


특징
 Backup & Restore를 이용한 Standby
Server 구축
 이용자 서비스와 통계용 DB Server 분리
 url : http://cash.hanafos.com
문제점
 서비스 DB에 OLTP 및 DSS용 Index
 Data Modification 부하 발생
 데이터 파일 크기 증가에 따른 관리 부담
가증
SQL Server의 적용 사례
- 데이터웨어하우스(HdDW)

구성도
SQL Server의 적용 사례
- 데이터웨어하우스(HdDW)

특징
 SQL Server 7.0 및 MS OLAP Server 이용한
초기 구축
 SQL Server 2000 및 MS Analysis
Service로 업그레이드
 50GB/일 Raw 데이터 처리 후 Summary
데이터만 유지
 통계 및 다차원 분석 기능 제공
 SessionDB 및 MemberShip DB 분석 통한
개인화 적용
SQL Server의 적용 사례
- SMS(DMS) : Architecture
Management Web Server
Remote Manager
Web Browser
System Monitor
Management Server
System Monitoring
Regacy
inventory
Performance Monitoring
Inventory
Manager
Log
Manager
Alerts
Manager
OLEDB
Report
Manager
Audit
Manager
Trends
Manager
Management Console
Alert Manager
SMS, E-Mail, Messenger
Log Manager
Server
inventory
Agents Management
WMI, SNMP, TCP
Managed Server
Network Device
Service
inventory
SQL Server의 적용 사례
- SMS(DMS)

특징
 Server 리소스 관리 자동화
 Network 현황 관리
 Error 발생에 대한 Alerting
 리소스 과다 사용 서버에 대한 Alerting
 Server 및 Service Monitoring
 Service 관리
 패밀리 권한 및 정보 관리
 장애 관리
SQL Server의 적용 사례
- 패밀리 서비스

패밀리 모델의 특징
 Infra 제공(HW,SW, Membership, Billing,
Mail, VOD, FTP 등)
 마케팅 툴 제공
 멤버쉽 공유
 패밀리 각자의 도메인 사용
(www.mnet27.co.kr, www.cgv.co.kr)
 서비스 모니터링
 서비스 Tuning 및 Troubleshooting
 신규 사이트에 대한 품질 테스트
SQL Server의 적용 사례
- 패밀리 서비스

패밀리 사이트에 대한 DBA의 역할
 부분적인 DB 설계 지원
 부분적인 데이터 마이그레이션 지원
 SQL Server 환경 구성 및 DB 생성
 DB Stress Test
 Query 및 Index Tuning
 Backup 및 Restore
 Data Consistency Check
 Blocking Monitor
 File Size 관리
하나포스닷컴 내의
SQL Server 관리 노하우
서명옥
[email protected]
[email protected]
SQL Server 운영 정책









Goal
설치 및 환경 구성
데이터베이스 생성 및 운영
계정 및 권한
Backup 및 Restore
Replication
유지보수 및 모니터링
개발자 Tips
Tuning
SQL Server 운영 정책
- Goal

안정적인 고품질 서비스 유지
 장애 방지
 24시간 모니터링
 동일한 Response Time
 신속한 복구
 최소의 인원으로 최대의 관리 효과를…
SQL Server 운영 정책
- 설치 및 환경 구성







무인 설치
SQL Server 메모리 고정(주요 서버 대상)
Client와 Server의 MDAC Version 일치
신규 Service Pack 적용 시 사전 테스트
SQLServer와 SQLAgent Service 계정으로
Domain Account 등록(설치시)
Alert용 SQLAgent Mail Session 및 SQLMail
설정
불필요한 Service 정지
 IIS 관련 서비스, Search , DTC 서비스등
SQL Server 운영 정책
- 설치 및 환경 구성(계속…)


2~4GB Memory 보유 시스템에 대한 작업
 Boot.ini에 /3GB Option 설정
 Q283037
4GB 이상의 Memory 보유 시스템에 대한 작업
 Boot.ini에 /PAE Option 설정
 Configuration Parameter 조정
 Awe enabled 설정
 SQL Server Memory 고정
 SQL Server용으로 실제 메모리 예약
SQL Server 운영 정책
- 데이터베이스 생성 및 운영







Data File 크기 제한
Data 및 Log File의 초기 크기 여유 있는 설정
FileGroup 및 File을 이용한 대용량 테이블의
분리
“메가 단위로” 파일 속성 설정
파일 크기 자동 증가 Job 설정
여유 공간 임계치 이상의 File에 대한 축소 Job
설정
주기적인 Log Backup 수행으로 Log File 증가
방지
SQL Server 운영 정책
- 계정 및 권한





SQL Server 인증 방식 이용
DBA Group에 System Administrators 서버
역할 할당
Sa 보안 및 개발자의 원활한 작업을 위해
데이터베이스 별 DBO 할당
db_datareader 데이터베이스 역할 계정 활용
db_owner role 이용 제한
SQL Server 운영 정책
- Backup 및 Restore






1회/일 Database Full Backup
1회/시간 Log Backup(Point-in-Time
Recovery를 위한 필수 사항)
신속한 백업을 위한 Disk Backup 수행 후 백업
미디어로 재백업 수행
신속한 복구를 위해 Disk상에 이틀 이상의 백업
파일 보관
Backup Job이 DB의 생성, 삭제 인식 후 자동
Backup 진행
Master, MSDB, Distribution 백업 수행
SQL Server 운영 정책
- Replication




도입 목적
 Standby Server
활용 범위
 관리자, Call Center Application, DW
구현 방법
 단방향 트랜잭션 복제
사전 준비
 Publication 대상 테이블에 Primary Key
생성
 Subscriber를 Linked Server로 사전 등록
SQL Server 운영 정책
- Replication(계속.)


설정
 테이블 단위의 Publication 설정
 Naming Rule : dbname_Tblname
 Push Subscription
 거의 실시간 복제 가능
구독 초기화
 NoSync 방식 : 초기 데이터가 많은 경우 이용
 Sync 방식 : Schema 및 데이터 초기화
SQL Server 운영 정책
- Replication(계속.)

추가 작업
 Identity 보유 테이블에 대한 처리
 구독 테이블에 Identity 설정
 Custom Stored Procedure내 Source
수정 필요
Ex)
create procedure "sp_MSins_test" @c1 int,@c2 char(10)
AS
BEGIN
set identity_insert test on
insert into "test"( "c1", "c2" ) values ( @c1, @c2)
set identity_insert test off
END
SQL Server 운영 정책
- Replication(계속.)

복제 설정 후 주의 사항
 Stored Procedure, UDF등의 자동 복제가
안되므로 발행, 구독 데이터베이스에 동시
수정(현 설정 구조상)
 게시 테이블 일부 속성 변경 시 복제 안됨
 게시 테이블 일부 속성 변경 제한
 컬럼, 추가 삭제 방식 변경(게시 메뉴에서
수행)
SQL Server 운영 정책
- 유지보수 및 모니터링








Index Rebuild(DBCC DBReindex, Create
Index)
DBCC IndexDefrag
DBCC CheckDB
Update Statistics
Idle Connection 정리
Long Running Transaction 확인
Blocking Monitoring
EvenLog 확인
SQL Server 운영 정책
- 유지보수 및 모니터링 (계속.)







CPU 사용량 확인
Network Traffic 확인
Disk 여유 공간 확인
IIS의 Request Queue Length 확인
SQL Server Port Alive 확인
SQL Server Connection 가능 확인
SQLAgent Job, SMS, SQLMail, SQLAgent
Mail Session을 이용한 자동 모니터링
SQL Server 운영 정책
- 개발자 Tips







Code 저장용 Column에 대한 Character 사용
제한
Client Side Cursor 이용
Result Set 제한
Select … from tblname with(nolock) 이용
Stored Procedure 이름으로 sp_ prefix 사용
금지. Q263889
Fully Qualified Object Name 사용.
DBO만 Object 생성 허용
SQL Server 운영 정책
- 개발자 Tips(계속)



OLE DB for SQL Server 이용
TCP/IP Socket 이용
Stored Procedure내에서 Input Parameter
변경 금지 혹은 Sub Procedure 이용
Ex)
create proc P_a @inParam int
as
Declare @iMul int
Set @iMul=@inParam*15
Select * from X where
Col1=@iMul
Return
Create Proc P_s @inParam int
as
Select * from X where Col1=@inParam
Retrun
Create Proc P_a @inParam int as
Declare @iMul int
Set @iMul=@inParam*15
Exec P_s @iMul
Return
SQL Server 운영 정책
- Tuning


Index Tuning이 가장 효과적인 성능 개선
방법임
Query Tuning으로 부가적인 성능 개선 가능
Ex) nolock, top 이용, where 문 최적화

Tuning Tool
 Profiler, Query Analyzer
용도 및 규모별 관리 방안


용도에 따른 관리
 Mission Critical vs. DSS
규모에 따른 관리
 대용량 Database vs.
다수의 소규모 Database
용도 및 규모별 관리 방안
- Mission Critical vs. DSS


Mission Critical Database
 빈번한 Log Backup 수행
 Index Defragmentation 수행
 최소의 Index 유지
 Transaction Monitoring
DSS
 Log Truncate 후 Database Backup
 Update Statistics 수행
 Table 혹은 Database 단위의 Index
Rebuild
용도 및 규모별 관리 방안
- 대용량 DB vs. 다수의 소규모 DB


대용량 DB
 FileGroup을 이용한 데이터 분산
 Index 또는 테이블 단위의 Index Rebuild
한 서버에 많은 소규모 DB가 존재하는 경우
 DB 단위의 Index Rebuild
 Idle Connection Monitoring
 CPU Usage Monitoring
유지보수 작업 적용 예



Backup Job
Blocking Monitoring Job
File Extension Job