본문으로 건너뛰기
AIDevOps
  • Learn
  • Learning Paths
  • Practice
  • Open Source
  • Books
  • Engineering

    AI DevOpsAI 서비스 개발·운영 전체 지도LLMOpsLLM 배포·평가·관측실전 프로젝트AI Agent 프로젝트 실습

    Knowledge

    Docs기술 문서 모음Blog엔지니어링 아티클Plogger개발 기록 피드

    Validate

    Certification3단계 역량 인증 · 준비 중
AI Models
LlamaMistralGemmaDeepSeekQwen
💾 Database
DB 입문 & 로드맵공통 SQLOracleMySQLPostgreSQL|MongoDB벡터 DB
🤖 AI 실전 개발
AI 실전 입문 & 로드맵Hugging FaceLangChainLlamaIndexLLMOps|LangGraphMCPMulti-AgentAgent Evaluation
🧠 AI Core
AI 입문 & 로드맵ML FundamentalsLLM Fundamentals|Python AIC++|PyTorchTensorFlowJAX
🧠 AI Agent 개발
금융 AI AgentLLM API 서버주식 투자 AgentAIOps AI Agent교육 AI Agent코딩 AI Agent
🌱 Spring Cloud
Spring 입문 & 로드맵Spring Cloud GatewaySpring BootJava|Spring AISpring SecuritySpring BatchSpring JPA
🐳 DevOps
DevOps 입문 & 로드맵LinuxDockerCI/CD|Kubernetes 기본K8s 심화/실무PrometheusGrafana
🧱 인프라
인프라 입문 & 로드맵NginxRedis
☁️ 클라우드
클라우드 입문 & 로드맵AWSGCPAzureNCPCloudflare
🎨 Frontend
Frontend 입문 & 로드맵JavaScriptTypeScript|ReactNext.js|VueNuxt
📱 Mobile
Mobile 입문 & 로드맵KotlinAndroidFlutter
⚙️ Backend
Backend 입문 & 로드맵Python 기본FastAPIDjangoFlask|CGoGinNode.js
🧪 검증
k6JMeternGrinder
AIDevOps

Engineering AI. From Code to Production.
AI와 AI Agent를 개발하고 운영하기 위한 엔지니어링 학습 플랫폼

Learn

  • 전체 가이드
  • Learning Paths
  • Practice
  • Books

Resources

  • AI DevOps
  • LLMOps
  • 실전 프로젝트
  • Docs
  • Blog
  • Plogger
  • Open Source
  • Certification (준비 중)

Start Here

  • AI Core 로드맵
  • AI 실전 개발 로드맵
  • Spring Cloud 로드맵
  • DevOps 로드맵
  • 인프라 로드맵

 

  • 클라우드 로드맵
  • Frontend 로드맵
  • Mobile 로드맵
  • Backend 로드맵
  • Database 로드맵
© 2026 AI DevOps Korea. All rights reserved.
이용약관개인정보처리방침Sitemaptestforge.kr
  1. Home
  2. Learn
  3. Database
  4. DB 입문 & 로드맵
데이터베이스 입문자를 위한 첫 가이드

🧭 DB 입문 & 로드맵 완전 가이드

Visitors

데이터베이스를 처음 배우는 분을 위한 출발점입니다. 데이터베이스가 왜 필요한지, 관계형(RDBMS)과 NoSQL·벡터 DB의 차이, 테이블 설계와 정규화, 인덱스와 트랜잭션의 원리, Oracle·MySQL·PostgreSQL·MongoDB 선택 기준, 그리고 SQL 기초부터 운영·튜닝까지의 학습 로드맵을 정리합니다.

  • Beginner · 입문
  • 업데이트 2026.09.24
  • 약 10분 읽기
  • 12개 섹션
  • 예제 코드 1개
🧭
DB 개념 큰 그림RDBMS vs NoSQL 선택테이블 설계 기초인덱스·트랜잭션 이해DB 학습 순서

관련 프레임워크 & 개발환경

💾공통 SQL→🐘PostgreSQL→🐬MySQL→🔴Oracle→🍃MongoDB→🧠벡터 DB→

목차

