혹시 '데이터 베이스를' 아십니까 ? #1 – 데이터베이스란?

전하윤·2025년 7월 1일
0

DB

목록 보기
1/7
post-thumbnail

목차


서론


출처: https://www.okoone.com

요즘 데이터베이스라는 용어를 모르는 사람은 잘 없을 거다.
그렇다면 데이터베이스란 뭘까? 언뜻 보면 굉장히 기술적으로 어렵게 느껴질 수 있지만, 사실은 생각보다 간단하다.
데이터베이스란 한마디로 체계적으로 구조화되어 저장하고, 관리하는 데이터의 집합을 의미한다.

주변을 보면 엑셀이나 구글시트에 가계부, 출석부, 명단 같은 장부를 적어놓는 사람도 많다.
이렇게 작성된 장부 역시 넓은 의미에서 보면 데이터베이스다.
다만, 우리가 보통 컴퓨터 분야에서 이야기하는 데이터베이스는, DBMS(데이터베이스 관리 시스템)라는 별도의 소프트웨어를 이용해 훨씬 더 체계적이고 안정적으로 데이터를 저장·관리하는 시스템을 말한다.

그렇다면 엑셀이나 구글시트로 장부를 관리하는 것과, 기업들이 사용하는 DBMS(Database Management System)로 데이터를 관리하는 것은 도대체 뭐가 다를까?
한 번쯤 이런 궁금증이 들었을 것이다.

“그냥 스프레드시트(구글시트, 엑셀)나 CSV 파일로 데이터 관리하면 충분하지 않나?”
“굳이 복잡한 데이터베이스(DBMS)를 왜 따로 써야 하지?”

이 글에서는 그 궁금증을 시작점으로, 데이터베이스가 뭔지, 왜 실무에서는 DBMS를 써야 하는지, 그리고 실제 현장에서 어떻게 활용되는지 기초부터 하나씩 정리해보려고 한다.


데이터베이스를 사용하는 이유

그렇다면 정말 스프레드시트(구글시트, 엑셀)나 CSV 같은 파일로도 충분하지 않을까?
왜 기업이나 서비스들은 굳이 DBMS라는 별도의 시스템을 사용하려는 걸까?

이 질문에는 기술적으로 중요한 이유들이 몇 가지 존재한다.

스프레드시트와 CSV 파일, 그리고 DBMS
이 세 가지 방식은 각각 분명한 장점과 한계가 있다.

  • 스프레드시트/CSV는 소규모 데이터나 임시 관리에는 편리하지만,
    여러 명이 동시에 데이터를 쓰거나, 대량의 데이터를 빠르고 안전하게 관리할 때는 한계가 있다.
    권한 관리, 무결성(정확성·일관성) 보장, 백업과 복구, 대용량 처리, 빠른 검색·집계 기능 등에서 한계가 뚜렷하다.
    특히 실시간 동시 접근, 자동화, 데이터 일관성·정합성 체크 같은 부분은 사실상 불가능하다.

  • DBMS는 이런 문제를 해결하기 위해 나온 시스템이다.
    DBMS는 대규모 데이터도 빠르고 안정적으로 관리할 수 있게 해주며,
    여러 명이 동시에 접속해서도 데이터가 깨지지 않도록 보호하고,
    데이터의 정확성과 일관성을 지키는 여러 기능을 기본적으로 제공한다.
    또한 DBMS는 트랜잭션 처리, 자동 백업, 세밀한 접근 권한 등 스프레드시트에서 제공할 수 없는 기능을 갖추고 있다.

따라서 실무나 서비스 환경에서는,
단순 파일이나 스프레드시트로는 한계가 뚜렷한 부분을 DBMS가 강력하게 해결해주기 때문에
기업이나 조직에서 DBMS를 도입해 사용하는 것이다.


DBMS의 종류 및 특징

DBMS(데이터베이스 관리 시스템)는 데이터를 어떻게 저장하고 관리하는지에 따라
관계형(Relational, RDBMS)비관계형(Non-Relational, NoSQL) 두 가지로 나눌 수 있다.


출처: https://www.nisum.com/

1. 관계형 DBMS (RDBMS)

관계형 DBMS는 엑셀처럼 행과 열로 이루어진 ‘테이블’ 구조를 사용한다.
각 행은 개별 레코드를 나타내고, 각 열은 값이 저장되는 속성을 의미한다.
이런 테이블 구조를 사용하면, 데이터 간의 관계를 쉽게 표현할 수 있고,
여러 테이블을 서로 연결해서 다양한 방식으로 데이터를 조회할 수 있다.

관계형 데이터베이스의 특징

  • 데이터를 저장하기 전에 데이터의 구조(스키마)를 먼저 정의하고, 그에 맞게 데이터를 입력해야 한다.
  • 특정한 형식과 제약조건을 통해, 데이터의 정확성과 일관성을 보장한다.
  • 다양한 쿼리(SQL)로 원하는 데이터를 쉽게 조회·분석할 수 있다.
  • 대표적인 관계형 DBMS: MySQL, MariaDB, Oracle, PostgreSQL

