ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

데이터베이스 (database)

 

정의

원하는 기능을 동작시키기 위해 마땅히 저장해야하는 정보의 집합입니다.
데이터베이스는 사용자에게 제공되는 프로그램에 있어 매우 중요합니다.
어떤 데이터가 저장되는지에 따라 서비스의 정체성이 달라지고, 저장 방식에 따라 성능이 달라질 수 있습니다.
이렇게 중요한 요소를 제대로 관리할 수단으로 DBMS가 존재합니다.

 

DBMS

데이터베이스 관리 시스템입니다.

 

DBMS (DataBase Management System)

develop-enchantment.tistory.com

 

파일 대신 데이터 베이스를 사용하는 이유

데이터를 단순 나열하여 저장하면, 한계점이 있습니다.

아래와 같은 .txt 파일이 있다고 예를 들겠습니다.

# 학과.txt
학과 이름 = 컴퓨터과학, 학과 코드 = 123, 학생 = 김민철, 박성훈, ... , 
학과 이름 = 생명자원학과, 학과 코드 = 234, 학생 = 김철수, 김영희, ... , 
학과 이름 = 경영학과, 학과 코드 = 345, 학생 = 김영호, 이명은, ... , 

# 학생.txt
이름 = 강민철, 나이 = 22, 사는 곳 = 서울, 학과 = 컴퓨터과학, 학번 = 32156
이름 = 이명은, 나이 = -1, 사는 곳 = 부산, 학과 = 경영학과, 학번 = 21343
이름 = 김철수, 나이 = 28, 사는 곳 = 대전, 학과 = 생명자원학과, 학번 = 21331

 

📌 데이터 일관성 및 무결성 제공이 어렵습니다.

DBMS는 서버와 같습니다. 보통 여러 명의 사용자, 프로그램이 동시다발적으로 데이터베이스를 이용합니다.

이로 인해 레이스 컨디션 문제가 발생하고 이로인해 데이터의 일관성이 훼손되기 쉽습니다.

동기화 도구를 사용해도 일일히 모든 접근에 사용하는 것은 효율적이지 않습니다.
또한 무결성을 일일히 검사하기 어려워 무결성을 보장하기 어렵습니다.

학생.txt 에서 '이명은'이라는 학생의 나이가 잘못된 값이 저장되어 있지만, 파일 기반으로 저장할 경우 이런 잘못된 값을 검출하기 어렵습니다.

 

📌 불필요한 중복 저장이 많아집니다.

다량의 데이터를 관리할 때 중복 저장은 큰 저장 공간 낭비로 이어질 수 있습니다.

파일로 다량의 데이터를 관리할 경우 불필요한 중복 저장이 발생하기 쉽습니다.

 

📌 데이터 변경 시 연관 데이터 변경이 어렵습니다.

학과.txt 파일에서 학과 이름이 컴퓨터과학에서 컴퓨터학과로 변경이 되었습니다.

그렇다면 학과.txt 파일에서 컴퓨터과학을 모두 찾아 일일히 변경해야 수고가 생깁니다.

 

📌 정교한 검색이 어렵습니다.

파일도 데이터 검색은 가능하지만, 데이터가 많을 경우 파일 내 문자열 검색에 국한됩니다.

예를 들어 나이가 25살 이상인 경영학과인 서울 거주자라는 정교한 검색의 경우 파일만으로는 어렵습니다.

 

📌 백업 및 복구가 어렵습니다.

데이터베이스는 여러 명의 사용자가 동시다발적으로 이용하기 때문에 백업과 복구 기능을 제공합니다.

하지만 파일은 제공하지 않거나 데이터베이스에 비해 부족한 수준입니다.

 

 

 

728x90