이번 포스팅에서는 databse 시스템이 왜 생겨났는지 그 이유를 알아보겠습니다.
초기 database system의 문제점
아주 이전에는 database 애플리케이션이 file 시스템으로 이루어졌고 이는 다음과 같은 문제들을 야기하였습니다.
- 데이터 중복(redundancy)과 불일치(inconsistency): 데이터들이 각기 다른 파일 포맷에 저장되어야 했기 때문에 정보의 중복을 만들었습니다.
- 데이터 접근의 어려움: 각기 다른 작업에 대해 새로운 프로그램을 작성해야 했습니다.
- 데이터 고립(isolation): 데이터가 다수의 파일과 포맷에 종속되어 재사용되기 힘든 문제입니다.
- 무결성(integrity) 문제: 무결성 제약조건은 독립적으로 존재하지 못하고 프로그램 코드에 의해 관리되어야 했고 이로 인해 제약조건을 추가하기 힘들었습니다. EX) 급여 > 0 등
- 업데이트의 원자성(atomicity): 송금과 같이 두 가지 작업(본인 계좌 -, 상대 계좌+)이 묶여있는 경우 작업이 하나로 묶여있는 상태인 원자성을 가지기 힘들었습니다.
- 복수 유저에 대한 동시 접근: 같은 데이터에 접근하는 동시 작업을 컨트롤할 때 문제가 생길 수 있습니다.
- 보안 문제: 유저들이 모든 데이터가 아닌 일부 데이터에 접근하게 하기 힘들었습니다.
데이터베이스 시스템은 위의 모든 문제에 대한 솔루션을 제공하기 위해 탄생했습니다.
'컴퓨터 공학 분야 별 지식 > database' 카테고리의 다른 글
DDL, DML (0) | 2024.04.06 |
---|---|
데이터베이스 추상화 계층 (0) | 2024.03.31 |
[DB, ERD]ERDCloud 사용법 (0) | 2022.04.14 |
[DB, SQL 문법 정리]Aggregate Functions<집계 함수>(avg, min, max, sum, count) and Group By (0) | 2022.04.11 |
[DB, SQL 문법 정리] SQL Operations<연산자>(String, between, union, intersect, except) (0) | 2022.04.08 |