0 / 14
  1. 가이드 사용법
  2. 구조 다이어그램
  3. 데이터베이스는 왜 필요한가
  4. DB 종류 지도
  5. 제품 선택 기준
  6. 테이블 설계 기초
  7. 첫 SQL
  8. 인덱스와 트랜잭션
  9. 운영의 기본
  10. 시작 전 준비물
  11. 단계별 로드맵
  12. 8주 학습 플랜
  13. 자주 하는 실수
  14. 핵심 용어 사전
목차 14개 섹션
  1. 가이드 사용법
  2. 구조 다이어그램
  3. 데이터베이스는 왜 필요한가
  4. DB 종류 지도
  5. 제품 선택 기준
  6. 테이블 설계 기초
  7. 첫 SQL
  8. 인덱스와 트랜잭션
  9. 운영의 기본
  10. 시작 전 준비물
  11. 단계별 로드맵
  12. 8주 학습 플랜
  13. 자주 하는 실수
  14. 핵심 용어 사전

가이드 사용법

읽는 방향

DB 입문 & 로드맵를 실무 흐름으로 이해하기

데이터베이스를 처음 배우는 분을 위한 출발점입니다. 데이터베이스가 왜 필요한지, 관계형(RDBMS)과 NoSQL·벡터 DB의 차이, 테이블 설계와 정규화, 인덱스와 트랜잭션의 원리, Oracle·MySQL·PostgreSQL·MongoDB 선택 기준, 그리고 SQL 기초부터 운영·튜닝까지의 학습 로드맵을 정리합니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.

핵심 관점

데이터베이스

쿼리 문법과 함께 스키마 설계, 인덱스, 트랜잭션, 권한, 백업까지 운영 관점으로 봅니다.

DB 개념 큰 그림RDBMS vs NoSQL 선택테이블 설계 기초인덱스·트랜잭션 이해DB 학습 순서

구조 다이어그램

글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 DB 입문 & 로드맵를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.

학습 흐름

다이어그램 렌더링 중…

아키텍처 관점

다이어그램 렌더링 중…

데이터베이스는 왜 필요한가

DB 입문 & 로드맵를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.

데이터를 엑셀이나 파일에 저장해도 되지 않을까요? 사용자가 한 명일 때는 괜찮습니다. 하지만 수천 명이 동시에 주문하고, 서버가 갑자기 꺼져도 데이터가 사라지지 않아야 하며, 수억 건 중에서 원하는 데이터를 0.01초 안에 찾아야 한다면 이야기가 달라집니다.

데이터베이스(DBMS)는 바로 이 문제들 — 동시성, 영속성, 정합성, 빠른 검색, 보안 — 을 해결하기 위해 수십 년간 발전해온 소프트웨어입니다. 백엔드 성능 문제의 상당수가 결국 DB 문제로 귀결되기 때문에, DB는 모든 서버 개발자의 필수 역량입니다.
요구 사항파일 저장데이터베이스
동시 수정덮어쓰기로 데이터 유실잠금·트랜잭션으로 안전하게 처리
장애 복구쓰는 도중 꺼지면 파일 손상로그 기반 복구로 일관성 유지
검색 속도전체를 처음부터 읽어야 함인덱스로 즉시 탐색
데이터 규칙잘못된 값도 그대로 저장제약 조건(NOT NULL, UNIQUE, FK)으로 차단
권한파일 단위테이블·행·컬럼 단위 권한

DB 종류 지도: 관계형 · NoSQL · 특수 목적

DB 종류 지도: 관계형 · NoSQL · 특수 목적은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

"SQL vs NoSQL" 중 하나만 고르는 시대는 지났습니다. 실제 서비스는 관계형 DB를 중심에 두고, 목적에 맞는 DB를 보조로 함께 사용하는 경우가 대부분입니다.
유형데이터 모델강점대표 제품가이드
관계형 (RDBMS)테이블(행·열) + 관계정합성, 트랜잭션, 복잡한 조회Oracle, MySQL, PostgreSQLSQL, PostgreSQL
문서형 (Document)JSON 형태 문서유연한 스키마, 수평 확장MongoDBMongoDB
키-값 (Key-Value)키 → 값초고속 읽기·쓰기, 캐시·세션RedisRedis
벡터 (Vector)임베딩 벡터의미 기반 유사도 검색 (AI·RAG)pgvector, Chroma, Pinecone벡터 DB
기타시계열, 그래프, 검색 엔진특정 쿼리 패턴 최적화InfluxDB, Neo4j, Elasticsearch-

