jnk1m
Foliage IT
jnk1m
전체 방문자
오늘
어제
  • 분류 전체보기 (209)
    • Today I Learned (34)
    • Java (47)
    • Database (15)
    • [NHN Academy] (27)
    • Spring (47)
    • HTML + CSS + JavaScript (11)
    • JSP (3)
    • Node.js (10)
    • React Native (2)
    • 기타 (8)
    • 스크랩 (5)

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
글쓰기 / 관리자
jnk1m

Foliage IT

Database

[DB] 데이터 베이스를 사용하는 이유, 데이터 베이스의 성능

2022. 10. 29. 16:11

파일 처리 시스템


데이터 베이스 등장 이전에 파일 처리 시스템을 이용해서 데이터를 관리하였다.

파일 처리 시스템은 각각의 파일 단위로 데이터를 저장하는데, 파일에 접근하는 방식이 응용 프로그램 내에 표현되므로 응용 프로그램과 데이터 간의 의존 관계가 존재하게 되어 데이터 구조 및 접근 방법이 변경되면 기존의 프로그램과 데이터를 함께 변경해야 한다.

 

>> 데이터의 정의가 응용 프로그램에 내포되어 있고, 프로그램에서 직접적으로 데이터에 접근하고 조작하는 것 이외에 별도의 제어가 없기 때문에 데이터 종속성, 중복성 문제가 발생한다. 

 

데이터 종속성 

응용 프로그램과 데이터의 상호 의존 관계로 인해 파일 구조나 접근 방법이 변경되면 응용 프로그램도 함께 변경해야 한다

 

데이터의 중복성

한 시스템 내의 데이터가 중복 저장, 관리되어 관련된 데이터가 중복 저장된다. 이는 응용 프로그램의 독립적인 파일 관리로 인해, 응용 프로그램 별로 독립된 파일을 가지므로 데이터의 중복 저장이 불가피하며 이로 인해 데이터 값의 불일치가 발생한다.

 

1. 일관성: 데이터 불일치

2. 보안성: 같은 데이터에 동일한 보안 수준 적용의 어려움

3. 경제성: 저장 공간 낭비, 갱신 비용

4. 무결성: 데이터의 정확성 확보 불가 


이러한 파일 처리 시스템의 단점을 극복하기 위해 나온 것이 데이터 베이스이다.

데이터 베이스란? 
👉 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임
👉 특정 조직의 데이터를 여러 응용 시스템이 공유하기 위해, 최소의 중복으로 통합, 저장된 운영 데이터의 집합

데이터 베이스 관리 시스템(DBMS, Data Base Management System)이란?
👉 다수의 사용자들이 데이터 베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어를 의미한다

 

데이터 베이스의 특징


 

데이터의 독립성

 

논리적 독립성: 응용 프로그램에 영향을 주지 않고 데이터 베이스 논리적 구조를 변경할 수 있는 능력

물리적 독립성: 데이터 베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다. 

> 독립성은 파일 처리 시스템과는 다르게 DB에 변경이 생겨도 응용 프로그램에 영향이 가지 않음을 의미한다.

 

데이터의 무결성

데이터 베이스의 특징에 최우선적으로 거론되는 특징으로, 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다. 

데이터 무결성이란?
👉완전한 수명 주기를 거치면서 데이터의 정확성과 일관성을 유지하고 보증하는 것

데이터의 유효성 검사? 
👉 잘못된 값이 입력되지 않도록 미리 제한을 설정해 놓고 제한을 벗어나면 값이 입력되지 못하도록 하는 것 

 

데이터의 보안성

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

 

 

데이터의 일관성

관련 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 

또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않은 경우의 수 또한 배제 가능하다. 

 

데이터 중복 최소화

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

 

데이터 베이스의 성능


데이터 베이스의 성능 이슈는 디스크 I/O를 어떻게 줄이느냐에서 시작된다. 

디스크 I/O란 디스크 드라이브의 플래터(원판)을 돌려서 읽어야 할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 다음 데이터를 읽는 것을 의미한다. 이 때 데이터를 읽는데 걸리는 시간은 디스크 헤더를 움직여서 읽고 쓸 위치로 옮기는 단계에서 결정된다. 

즉, 디스크의 성능은 디스크 헤더의 위치 이동 없이 얼마나 많은 데이터를 한 번에 기록하느냐에 따라 결정된다고 볼 수 있다.

 

 

참고 

 

데이터베이스와 디스크 구조

저장 공간은 크게 휘발성 저장 공간과 비휘발성 저장공간으로 나뉩니다. 휘발성 저장 공간인 메모리는 전원 공급이 차단되면 가지고 있는 데이터가 모두 사라지기 때문에, 데이터베이스는 전원

velog.io

 

    'Database' 카테고리의 다른 글
    • [DB] 정규화에 대해서
    • [DB] Index란 무엇인가? Index 자료구조와 성능
    • [MySQL] Day 05: 쿼리문 정리
    • [SQL] Day02(Note + Code)

    티스토리툴바