MS SQL에서 지원하는 이중화 구성의 종류는 총 5가지로 Replication, Log Shipping, Mirroring, Cluster, Always On 방식이 있습니다.
저는 이중 Replication과 Log Shipping을 구현해봤습니다. 해당 방식들의 특성을 알고 있다가 참여하시는 프로젝트의 성격 혹은 기업에 맞춰 이중화를 구성하시면 됩니다.
1. Replication
Replication 방식은 주 서버와 보조서버간의 데이터 배포방식입니다. 주서버(게시서버)가 보조서버(배포서버)에게 데이터를 전달 후 배포서버가 다른 구독서버들에게 데이터를 전달하여 각 구독서버들이 최종 사용자에게 데이터를 전달하는 방식으로 이중화를 구성합니다.
특징
- 주서버(원본) 데이터베이스의 데이터를 보조서버(타겟)로 복사하는 방식
- 사용자 분산효과
- 필요 테이블, 컬럼 단위로 복사가 가능
- 자동 장애조치 기능 없음
- 디스크 고장시 복구 가능
- 구축비용 저렴
2. Log Shipping
Log Shipping 방식은 주서버의 로그파일을 보조서버에 일정한 주기로 복사하는 방식입니다.
특징
- 주 서버와 보조 서버가 1:M 관계를 갖습니다.
- 자동 장애조치 기능 없음
- 실시간 동기화 불가능 (스케줄링에 의한 동기화)
- 디스크 고장시 복구 가능
- 구축비용 저렴
3. Log Mirroring
Mirroring방식은 주서버의 변경내용을 미러 서버로 실시간 적용하는 방식입니다. 주서버와 미러서버를 구성 후 모니터서버를 두어 실시간으로 동기화되는 것을 감지하고, 만약 평상시 주서버로 사용자가 이용하다 트레픽 증가 및 장애발생시 미러링서버로 대체되는 방식입니다.
특징
- 자동 장애조치 가능
- 미러중인 데이터베이스에 작업 불가
- MSSQL에서 곧 삭제 예정
- 오류탑지 가능
- 디스크고장시 복구가능
- 구축비용 저렴
4. Cluster
Cluster방식은 윈도우 크러스터 기능을 사용해 두개의 서버가 하나의 스토리지를 바라보면서 스토리지에 주서버의 데이터를 이관하여 스토리지를 기준으로 이중화하는 방식입니다.
특징
- 별도의 공유 스토리지 구축 필요
- 스토리지 장애시 복구불가
- 구축비용 비쌈 (스토리지비용)
5. Always On
Always On 방식은 Mirroring의 단점인 Mirroring DB에 작업이 불가한 점을 해결한 방식으로 백업서버와 읽기(사용자가)작업 서버를 분리하여 구성하는 이중화 방식입니다.
주서버와 백업용 보조서버, 읽기전용 보조서버, 보조서버를 두고 각 서버별로 동기화한 후 작업하는 방식입니다.
특징
- 오류탐지 가능
- 자동장애복구
- 디스크고장시 복구 가능
- 구축비용 저렴
방식 | Replication | Log Shipping | Mirroring | Cluster | Always ON |
오류 탐지 | X | X | O | O | O |
장애 복구 | 수동 | 수동 | 자동 | 자동 | 자동 |
복구 시간 | 측정불가 | 측정불가 | 약 3~5초 | 30초 이상 | 약 3~5초 |
디스크 고장시 | 복구 가능 | 복구 가능 | 복구 가능 | 복구 불가 | 복구 가능 |
구축 비용 | 저렴 | 저렴 | 저렴 | 고가(SAN) | 저렴 |
복구 대상 | 사용자 DB | 사용자 DB | 사용자 DB | 사용자/시스템 DB | 사용자 DB |
'ForBeginner' 카테고리의 다른 글
10-1. 왜 리포팅 툴이 필요 한가? (0) | 2021.05.28 |
---|---|
9-0. 서버 이중화 (0) | 2021.05.25 |
4-2. 필드버스(Field Bus) (0) | 2021.05.23 |
4-6. 이더넷 기술 ▲, 필드버스 기술 ▼ (0) | 2021.05.23 |
4-1.산업용 통신 프로토콜 (0) | 2021.05.23 |