Tip

처음 배우는 DB는 관계형을 추천합니다. SQL과 정규화·트랜잭션 개념은 다른 모든 DB를 이해하는 기준점이 됩니다.

제품 선택 기준: Oracle · MySQL · PostgreSQL · MongoDB

제품 선택 기준: Oracle · MySQL · PostgreSQL · MongoDB은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

신규 프로젝트에서 특별한 이유가 없다면 PostgreSQL이 가장 무난한 선택입니다. 관계형 기능과 JSON 저장, 벡터 검색(pgvector)까지 하나의 DB로 해결할 수 있습니다. 국내 금융·공공 분야 취업을 목표로 한다면 Oracle 경험이 도움이 됩니다.
제품특징주로 쓰이는 곳가이드
Oracle상용, 최고 수준의 기능·안정성, 높은 비용금융·공공·대기업 레거시Oracle
MySQL오픈소스, 가볍고 빠름, 가장 넓은 사용층웹 서비스, 스타트업MySQL
PostgreSQL오픈소스, 표준 준수, JSON·확장(pgvector) 강력신규 서비스, AI 서비스, 분석PostgreSQL
MongoDB문서형 NoSQL, 스키마 유연성빠르게 변하는 데이터 구조, 로그·콘텐츠MongoDB

테이블 설계 기초: 엔티티, 관계, 정규화

테이블 설계 기초: 엔티티, 관계, 정규화은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

좋은 테이블 설계는 "같은 정보를 두 곳에 저장하지 않는 것"에서 시작합니다. 회원 이름을 주문 테이블에도 저장해두면, 이름이 바뀔 때 두 곳을 모두 고쳐야 하고 하나를 놓치면 데이터가 어긋납니다. 이를 막기 위해 데이터를 주제별 테이블로 나누는 과정을 정규화라고 합니다.
관계예시구현 방법
1:1회원 ↔ 회원 상세 프로필한쪽 테이블에 상대 PK를 UNIQUE FK로
1:N회원 1명 ↔ 주문 여러 건N쪽(주문) 테이블에 회원 FK
N:M주문 ↔ 상품 (한 주문에 여러 상품, 한 상품이 여러 주문에)중간 테이블(주문상품)로 분리

Tip

정규화는 정합성을 지키는 기본이지만, 조회 성능을 위해 의도적으로 일부 중복을 허용하는 비정규화도 실무에서 쓰입니다. 단, 먼저 정규화하고 측정한 뒤 필요한 곳만 비정규화하세요.

첫 SQL: 테이블 만들고 조회하기

여기서는 첫 SQL: 테이블 만들고 조회하기을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.

SQL은 "어떻게"가 아니라 "무엇을" 원하는지 선언하는 언어입니다. 아래 예제는 회원과 주문 테이블을 만들고, 회원별 주문 금액 합계를 구합니다. JOIN과 GROUP BY만 익혀도 실무 조회의 절반 이상을 작성할 수 있습니다.
first.sqlSQL
CREATE TABLE members (
  id         BIGSERIAL PRIMARY KEY,
  email      VARCHAR(255) NOT NULL UNIQUE,
  name       VARCHAR(100) NOT NULL,
  created_at TIMESTAMP    NOT NULL DEFAULT now()
);

CREATE TABLE orders (
  id         BIGSERIAL PRIMARY KEY,
  member_id  BIGINT  NOT NULL REFERENCES members(id),   -- 1:N 관계
  amount     INTEGER NOT NULL CHECK (amount > 0),
  ordered_at TIMESTAMP NOT NULL DEFAULT now()
);

CREATE INDEX idx_orders_member ON orders(member_id);   -- JOIN·조회 성능

INSERT INTO members (email, name) VALUES ('kim@example.com', '김개발'), ('lee@example.com', '이디비');
INSERT INTO orders (member_id, amount) VALUES (1, 30000), (1, 12000), (2, 8000);