엑셀은 한 번에 하나의 표(테이블)만 관리하는 게 기본이며, 표(시트) 간의 관계·연결이 DBMS만큼 강력하지 않다.
데이터가 많아질수록 속도가 급격히 느려지고, 여러 표의 정보를 조합·분석하는 것도 제약이 많다.

2. 비관계형(NoSQL) DBMS

비관계형 DBMS는 테이블 구조가 아닌 다양한 형태로 데이터를 저장한다.
대표적으로 키-값(key-value), 문서(document), 그래프(graph), 컬럼(column) 등 여러 구조를 지원한다.

  • 데이터 구조가 유연해서, 고정된 스키마 없이 자유롭게 데이터를 저장할 수 있다.
  • 대용량 데이터, 비정형 데이터(예: 로그, 센서 데이터, SNS 글) 저장과 실시간 처리에 강점을 가진다.
  • 저장 방식에 따라, SQL이 필요 없는 경우도 많아서 NoSQL 데이터베이스라고도 불린다.
  • 데이터를 읽을 때 스키마에 맞춰 해석하는 ‘schema on read’ 방식을 많이 쓴다.
  • 대표적인 NoSQL DBMS: MongoDB(문서), Redis(키-값)

엑셀·구글시트로는 JSON, 그래프, 대용량 로그 등 다양한 데이터 형태를 효율적으로 관리하기 어렵다.
데이터가 유동적이거나 형태가 자주 바뀌는 경우에는 DBMS가 압도적으로 유리하다.


데이터베이스 설계의 기본 요소 (논리 vs 물리)


데이터 베이스 요구사항 명세서 예시

데이터베이스를 설계할 때, 가장 먼저 해야 할 일은
비즈니스의 목적과 요구사항을 꼼꼼하게 분석하는 것이다.

이 단계가 데이터베이스 설계에서 사실상 가장 중요하고,
실제로도 가장 시간이 많이 걸리는 부분이라고 생각한다.

현실의 비즈니스 로직에는 정말 다양한 변수가 존재하고,
중간에 요구사항이 바뀌는 경우도 흔하다.

그럼에도 불구하고, 핵심적으로 반드시 지켜야 할 제약조건필수 요구사항
웬만하면 초기에 명확히 정해두는 게 중요하다.

이 단계에서 요구사항을 제대로 정리해 두어야
이후 데이터베이스 구조를 설계할 때 시행착오를 줄일 수 있다.

엑셀에서는 설계 변경 시 표 전체를 복사하거나, 데이터가 뒤섞이기 쉽고
여러 사람이 동시에 구조를 바꾸면 데이터가 깨지기 쉽다.
반면 DBMS는 구조 설계와 변경, 그리고 그 기록까지 체계적으로 관리한다.

요구사항을 충분히 분석하고 정리했다면,
다음 단계는 바로 논리적 모델링이다.

논리적 모델링


개인 프로젝트에서 쓰일 임시로 만든 ERD

논리적 모델링 단계에서는
주로 ERD(엔터티-관계 다이어그램)를 그려서 데이터 구조를 시각적으로 설계한다.

이때는 실제 데이터 타입이나 저장 방식보다는
어떤 데이터(엔티티)가 존재하는지, 그리고 이 데이터들이 서로 어떻게 연결되어 있는지에 집중한다.

데이터베이스에서 생성되는 객체를 엔티티(Entity)라고 부르고,
각 엔티티가 어떤 속성(필드)을 가지는지,
엔티티들 사이에 1:1, 1:N, N:M 관계가 어떻게 형성되는지를 한눈에 볼 수 있게 만든다.

이 과정을 통해 전체 데이터의 구조와 관계가 명확하게 정리되고,
비즈니스 로직이 데이터 구조에 자연스럽게 녹아들 수 있다.

엑셀에서는 이런 관계와 연결을 시각적으로 그려서 강제할 방법이 거의 없다.
반면 DBMS에서는 ERD 등으로 관계를 설계하고, 시스템이 스스로 그 관계를 관리한다.

물리적 모델링


ERD를 실제 테이블로 생성하는 쿼리문 예시

논리 모델이 완성되면,
그걸 실제 DBMS에서 동작할 수 있도록 테이블, 컬럼, 데이터 타입, 인덱스, 제약조건 등으로 구체화하는 단계가 물리적 모델링이다.

각 테이블의 컬럼 타입, 길이, PK/FK(기본키/외래키), 인덱스 설정 등
세부적으로 조정하며, 실제 시스템에 맞게 설계를 마무리한다.

이 과정은 데이터베이스의 성능이나 보안에 큰 영향을 줄 수 있기 때문에,
설계 시에 상당한 주의가 필요하다.

예를 들어, 데이터 양이 많아질수록 인덱스를 적절히 설정하지 않으면 조회 성능이 급격히 떨어질 수 있고,
민감한 정보는 암호화하거나 접근 권한을 세분화하는 등 실무적인 고려가 반드시 들어가야 한다.

엑셀/CSV로는 수십만, 수백만 건 데이터에 빠르게 접근하거나
민감 정보에 대한 세부 권한, 인덱스·최적화 등은 사실상 구현이 어렵다.
DBMS는 이를 손쉽게 설계하고 적용할 수 있다.


