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

데이터베이스 시스템의 목적

N돌핀 2024. 3. 31. 19:03

이번 포스팅에서는 databse 시스템이 왜 생겨났는지 그 이유를 알아보겠습니다.

초기 database system의 문제점

아주 이전에는 database 애플리케이션이 file 시스템으로 이루어졌고 이는 다음과 같은 문제들을 야기하였습니다.

  • 데이터 중복(redundancy)과 불일치(inconsistency): 데이터들이 각기 다른 파일 포맷에 저장되어야 했기 때문에 정보의 중복을 만들었습니다.
  • 데이터 접근의 어려움: 각기 다른 작업에 대해 새로운 프로그램을 작성해야 했습니다.
  • 데이터 고립(isolation): 데이터가 다수의 파일과 포맷에 종속되어 재사용되기 힘든 문제입니다.
  • 무결성(integrity) 문제: 무결성 제약조건은 독립적으로 존재하지 못하고 프로그램 코드에 의해 관리되어야 했고 이로 인해 제약조건을 추가하기 힘들었습니다. EX) 급여 > 0 등
  • 업데이트의 원자성(atomicity): 송금과 같이 두 가지 작업(본인 계좌 -, 상대 계좌+)이 묶여있는 경우 작업이 하나로 묶여있는 상태인 원자성을 가지기 힘들었습니다.
  • 복수 유저에 대한 동시 접근: 같은 데이터에 접근하는 동시 작업을 컨트롤할 때 문제가 생길 수 있습니다.
  • 보안 문제: 유저들이 모든 데이터가 아닌 일부 데이터에 접근하게 하기 힘들었습니다.

 

데이터베이스 시스템은 위의 모든 문제에 대한 솔루션을 제공하기 위해 탄생했습니다.