99클럽 코테 스터디 13일차 TIL DB 영속성
728x90
  • DB
    • Index
      • Index 작동 원리
      • Index 종류
        • B-Tree 인덱스
        • Hash Indexes
        • Bitmap Index
        • GIST(Generalized Search Tree)
        • R-Tree
        • Full Text Index
        • Spatial Index
        • Trie(Prefix Tree) Index
        • Covering Index
  • 영속성
  • 트랜잭션
  • ORM
  • ACID
  • N+1 문제
  • DB 정규화
  • Data Replication
  • sharding 전략
  • CAP 이론

Persistence

란?

  • 데이터를 영구적으로 저장하는 능력을 의미함.
  • 데이터베이스가 소프트웨어나 시스템의 종료 후에도 데이터를 보존하고 재접근할 수 있도록 보장

1. 데이터 저장

  • DB는 다양한 저장 매체(하드 디스크, SSD 등)에 데이터를 저장함. 이 저장 과정은 데이터베이스 관리 시스템(DBMS)에 의해 관리되며, 데이터는 파일 시스템, 블록 스토리지 또는 특화된 데이터 저장 형식을 사용하여 영구적으로 기록됨.

2. 트랜잭션 관리

  • DBMS 는 트랜잭션의 원자성, 일관성, 고립성, 지속성(ACID 속성)을 보장하며 데이터의 영속성을 유지함.
  • 특히, 시스템의 오류가 발생해도 일단 완료된 트랜잭션은 데이터베이스에 영구적으로 반영되어야 함을 의미함.

3. 데이터 무결성

  • DB는 무결성 제약 조건을 사용하여 데이터의 정확성과 일관성을 유지함. 예를 들어, 외래 키 (FK) 제약 조건은 관련 데이터 간의 참조 무결성을 보장함.

4. 백업과 복구

  • DB 의 영속성을 보장하기 위해 정기적인 백업이 필수임. 백업은 데이터 손실을 방지하고, 시스템 오류나 데이터 손상 시 복구를 가능하게 함.
  • 복구 절차는 백업된 데이터를 사용하여 데이터베이스르 이전 상태로 복원할 수 있게함.

5. 확장성과 고가용성

  • 데이터베이스의 영속성을 유지하기 위해 종종 데이터를 여러 서버나 위치에 분산 저장함.
  • 데이터의 고가용성과 재해복구 목적을 달성하는데 도움을 줌.

6. 캐싱과 성능 최적화

  • 캐싱은 데이터의 영속성과 직접적인 연관은 없지만, 데이터 접근 속도를 높여 사용자 경험을 개선함. 캐시된 데이터는 일시적으로 메모리에 저장되지만, 중요 데이터는 여전히 DBMS 를 통해 영구저장 됨.
728x90