-- 회원별 주문 건수와 총액 (많이 산 순)
SELECT m.name, COUNT(o.id) AS order_count, SUM(o.amount) AS total
FROM members m
JOIN orders o ON o.member_id = m.id
GROUP BY m.id, m.name
ORDER BY total DESC;

인덱스와 트랜잭션: DB의 두 기둥

인덱스와 트랜잭션: DB의 두 기둥은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

인덱스는 책의 색인과 같습니다. 색인 없이 특정 단어를 찾으려면 책 전체를 넘겨야 하듯, 인덱스가 없으면 DB는 테이블 전체를 읽습니다(Full Scan). 반대로 인덱스는 쓰기 성능과 저장 공간을 소모하므로 자주 조회하는 조건에만 만듭니다.

트랜잭션은 "계좌 A에서 출금 + 계좌 B에 입금"처럼 함께 성공하거나 함께 실패해야 하는 작업을 묶는 단위입니다. 이를 보장하는 네 가지 성질을 ACID라고 합니다.
ACID의미예시
Atomicity (원자성)전부 성공하거나 전부 취소출금만 되고 입금이 안 되는 일은 없음
Consistency (일관성)제약 조건이 항상 지켜짐잔액이 음수가 되지 않음
Isolation (격리성)동시 실행 트랜잭션이 서로 간섭하지 않음두 사람이 동시에 마지막 재고를 사지 못함
Durability (지속성)커밋된 데이터는 장애에도 유지커밋 직후 서버가 꺼져도 주문 유지

Tip

느린 쿼리를 만나면 가장 먼저 EXPLAIN으로 실행 계획을 확인하세요. 인덱스를 타는지, 전체 스캔을 하는지가 바로 보입니다.

운영의 기본: 백업, 권한, 모니터링

운영의 기본: 백업, 권한, 모니터링은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

백업은 "복구해봤을 때" 비로소 의미가 있습니다. 정기적으로 백업에서 실제 복구를 해보는 리허설을 운영 절차에 포함하세요.
영역해야 할 일놓치면
백업정기 전체 백업 + 로그 백업, 복구 리허설장애 시 데이터 영구 손실
권한애플리케이션 계정은 필요한 테이블·권한만해킹 시 전체 DB 유출
커넥션 관리커넥션 풀 크기 조정, 유휴 연결 정리연결 고갈로 서비스 중단
슬로 쿼리느린 쿼리 로그 수집 및 주기적 개선트래픽 증가 시 DB 과부하
복제 (Replication)읽기 전용 복제본, 장애 시 전환단일 장애점
스키마 변경마이그레이션 도구로 버전 관리, 대형 테이블은 온라인 변경운영 중 테이블 잠금

시작 전 준비물

시작 전 준비물은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

DB 학습은 프로그래밍 경험이 없어도 시작할 수 있는 분야입니다. SQL은 영어 문장과 비슷해 비개발 직군(기획, 마케팅, 데이터 분석)도 많이 배웁니다.
영역무엇을어느 정도
DB 설치 또는 온라인 실습 환경Docker로 PostgreSQL/MySQL 실행Docker 기본 명령
SQL 클라이언트DBeaver, DataGrip, psql쿼리 실행과 결과 확인
집합 개념교집합·합집합·차집합JOIN을 이해하는 기초
프로그래밍 언어 1개 (선택)애플리케이션에서 DB 연결Python·Java 등으로 쿼리 실행

단계별 로드맵: SQL 기초부터 운영·튜닝까지

단계별 로드맵: SQL 기초부터 운영·튜닝까지은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

