
데이터베이스와 아키텍처 구성
아키텍처란, 하드웨어와 미들웨어의 구성, 시스템의 목적과 기능을 의미
중요성
예산과 기능의 저울에서 저울질을 잘 해야함
기능 과다 → 예산 초과 → 망함 OR 돈 안씀 → 기능 저하 → 망함
⇒ 잘 조율해서 아키텍처를 설계해야 한다
Stand-Alone
물리적인 DB 서버. 네트워크에 연결하지 않은 상태 . 독립적. 가까이서 밖에 사용하지 못함.
단점
- 물리적으로 떨어진 장소에서 접근할 수 없다.
- 복수 사용자가 동시에 작업할 수 없다.
- 가용성이 낮다.
- 확장성이 부족하다.
장점
- 빠른 구축
- 높은 보안
Client-Server 특징
네트워크에 연결 → 다수의 사용자 접근 가능. 멀리 떨어져도 사용 가능 → Stand-Alone의 단점 극복
주로 닫힌 네트워크인 LAN에서 사용
단점
- 직접 데이터베이스에 접속하는 것에 대한 보안 위험
- 불특정 다수의 사용자가 사용하는경우 높은 관리 비용
WEB 3계층
Client-Server 구조에 웹서버, 애플리케이션 서버, DB 서버 → 3계층!
최근 아키텍처의 표준
아직 남은 단점 : 확장성, 가용성
→ 어떻게 하면 정지하지 않는 시스템을 만들 수 있을까?
가용성을 높히는 전략 2가지
- 심장전략 → 하나에 몰빵 → 매우 높은 신뢰성
- 신장전략 → 분산 투자 → 여러개의 레플리카를 만듬
신장전략처럼 동일한 기능의 컴포넌트들을 병렬화 하는 것 → 클러스터링
클러스터링으로 Redundancy, 여유도를 높힐 수 있다.
하지만 무작정 복제한다고 100%의 가용성을 가질 순 없다. → 전원 차단과 같은 문제 발생 가능
DB 서버의 다중화 - 클러스터링
일반적인 서버와 다른게 DB 서버는 영속성 계층이기 때문에 더 많은 고민이 필요하다.
→ 무작정 늘리다보면 데이터 정합성이 떨어질 수 있기때문.
하나의 저장소에 2대 이상의 DB 서버를 연결해서 다중화를 구성할 수 있지만, 이때 DB 서버를 어떻게 사용하는 지에 따라서 Active-Active , Active-Standby 로 나뉜다.
Active-Active구조는 동시에 여러 대의 서버를 구성하여 사용하는 것이다. 시스템 다운의 시간이 매우 짧고 성능이 좋다. 하지만 병목 현상이 발생할 수 있다.
Active-Standby 구조는 하나의 서버가 사용되다가 다운되는 경우 기다리던 서버가 활성화되는 구조이다.
Active-Standby구조에도 Hot-Standby와 Cold-Standby로 나뉘는데, Hot-Standby는 실행되고 있다가 다운되는 것을 파악하고 DB서버의 역할을 수행하는 것이고, Cold-Standby는 작동하지 않다가 다운된 시점부터 가동되는 것이다.
Replication 복제
DB서버와 저장소를 복제하는 것
Standby의 갱신주기를 얼마로 할 것인가와 성능 차이 ← 트레이드 오프관계

Shared-Nothing
하나의 저장소가 여러 DB 서버에 사용되는 것을 Shared Disk라고 했는데, Shared Nothing은 저장소마저 독립적으로 분리하여 사용하는 구성이다.
비용 대비 성능이 좋다.
'책' 카테고리의 다른 글
[Book] 스프링 부트 핵심 가이드 Chap.2 (0) | 2024.06.23 |
---|---|
[Book] 스프링 부트 핵심 가이드 Chap.1 (0) | 2024.06.23 |
[데이터베이스 첫 걸음] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[반효경의 운영체제] 3주차 공부 내용 정리 (1) | 2023.10.17 |