데이터베이스의 이점 (무결성, 보안, 백업 및 재해 복구, 커뮤니티 지원 등등)

앞에서 왜 DBMS를 사용하는지 다뤄봤지만,
좀 더 구체적으로, DBMS 기반 데이터베이스가 제공하는 핵심적인 이점들을 하나씩 살펴보자.

스프레드시트나 CSV 파일로는 얻기 힘든,
DBMS만의 강력한 장점이 아래와 같다.

1. 데이터 무결성

데이터베이스는 단순히 데이터를 저장하는 것으로 끝나지 않는다.
가장 큰 장점 중 하나는 바로 데이터 무결성(Integrity), 즉 데이터의 정확성, 일관성, 완전성을 보장할 수 있다는 점이다.

관계형 데이터베이스에서는
프라이머리 키(Primary Key), 외래 키(Foreign Key), Not NULL, Unique, Default, Check 같은
다양한 제약조건(Constraint)을 통해,
잘못된 데이터 입력을 원천적으로 막을 수 있다.

이런 무결성 제약조건 덕분에, 데이터베이스에 저장된 정보는 언제나 신뢰할 수 있다.
비즈니스의 중요한 규칙(예: “회원 이메일은 반드시 고유해야 한다”, “나이는 0~120세만 허용” 등) 역시
시스템적으로 강제할 수 있다.

필요하다면 트리거나 저장 프로시저 같은 고급 기능을 활용해,
특정 상황에 맞는 추가 로직도 쉽게 구현할 수 있다.

엑셀/CSV는 이런 제약조건이 없기 때문에, 같은 데이터가 중복 입력되거나
잘못된 값이 들어가는 걸 막기가 어렵다.
DBMS는 구조적으로 이걸 방지해준다.

2. 보안

DBMS는 정교한 권한 관리와 접근 제어 기능을 내장하고 있다.

관리자는 “누가”, “어떤 데이터에”, “어떤 작업(읽기/쓰기/삭제 등)”을 할 수 있는지
아주 세밀하게 지정할 수 있다.

DBMS에 따라서는 “셀 단위”까지 권한을 제한하는 것도 가능하다.
덕분에 민감한 데이터나 개인정보를 안전하게 보호할 수 있고,
다수의 사용자가 협업하는 환경이나, 외부 침입/유출로부터 데이터를 지켜야 하는 상황에서
DBMS의 권한 관리가 큰 역할을 한다.

스프레드시트의 공유 기능은 매우 단순해서, 전체 접근 권한이나 읽기/편집 정도만 나뉠 뿐이다.
세부적인 보안·접근 제어, 감사 로그, 암호화 등은 구현이 거의 불가능하다.

3. 백업 및 재해 복구

실수, 해킹, 장애 등으로부터 데이터를 안전하게 보호하려면
정기적인 백업과, 문제가 발생했을 때 빠르게 복구할 수 있는 재해 복구(Recovery) 기능이 반드시 필요하다.

DBMS는 내장된 백업/복원 기능,
실시간 데이터 미러링, 트랜잭션 로그 등 다양한 방법을 제공해서
데이터 손실 위험을 최소화할 수 있다.

특히 최근에는 클라우드 DBMS도 많이 사용하면서,
수초 만에 데이터를 복원하거나
지속적으로 여러 장소에 데이터를 백업·보관하는 것도 어렵지 않다.

엑셀/CSV로는 사람이 직접 복사하거나 저장본을 만들어야 하고,
실시간 백업이나 장애 복구는 기대하기 힘들다.
DBMS는 이런 기능이 내장되어 있어 장애에도 빠르게 대응할 수 있다.

4. 커뮤니티 지원 및 생태계

많은 관계형 데이터베이스(DBMS)는 오픈 소스이거나,
전 세계적으로 커뮤니티가 활발하게 운영되고 있다.

예를 들어 MySQL, MariaDB, PostgreSQL 같은 데이터베이스는
무료로 사용할 수 있을 뿐 아니라,
각종 플러그인, 튜토리얼, 문제 해결 경험, 도구 등이 공유되고 있다.

이 덕분에 데이터베이스를 처음 배우거나,
실제 실무에 도입하는 과정에서도
풍부한 자료와 커뮤니티의 도움을 받아 쉽게 시작하고 성장할 수 있다.

스프레드시트나 CSV 파일은 도구에 따라 자료·생태계가 제한적이고,
문제 해결이나 확장성 면에서 DBMS와 비교하기 어렵다.


이렇게 데이터베이스와 DBMS의 기본 개념, 그리고 그 필요성과 실질적인 장점까지 정리해봤다.
추후에는 인덱스,정규화,트렌젝션,교착상태,SQL보안,NoSQL등
더 다양한 내용을 심화 주제로 다룰 예정이다.
관심 있다면 다음 글도 계속 확인해주길 바란다.


Reference

profile
개발에 대한 고민과 성장의 기록을 일기장처럼 성찰하며 남기는 공간

0개의 댓글