컴퓨터 공학 분야 별 지식/database

Database storage manager

N돌핀 2024. 4. 6. 19:52

Database Design

데이터베이스의 일반적인 구조를 디자인하는 목적은 다음과 같습니다. 적절하게 설계된 데이터베이스는 최신의 정확한 정보에 대한 액세스를 제공합니다. 처음 데이터베이스를 설계할 때 시간이 걸리더라도 데이터베이스를 잘 설계해두면 이후에 오히려 유지보수 시간을 많이 아낄 수 있습니다.

 

Logical Design: 데이터베이스의 스키마를 결정합니다.

비즈니스 디자인: 우리의 데이터베이스 레코드에 무슨 속성이 필요할까?

컴퓨터 과학 디자인: 무슨 관계 스키마가 꼭 필요하고, 어떻게 속성들이 다양한 관계 스키마에 배포될 수 있을까?

 

Physical Design: 데이터베이스의 물리적 레이아웃을 결정합니다. 

 

Database Engine

데이터베이스 시스템은 전체 시스템에서 각 역할을 하는 모듈로 분할됩니다. 예를 들어 다음과 같습니다.

1. storage manager

2. query processor component

3. transaction management component

 

storage manager

프로그램 모듈은 데이터베이스에 저장된 로우 레벨의 데이터와 애플리케이션 프로그램, 그리고 시스템에서 제출된 쿼리 간의 인터페이스를 제공합니다.

 

storage manager 컴포넌트는 다음과 같은 것들을 포함합니다.

  1. 데이터 저장 및 구조화: 스토리지 매니저는 데이터를 저장하기 위한 물리적인 구조를 관리합니다. 이는 디스크 공간을 할당하고 데이터를 블록 또는 페이지 단위로 저장하는 것을 포함합니다. 데이터베이스 시스템은 스키마를 기반으로 데이터를 구조화하고, 스토리지 매니저는 이러한 구조화된 데이터를 관리하여 효율적인 저장과 액세스를 가능하게 합니다.
  2. 인덱싱: 스토리지 매니저는 인덱스 구조를 관리하여 데이터를 빠르게 검색할 수 있도록 지원합니다. 인덱스는 데이터베이스의 검색 성능을 향상시키는 데 중요한 역할을 합니다. 주요 인덱스 유형으로는 B-트리, 해시 인덱스, 비트맵 인덱스 등이 있습니다.
  3. 캐싱과 버퍼 관리: 스토리지 매니저는 메모리를 사용하여 데이터를 캐싱하고 버퍼를 관리하여 디스크 I/O를 줄입니다. 이는 데이터베이스 시스템의 성능을 향상시키는 데 도움이 됩니다. 데이터베이스 쿼리나 트랜잭션이 자주 사용하는 데이터는 메모리에 캐싱되어 빠른 액세스가 가능하게 됩니다.
  4. 트랜잭션 관리: 스토리지 매니저는 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션 속성을 유지하기 위해 트랜잭션 관리를 지원합니다. 이는 데이터베이스의 일관성과 무결성을 보장하는 데 중요합니다.
  5. 보안 및 권한 관리: 데이터베이스에 저장된 데이터의 보안을 유지하기 위해 스토리지 매니저는 데이터 접근 권한을 관리하고 보안 정책을 적용합니다. 이는 데이터의 기밀성과 무결성을 보호하는 데 도움이 됩니다.
  6. 백업과 복구: 스토리지 매니저는 데이터베이스의 안전한 백업과 복구를 지원합니다. 시스템 장애나 데이터 손실 시에도 데이터를 복구하여 시스템의 안정성을 유지합니다.

각 데이터베이스 시스템은 이러한 스토리지 매니저의 기능을 구현하기 위해 다양한 기술과 알고리즘을 사용합니다. 예를 들어, 관계형 데이터베이스 시스템에서는 B-트리나 해시 인덱스를 사용하여 데이터를 인덱싱하고, 로그 기반 복구 기술을 활용하여 백업과 복구를 수행합니다. NoSQL 데이터베이스에서는 다른 형태의 인덱싱이나 데이터 분산 관리 기술을 사용할 수 있습니다.

'컴퓨터 공학 분야 별 지식 > database' 카테고리의 다른 글

Database query processor  (0) 2024.04.06
DDL, DML  (0) 2024.04.06
데이터베이스 추상화 계층  (0) 2024.03.31
데이터베이스 시스템의 목적  (0) 2024.03.31
[DB, ERD]ERDCloud 사용법  (0) 2022.04.14