Database: 데이터베이스 소개

danbibibi·2022년 5월 23일
0

Database 🤠

목록 보기
1/1

데이터베이스 소개

DBMS (Database Management System)

어떤 조직에 대한 모든 정보를 가지고 있는 시스템으로, 데이터를 체계적으로 저장/관리/운영화할 수 있도록 잘 조직화한 것이다.

DBMS 목적

데이터베이스가 존재하기 이전에는 파일 시스템을 이용해 데이터를 관리했다. 파일 시스템으로 데이터를 관리하는 경우 데이터의 중복, 비일관성 등의 문제가 발생하는데, 이러한 문제를 해결하기 위해 DBMS가 출현하게 되었다. 데이터베이스의 특징은 다음과 같다.

데이터베이스 특징

1. 데이터의 독립성

  • 물리적 독립성: 성능 향상을 위해 데이터베이스 사이즈를 늘리거나, 데이터파일을 새롭게 추가하더라도 관련 응용 프로그램을 수정할 필요가 없다. (응용 프로그램이 물리적 스키마에 의존하지 않아서 물리적 스키마가 변동되어도 고칠 필요가 없는 것)
  • 논리적 독립성: 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.

2. 데이터의 무결성

데이터의 정확성(중복이나 누락이 없는 상태), 일관성(원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태), 유효성이 유지되는 것을 의미한다. 데이터베이스는 여러 경로를 통해 잘못된 데이터가 발생하는 것을 방지하며 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다.

3. 데이터의 보안성

인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.

4. 데이터의 일관성

연관된 정보를 논리적인 구조로 관리함으로써 데이터를 변경할 경우 발생할 수 있는 데이터의 불일치성을 해결할 수 있다.

5. 데이터 중복 최소화

데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.

데이터의 관점

  • physical level
    : record를 물리적 저장장치에 어떻게 저장할 것인지.

  • logical level
    : 데이터들의 논리적 관계, 즉 record가 어떻게 구성되는지 기술함.
    스키마 - 데이터베이스의 논리적 구조 (물리적 스키마/논리적 스키마) ≈ 변수
    인스턴스 - 데이터베이스의 실제 내용물 ≈ 변수에 저장된 값

  • view level
    : 응용 프로그램에서 데이터의 일부를 보안상의 목적으로 숨길 수 있음.

DB 언어

  • DDL (데이터 정의 언어): 데이터베이스 스키마를 정의

  • DML (데이터 조작 언어): 데이터베이스 질의 및 갱신에 사용

DB 설계

1. 논리적 설계
: 데이터베이스 구조를 결정하는 과정으로 설계자는 좋은 관계형 스키마들의 집합을 찾아야 한다.

  • 비즈니스 관점: 데이터베이스에 어떤 속성들이 저장되어야 하는가?
  • 컴퓨터과학 관점: 어떤 관계형 스키마에 어떤 속성들이 저장되어야하며 서로 다른 관계형 스키마들이 어떤 속성으로 연결되어야 하는가!

2. 물리적 설계
: 데이터 베이스의 물리적 구조

DB 성능

데이터베이스의 성능 이슈는 디스크 I/O를 어떻게 줄이는지에서 시작된다. 디스크 I/O란 디스크 드라이브의 플래터(원판)을 돌려서 읽어야 할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 다음 데이터를 읽는 것을 의미한다. 이 때 데이터를 읽는데 걸리는 시간은 디스크 헤더를 움직여서 읽고 쓸 위치로 옮기는 단계에서 결정된다. 즉 디스크의 성능은 디스크 헤더의 위치 이동 없이 얼마나 많은 데이터를 한 번에 기록하느냐에 따라 결정된다고 볼 수 있다. 그렇기 때문에 순차 I/O가 랜덤 I/O보다 빠를 수 밖에 없다. 하지만 현실에서는 대부분의 I/O작업이 랜덤 I/O이다. 랜덤 I/O를 순차 I/O로 바꿔서 실행할 수는 없을까? 이러한 생각에서부터 시작되는 데이터베이스 쿼리 튜닝은 랜덤 I/O 자체를 줄여주는 것이 목적이라고 할 수 있다.

profile
블로그 이전) https://danbibibi.tistory.com

0개의 댓글