서비스에서_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