C
Database//Lesson 01

Database 완전 정복

30분·theory

Database 완전 정복

🎯 이 lesson 을 읽고 나면

이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.

  • ✅ "Database (데이터를 저장·조회하는 시스템) 완전 정복" 의 SQL(데이터베이스에 명령하는 표준 언어) / 실무 적용
  • EXPLAIN(쿼리가 어떻게 도는지 보여주는 명령) 으로 검증하는 방법
  • ✅ 면접 단골 질문 3가지

학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.

🗄️ 데이터베이스를 만든 사람들 — 4명 4컷

01
Edgar F. Codd에드거 코드
Father of Relational DatabasesIBM Research1923~2003

'A Relational Model of Data' — 논문 30줄이 50년 DB 산업을 만들다

  • 1970 IBM Research — 관계형 모델 논문 발표
  • 1972 12가지 관계형 규칙(Codd's 12 Rules) 정의
  • 1981 ACM 튜링상 수상
  • 1990 The Relational Model for Database Management v2 출간
SQL·Oracle·PostgreSQL·MySQL — 모든 RDBMS의 이론적 기반RELATIONAL MODEL · 관계형 DB의 아버지
02
Larry Ellison래리 엘리슨
Founder of OracleOracle Corporation1944~현재

Codd 논문 한 편 읽고 세계 2위 소프트웨어 기업을 창업하다

  • 1977 Software Development Laboratories 창립 (현 Oracle)
  • 1979 세계 최초 상용 RDBMS Oracle V2 출시
  • 2010 Sun Microsystems 인수 → Java·MySQL 동시 확보
  • 2024 Oracle 시가총액 $400B+, 엔터프라이즈 DB 세계 1위 유지
Oracle DB — 전세계 은행·정부·대기업 인프라 표준ORACLE · 엔터프라이즈 DB의 왕
03
Michael Stonebraker마이클 스톤브레이커
Creator of PostgreSQL (INGRES·POSTGRES)UC Berkeley → MIT CSAIL1943~현재

30년에 걸친 집착 — INGRES에서 PostgreSQL까지 DB 역사를 직접 쓴 학자

  • 1974 UC Berkeley INGRES 프로젝트 시작
  • 1986 POSTGRES — 객체지향 관계형 DB 연구 프로젝트
  • 1996 POSTGRES → PostgreSQL로 오픈소스 공개
  • 2014 ACM 튜링상 수상
PostgreSQL — Stack Overflow 2024 개발자 선호 DB 1위POSTGRESQL · 오픈소스 DB의 왕
04
Monty Widenius몬티 와이드니우스
Creator of MySQL / MariaDBMySQL AB → Sun → MariaDB Foundation1962~현재

핀란드 개발자가 만든 무료 DB가 인터넷을 먹다

  • 1995 핀란드 MySQL AB — MySQL 창시
  • 2001 MySQL이 LAMP 스택의 'M' 자리 차지, 웹 표준화
  • 2008 Sun Microsystems MySQL AB를 $1B에 인수
  • 2009 Oracle 합병 반대 → MariaDB Fork 결성, 오픈소스 계승
MySQL → WordPress → 인터넷의 43%. MariaDB로 오픈소스 DNA 계승MYSQL · 인터넷 DB의 대중화
한 줄
Codd 이론(1970) → Ellison 상용화 → Stonebraker 오픈소스 → Widenius 대중화. 4명이 DB 50년을 만들었다.
🔬 PostgreSQL 권장: BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (자동 증가)

왜 Database를 알아야 하는가

한 줄: 모든 서비스의 데이터는 어딘가에 저장됨. 그 저장 방식이 곧 서비스의 한계.


도구 매핑 — 각 칸의 영어는 도구 이름일 뿐, 옆 설명만 보세요

용도DB 표준
표 형식 DBPostgreSQL · MySQL · Oracle (RDBMS(관계형 DB) — 행·열 표로 저장)
빠른 임시 저장Redis · Memcached (메모리에 두고 1ms 이하로 읽는 캐시)
자유 형식 DBMongoDB · DynamoDB (NoSQL(표가 아닌 문서/키-값) 저장소)
검색 엔진Elasticsearch · OpenSearch (글 안에서 단어 빠르게 찾기)
시간 기록TimescaleDB · InfluxDB (시계열 — 시간순으로 쌓는 데이터)
대용량 분석BigQuery · Snowflake · ClickHouse (억 단위 행 집계용 분석 DB)

5가지 핵심 이유

이유의미
인덱스 (빨리 찾기 위한 색인)100만 행 검색 0.001초 vs 10초. B+Tree(데이터를 정렬해 두는 자료구조) 한 줄로 결정
트랜잭션 (한 묶음 작업)계좌이체·결제 안전성. ACID(원자성·일관성·격리성·지속성 4가지 보장) 없으면 돈이 사라짐
격리 수준동시 요청 1000 건에서 데이터 일관성 보장
JOIN (여러 표를 연결) · 정규화 (중복 없이 표 쪼개기)데이터 중복 제거 + 효율 조회
N+1·실행계획같은 결과·100 배 차이. EXPLAIN(쿼리가 어떻게 도는지 보여주는 명령) 이 곧 실력

핵심: SQL 한 줄로 만 행을 다루는 능력 = 모든 백엔드 개발자의 기본기.

🤖 AI 에게 이렇게 요청해보세요

이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰(AI 가 한 번에 처리하는 글자 단위) 절약의 출발점입니다.

  • "users·orders·products 3 테이블 + FK (외래 키 — 다른 표의 행을 가리키는 컬럼) + 인덱스 스키마 설계해줘. MySQL 8 기준."
  • "이 쿼리에 EXPLAIN (쿼리가 어떻게 도는지 보여주는 명령) 붙여서 실행계획 해석하고 인덱스 추천해줘."
  • "RDBMS (관계형 DB) 와 Redis (메모리 캐시) 조합으로 사용자 세션 + 캐시 아키텍처 그려줘."

왜 이게 토큰을 줄이나

DB 의 기본 어휘 (테이블·FK·인덱스·트랜잭션·EXPLAIN) 를 알면 AI 답변을 한 번에 끝낼 수 있습니다. "인덱스가 뭐예요?" 부터 다시 물으면 토큰이 2~3배 듭니다.

Database - Database