데이터베이스와 아키텍처 구성
아키텍처란, 하드웨어와 미들웨어의 구성, 시스템의 목적과 기능을 의미
중요성
예산과 기능의 저울에서 저울질을 잘 해야함
기능 과다 → 예산 초과 → 망함 OR 돈 안씀 → 기능 저하 → 망함
⇒ 잘 조율해서 아키텍처를 설계해야 한다
Stand-Alone
물리적인 DB 서버. 네트워크에 연결하지 않은 상태 . 독립적. 가까이서 밖에 사용하지 못함.
단점
- 물리적으로 떨어진 장소에서 접근할 수 없다.
- 복수 사용자가 동시에 작업할 수 없다.
- 가용성이 낮다.
- 확장성이 부족하다.
장점
- 빠른 구축
- 높은 보안
Client-Server 특징
네트워크에 연결 → 다수의 사용자 접근 가능. 멀리 떨어져도 사용 가능 → Stand-Alone의 단점 극복
주로 닫힌 네트워크인 LAN에서 사용
단점
- 직접 데이터베이스에 접속하는 것에 대한 보안 위험
- 불특정 다수의 사용자가 사용하는경우 높은 관리 비용
WEB 3계층
Client-Server 구조에 웹서버, 애플리케이션 서버, DB 서버 → 3계층!
최근 아키텍처의 표준
아직 남은 단점 : 확장성, 가용성
→ 어떻게 하면 정지하지 않는 시스템을 만들 수 있을까?
가용성을 높히는 전략 2가지
- 심장전략 → 하나에 몰빵 → 매우 높은 신뢰성
- 신장전략 → 분산 투자 → 여러개의 레플리카를 만듬
신장전략처럼 동일한 기능의 컴포넌트들을 병렬화 하는 것 → 클러스터링
클러스터링으로 Redundancy, 여유도를 높힐 수 있다.
하지만 무작정 복제한다고 100%의 가용성을 가질 순 없다. → 전원 차단과 같은 문제 발생 가능
DB 서버의 다중화 - 클러스터링
일반적인 서버와 다른게 DB 서버는 영속성 계층이기 때문에 더 많은 고민이 필요하다.
→ 무작정 늘리다보면 데이터 정합성이 떨어질 수 있기때문.
하나의 저장소에 2대 이상의 DB 서버를 연결해서 다중화를 구성할 수 있지만, 이때 DB 서버를 어떻게 사용하는 지에 따라서 Active-Active , Active-Standby 로 나뉜다.
Active-Active구조는 동시에 여러 대의 서버를 구성하여 사용하는 것이다. 시스템 다운의 시간이 매우 짧고 성능이 좋다. 하지만 병목 현상이 발생할 수 있다.
Active-Standby 구조는 하나의 서버가 사용되다가 다운되는 경우 기다리던 서버가 활성화되는 구조이다.
Active-Standby구조에도 Hot-Standby와 Cold-Standby로 나뉘는데, Hot-Standby는 실행되고 있다가 다운되는 것을 파악하고 DB서버의 역할을 수행하는 것이고, Cold-Standby는 작동하지 않다가 다운된 시점부터 가동되는 것이다.
Replication 복제
DB서버와 저장소를 복제하는 것
Standby의 갱신주기를 얼마로 할 것인가와 성능 차이 ← 트레이드 오프관계

Shared-Nothing
하나의 저장소가 여러 DB 서버에 사용되는 것을 Shared Disk라고 했는데, Shared Nothing은 저장소마저 독립적으로 분리하여 사용하는 구성이다.
비용 대비 성능이 좋다.
'책' 카테고리의 다른 글
[Book] 스프링 부트 핵심 가이드 Chap.2 (0) | 2024.06.23 |
---|---|
[Book] 스프링 부트 핵심 가이드 Chap.1 (0) | 2024.06.23 |
[데이터베이스 첫 걸음] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[반효경의 운영체제] 3주차 공부 내용 정리 (1) | 2023.10.17 |