[데이터베이스 첫 걸음] 4주차 공부 내용 정리

2023. 10. 17. 15:16· 책
목차
  1. 아키텍처란, 하드웨어와 미들웨어의 구성, 시스템의 목적과 기능을 의미
  2. 단점
  3. 장점
  4. 단점
  5. Client-Server 구조에 웹서버, 애플리케이션 서버, DB 서버 → 3계층!
728x90
반응형

데이터베이스와 아키텍처 구성

아키텍처란, 하드웨어와 미들웨어의 구성, 시스템의 목적과 기능을 의미

중요성

예산과 기능의 저울에서 저울질을 잘 해야함

기능 과다 → 예산 초과 → 망함 OR 돈 안씀 → 기능 저하 → 망함

⇒ 잘 조율해서 아키텍처를 설계해야 한다

Stand-Alone

물리적인 DB 서버. 네트워크에 연결하지 않은 상태 . 독립적. 가까이서 밖에 사용하지 못함.

단점

  1. 물리적으로 떨어진 장소에서 접근할 수 없다.
  2. 복수 사용자가 동시에 작업할 수 없다.
  3. 가용성이 낮다.
  4. 확장성이 부족하다.

장점

  1. 빠른 구축
  2. 높은 보안

Client-Server 특징

네트워크에 연결 → 다수의 사용자 접근 가능. 멀리 떨어져도 사용 가능 → Stand-Alone의 단점 극복

주로 닫힌 네트워크인 LAN에서 사용

단점

  1. 직접 데이터베이스에 접속하는 것에 대한 보안 위험
  2. 불특정 다수의 사용자가 사용하는경우 높은 관리 비용

WEB 3계층

Client-Server 구조에 웹서버, 애플리케이션 서버, DB 서버 → 3계층!

최근 아키텍처의 표준

아직 남은 단점 : 확장성, 가용성

→ 어떻게 하면 정지하지 않는 시스템을 만들 수 있을까?

가용성을 높히는 전략 2가지

  1. 심장전략 → 하나에 몰빵 → 매우 높은 신뢰성
  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은 저장소마저 독립적으로 분리하여 사용하는 구성이다.

비용 대비 성능이 좋다.

728x90
반응형
저작자표시 (새창열림)

'책' 카테고리의 다른 글

[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
  1. 아키텍처란, 하드웨어와 미들웨어의 구성, 시스템의 목적과 기능을 의미
  2. 단점
  3. 장점
  4. 단점
  5. Client-Server 구조에 웹서버, 애플리케이션 서버, DB 서버 → 3계층!
'책' 카테고리의 다른 글
  • [Book] 스프링 부트 핵심 가이드 Chap.2
  • [Book] 스프링 부트 핵심 가이드 Chap.1
  • [데이터베이스 첫 걸음] 3주차 공부 내용 정리
  • [반효경의 운영체제] 4주차 공부 내용 정리
heesang0930
heesang0930
백엔드 개발자로 성공하고 싶은 사람의 블로그
반응형
250x250
heesang0930
Tech Blog
heesang0930
전체
오늘
어제
06-27 23:16
  • 분류 전체보기
    • 책
    • Lang
    • Backend
      • Framework
      • Deployment
    • Cloud
    • 데이터베이스
    • Architecture
      • Monitoring
    • CS
    • 코딩 테스트
    • 자료구조&알고리즘
    • etc..
    • 공부

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • GitHub
  • Medium
  • will-post list

공지사항

  • 신입 백엔드개발자

인기 글

hELLO · Designed By 정상우.v4.2.2
heesang0930
[데이터베이스 첫 걸음] 4주차 공부 내용 정리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.