단계목표학습 내용가이드완료 체크
0. SQL 기초데이터 조회·조작SELECT, WHERE, JOIN, GROUP BY, INSERT/UPDATE/DELETE공통 SQL조인·집계 쿼리 10개 작성
1. 설계테이블 모델링ERD, 정규화, 제약 조건, 관계공통 SQL쇼핑몰 ERD 설계
2. 제품 선택RDBMS 하나 깊게데이터 타입, 함수, 제품별 특성PostgreSQL, MySQL, Oracle설계한 ERD를 실제 DB로 구축
3. 성능빠른 쿼리인덱스, 실행 계획(EXPLAIN), 쿼리 튜닝PostgreSQL느린 쿼리 개선 전후 비교
4. 트랜잭션동시성 제어ACID, 격리 수준, 잠금, 데드락MySQL동시 재고 차감 테스트
5. NoSQL목적별 DB 활용문서 모델, 캐시, 키-값MongoDB, Redis캐시 적용 전후 응답 시간 비교
6. AI 시대의 DB벡터 검색임베딩, 유사도, HNSW 인덱스, 하이브리드 검색벡터 DBpgvector 의미 검색 구현
7. 운영안정적인 운영백업·복구, 복제, 권한, 모니터링Oracle, PostgreSQL백업 복구 리허설

8주 학습 플랜: 하루 1시간 기준

8주 학습 플랜: 하루 1시간 기준은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

연습용 데이터가 필요하다면 공공데이터포털의 CSV를 DB에 적재해보세요. 실제 데이터는 결측·중복·형식 오류가 있어 좋은 연습이 됩니다.
주차주제결과물
1주SELECT, WHERE, ORDER BY, 함수샘플 DB 조회 연습 30문제
2주JOIN, GROUP BY, 서브쿼리매출 분석 리포트 쿼리
3주테이블 설계, 정규화, 제약 조건쇼핑몰 ERD + DDL
4주인덱스와 실행 계획10만 건 데이터로 인덱스 전후 비교
5주트랜잭션과 격리 수준동시 주문 시나리오 실험
6주MongoDB · Redis같은 데이터를 문서 모델로 재설계
7주벡터 DBpgvector 문서 의미 검색
8주백업·권한·모니터링백업 복구 리허설 + 운영 체크리스트

DB 입문자가 자주 하는 실수

DB 입문자가 자주 하는 실수은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

특히 WHERE 없는 UPDATE/DELETE는 경력자도 실수하는 대표적인 사고입니다. 운영 DB 작업은 항상 트랜잭션을 열고, 영향받는 행 수를 확인한 뒤 커밋하세요.
실수문제대신 이렇게
SELECT * 습관불필요한 데이터 전송, 인덱스 활용 저하필요한 컬럼만 명시
WHERE 없는 UPDATE/DELETE전체 데이터 변경·삭제트랜잭션 안에서 SELECT로 대상 먼저 확인
모든 컬럼에 인덱스쓰기 성능 저하, 공간 낭비실제 조회 패턴 기준으로 선택
인덱스 컬럼에 함수 적용인덱스를 타지 못함조건을 컬럼 쪽이 아닌 값 쪽으로 변환
문자열로 SQL 조립SQL 인젝션파라미터 바인딩
외래 키·제약 조건 생략고아 데이터, 잘못된 값 누적DB 레벨에서 규칙 강제
운영 DB에서 직접 실험서비스 장애복제본·스테이징 환경 사용

핵심 용어 사전

핵심 용어 사전은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

용어한 줄 설명
PK (기본 키)각 행을 유일하게 식별하는 컬럼
FK (외래 키)다른 테이블의 PK를 참조해 관계를 맺는 컬럼
DDL / DML구조 정의(CREATE, ALTER) / 데이터 조작(SELECT, INSERT, UPDATE, DELETE)
ERD테이블과 관계를 그림으로 표현한 설계도
정규화중복을 제거하기 위해 테이블을 나누는 설계 과정
실행 계획DB가 쿼리를 어떤 순서·방법으로 처리할지 세운 계획
격리 수준동시 트랜잭션 간에 데이터를 얼마나 보이게 할지 정한 단계
데드락두 트랜잭션이 서로의 잠금을 기다리며 멈춘 상태
레플리카원본 DB를 복제한 읽기 전용 복사본
샤딩데이터를 여러 DB 서버에 나눠 저장하는 수평 분할 방식

Tip

다음 단계는 공통 SQL 가이드입니다. 제품에 관계없이 쓰이는 표준 SQL부터 익히고, 그다음 PostgreSQL 같은 제품 하나를 깊게 파고드세요.

다음 가이드 →공통 SQL