[MicrosoftDataSchool] 79일차 - DB 역사

RudinP·2026년 4월 29일

Microsoft Data School 3기

목록 보기
60/64
post-thumbnail

supabase, postgresql, mysql, mariadb, firebase 등으로 시작하고 후에 확장해서 로드밸런서 붙이거나 하는 것
MVP: Minimum Viable Product

초기에 죄다 azure function(서버리스)로 처리하면 의존성이 증가하여 유지보수가 힘들다 → NOSQL로도 만들수 있지만, RDBMS를 함께 써야 확장성이 좋다.

MySQL을 쓰더라도 온프레미스로 vm(월 100)에설치해서직접관리하냐vs돈좀내고Paas서비스(AzureDatabaseforMySQL200)에 설치해서 직접 관리하냐 vs 돈 좀 내고 Paas 서비스(Azure Database for MySQL 월 200) 쓸거냐


Azure Database Engineer Bootcamp 정리

지형도 & 환경 셋업

Azure 데이터 서비스의 전체 그림을 이해하고, 실습 환경을 직접 구축하는 과정이다.
예상 비용은 1인당 약 $0.5로 안내되어 있다.


학습 목표

이번 과정의 학습 목표는 다음과 같다.

학습 목표
DB 진화 과정(계층형 → RDBMS → NoSQL → NewSQL) 설명 가능
CAP / BASE 차이를 실무 사례로 비교 가능
Azure 데이터 서비스 전체 지형도 + 의사결정 트리 활용
구독 · 리소스 그룹 · VNet · NSG 직접 생성
Budget Alert로 비용 사전 통제
리소스 정리 스크립트 작성 및 실행

선수 지식 확인

스킬수준구분
SQLSELECT / JOIN 기본 쿼리 작성 · 조인 이해필수
Linux CLIls, cd, ssh, vi 기본 조작필수
Azure Portal리소스 검색 · 생성 화면 탐색필수
네트워킹 기초IP, 서브넷, 방화벽 개념권장
Git 기초clone, commit 수준권장

DB 역사와 이론

왜 DB 역사를 배우는가?

DB 역사를 배우는 이유는 현재 기술의 장단점이 과거 문제 해결 과정에서 탄생했기 때문이다.

  • 현재 기술의 장단점은 과거 문제 해결 과정에서 탄생
  • NoSQL은 RDBMS를 “대체”하는 것이 아님
  • 워크로드에 맞는 DB 선택 = DBA 핵심 역량
  • Azure에 데이터 서비스가 10가지 넘는 이유를 이해하기 위함

계층형 DB → 관계형 DB

1960s 계층형 DB

항목내용
대표 시스템IBM IMS (1966)
구조트리 구조: 부모 → 자식
장점빠른 읽기
한계유연성 부족

1970s 네트워크 DB

항목내용
대표 모델CODASYL
특징다대다 관계 지원

1970~80s 관계형 DB

항목내용
핵심 인물E.F. Codd (1970)
핵심 개념데이터를 테이블로 추상화
쿼리 언어SQL: 선언적 쿼리 언어
대표 DBOracle (1979), SQL Server (1989), PostgreSQL (1996)

계층형·네트워크 DB의 한계

RDBMS가 혁명적이었던 이유는 기존 계층형·네트워크 DB의 한계를 해결했기 때문이다.

  • 트리/그래프 구조에서는 데이터 접근 경로를 프로그래머가 직접 코딩해야 했다.
  • 스키마 변경 시 애플리케이션 전체 수정이 필요했다.
  • 데이터 독립성이 부족했다.
  • 물리적 저장 구조와 논리적 구조가 결합되어 있었다.
  • 다대다 관계 표현이 복잡했다.
  • 이러한 문제들이 Codd의 관계 모델 탄생 배경이 되었다.

SQL의 탄생과 표준화

SQL의 진화

연도내용
1970Codd 관계 모델 논문
1974SEQUEL (IBM)
1979Oracle V2, 최초 상용
1986SQL-86, ANSI 표준
1992SQL-92
1999SQL:1999, CTE / 윈도우 함수
2016SQL:2016, JSON

SQL의 선언적 혁신

SQL은 “어떻게 가져올지”가 아니라 “무엇을 가져올지”를 기술한다.

방식설명
절차적HOW를 기술, 어떻게 데이터를 가져올지 작성
선언적WHAT을 기술, 무엇을 가져올지 작성

예시:

SELECT name FROM users
WHERE age > 30;

이 경우 사용자는 원하는 결과만 선언하고, 실제 최적 경로는 DB 엔진이 결정한다.


RDBMS 30년 지배

1980년대부터 2000년대까지 RDBMS는 데이터베이스 시장을 지배했다.

  • 1980~2000: Oracle, SQL Server, MySQL, PostgreSQL 시장 장악
  • ACID 트랜잭션: 금융 · ERP · 재고 시스템의 기반
  • SQL 표준화: 어떤 RDBMS든 비슷한 쿼리 사용 가능
  • 정규화 이론: 중복 제거, 무결성 보장
    • 예)중복되는 부분을 테이블 분리 후 ID로 관리
  • 그러나 2000년대 웹 스케일 문제가 RDBMS의 한계를 드러냄

NoSQL

Not Only SQL

NoSQL 4가지 데이터 모델

모델대표 기술특징사용 예
Key-ValueRedis, DynamoDB최고 성능캐시, 세션 관리
DocumentMongoDB, Cosmos DBJSON / BSON, 유연한 스키마문서형 데이터
Column-FamilyCassandra, HBase대규모 쓰기시계열, 로그
GraphNeo4j, Gremlin관계 탐색소셜, 추천

NoSQL이 등장한 배경

2000년대 Google과 Amazon이 NoSQL의 길을 열었다.

  • 2004: Google BigTable 논문 → Column-Family 모델에 영감

  • 2007: Amazon Dynamo 논문 → Key-Value + Eventual Consistency

  • 2009: MongoDB, Cassandra, Redis 등 폭발적 등장

  • 핵심 동인: 웹 스케일

    • 수십억 사용자
    • 페타바이트 데이터
  • RDBMS의 수직 확장 한계

    • 단일 서버 성능에 의존
  • 수평 확장 필요

    • Scale-Out
    • 분산 시스템
    • CAP 트레이드오프 발생

실시간으로 기록해야하는 부분(그날 게임점수 신기록) 이런건 NoSQL로 처리하는게 이득


데이터베이스의 종류와 역사

데이터베이스란?

데이터베이스는 구조화된 정보나 데이터의 조직화된 모음이다. 일반적으로 컴퓨터 시스템에 전자적으로 저장된다.

DBMS(Database Management System)는 사용자와 애플리케이션이 데이터베이스와 상호 작용할 수 있게 해주는 소프트웨어이다.

주요 역할

역할
데이터의 일관성 유지
보안 및 접근 제어 관리
중복 데이터 제거 및 저장 공간 최적화
다중 사용자 접근 제어

데이터와 정보의 차이

데이터(Data)

데이터는 가공되지 않은 원시 사실이나 관찰 결과를 의미한다. 그 자체로는 특별한 의미가 없는 단순한 숫자, 문자, 이미지 등의 모음이다.

구분내용
예시36.5, "홍길동", 2023-05-15
특징컴퓨터가 처리할 수 있는 형태로 표현된 사실
상태해석되지 않은 원시 상태

정보(Information)

정보는 데이터를 가공·처리하여 의미를 부여한 결과물이다. 특정 목적을 위해 데이터를 해석하고 조직화한 형태이다.

구분내용
예시“체온은 정상(36.5℃)입니다”
특징의사결정에 활용 가능한 가치 있는 결과물
상태맥락과 관계성이 부여된 상태

데이터베이스의 역사 개요

데이터베이스 기술은 1960년대부터 시작되어 컴퓨팅 기술의 발전과 함께 계속 진화해왔다.

초기에는 단순한 파일 시스템으로 데이터를 관리했지만, 시간이 지나면서 계층형 DB, 네트워크형 DB, 관계형 DB, 객체지향 DB, NoSQL, NewSQL, 클라우드 DB까지 발전했다.

이러한 변화는 다음 요인에 의해 가속화되었다.

발전 요인
하드웨어 성능 향상
네트워크 기술 발전
비즈니스 요구사항 변화

파일 시스템 시대

파일 시스템 시대 (1세대)

파일 시스템은 초기 데이터 관리 방식이다. 데이터를 데이터베이스가 아니라 파일 단위로 저장하고, 애플리케이션이 직접 파일을 읽고 쓰는 방식이었다.

파일 시스템의 특징

특징
데이터를 단순 텍스트 파일이나 바이너리 파일로 저장
각 애플리케이션마다 독립적인 파일 구조 사용
메인프레임 컴퓨터에서 주로 사용

파일 시스템의 한계

한계
데이터 중복 발생 불가피
일관성 유지 어려움
복잡한 쿼리나 검색 기능 부재
데이터 보안 취약
동시 접근 제어 불가능

이 시기에는 프로그래머가 직접 파일 관리 로직을 구현해야 했다. 따라서 데이터 접근과 관리에 많은 시간과 자원이 소모되었다.


계층형 데이터베이스

계층형 데이터베이스 (2세대)

계층형 데이터베이스는 데이터를 트리 구조로 구성한다. 부모-자식 관계를 중심으로 데이터를 표현하며, 하향식으로 데이터를 탐색한다.

주요 특징

특징
트리 구조로 데이터 구성
부모-자식 관계(1:N) 표현
하향식 데이터 탐색 방식
IBM IMS(Information Management System, 1966년) 등장

한계점

한계
복잡한 관계 표현 어려움
데이터 접근 경로 사전 정의 필요
구조 변경 시 전체 시스템에 영향

계층형 데이터베이스는 파일 시스템의 한계를 극복하고 구조화된 데이터 관리를 가능하게 했지만, 복잡한 다대다 관계를 표현하기에는 제한적이었다.


네트워크형 데이터베이스

네트워크형 데이터베이스

네트워크형 데이터베이스는 계층형 모델보다 복잡한 관계를 표현하기 위해 등장했다. 그래프 구조를 사용하며 레코드 간 다대다 관계를 표현할 수 있다.

요소설명
그래프 구조레코드 간 다대다(N:M) 관계 표현 가능
CODASYL1970년대 네트워크 DB 표준화 모델 개발
포인터 시스템레코드 간 직접 연결 포인터 사용
유연한 쿼리계층형보다 향상된 데이터 검색 기능

네트워크형 데이터베이스는 계층형 모델의 제한을 극복했지만, 여전히 데이터 구조와 쿼리가 복잡하다는 한계가 있었다.


관계형 데이터베이스 도입

E.F. Codd의 혁신

1970년 IBM 연구원 에드거 F. 코드(E.F. Codd)는 “A Relational Model of Data for Large Shared Data Banks”라는 논문을 발표했다. 이 논문은 관계형 데이터베이스의 이론적 기반을 마련했다.

주요 혁신점

혁신점
테이블(릴레이션) 구조 도입
수학적 집합 이론 기반
데이터와 물리적 저장 구조 분리
선언적 쿼리 언어 개념 제시

코드의 관계형 모델은 이전 데이터베이스 패러다임의 복잡성을 극복하고, 직관적이고 유연한 데이터 구조를 제공했다. 이 개념은 현대 데이터베이스 발전의 토대가 되었다.


관계형 DBMS의 발전 (3세대)

시기내용
1974IBM System R 프로젝트에서 SQL(Structured Query Language) 개발
1979Oracle V2 출시, 최초의 상업용 RDBMS
1980년대IBM DB2, Informix, Sybase 등장
1989ANSI 및 ISO에서 SQL 표준 제정
1990년대Microsoft SQL Server, MySQL 등장으로 RDBMS 대중화

관계형 데이터베이스는 표준화된 SQL의 등장과 함께 산업 표준으로 자리 잡았다. 비즈니스 애플리케이션과 공공 시스템에서 널리 채택되었고, 이 시기에 데이터 무결성, 트랜잭션 처리, 백업/복구 등의 핵심 기능이 발전했다.


객체지향 DBMS

객체지향 DBMS (4세대)

1980년대 후반 객체지향 프로그래밍이 인기를 얻으면서 복잡한 데이터 구조를 더 잘 표현할 수 있는 데이터베이스의 필요성이 커졌다.

객체지향 DB의 등장 배경

내용
객체지향 프로그래밍의 확산
복잡한 데이터 구조 표현 필요
객체와 데이터베이스 간 표현 차이 해소 필요

주요 특징

특징
객체와 클래스 개념을 데이터베이스에 적용
상속, 다형성, 캡슐화 지원
복잡한 데이터 타입과 관계 표현 가능
객체 참조를 통한 관계 표현

대표 시스템

대표 객체지향 DBMS
GemStone
ObjectStore
Versant

객체지향 DBMS는 복잡한 데이터 표현에 강점이 있었지만, 관계형 데이터베이스의 강력한 점유율과 표준화된 SQL의 부재로 인해 주류 시장에서는 제한적인 성공을 거두었다.


객체-관계형 DBMS

객체-관계형 DBMS (5세대)

객체-관계형 DBMS는 관계형 데이터베이스의 테이블 구조와 객체지향 데이터베이스의 유연성을 결합한 하이브리드 모델이다.

하이브리드 접근법

관계형 데이터베이스의 테이블 구조와 객체지향 데이터베이스의 유연성을 결합한다.

확장된 데이터 타입

복잡한 사용자 정의 데이터 타입, 배열, XML, JSON 등 다양한 형식의 데이터를 직접 저장하고 처리할 수 있다.

SQL 확장

객체 조작을 위한 확장된 SQL 구문을 제공하여 복잡한 데이터 구조에 대한 쿼리를 쉽게 한다.

대표 시스템

대표 객체-관계형 DBMS
PostgreSQL
Oracle Database
IBM DB2
Microsoft SQL Server

현대적인 관계형 데이터베이스 대부분은 객체-관계형 기능을 통합하고 있다.


DBMS 역사 총정리

세대유형시기주요 특징대표 시스템
1세대파일 시스템1960년대 초단순 파일 기반 데이터 저장ISAM, VSAM
2세대계층형1960년대 중반트리 구조, 부모-자식 관계IBM IMS
3세대네트워크형1970년대 초그래프 구조, 복잡한 관계IDMS, CODASYL
4세대관계형1970~80년대테이블 구조, SQLOracle, DB2, SQL Server
5세대객체지향 / 객체관계형1990년대객체 모델, 복잡한 데이터 처리PostgreSQL, ObjectStore

데이터베이스 시스템은 단순 파일 저장에서 시작해 복잡한 데이터 관계와 구조를 표현할 수 있는 형태로 발전했다. 각 세대는 이전 세대의 한계를 극복하고 새로운 요구사항을 충족하기 위해 등장했다.


대표적 관계형 DBMS

Oracle Database

1979년 출시된 엔터프라이즈급 RDBMS이다. 대규모 트랜잭션 처리와 안정성에 강점이 있다.

항목내용
출시1979년
특징대규모 트랜잭션 처리, 안정성
주요 사용처금융, 통신, 제조 등 대형 기업

MySQL

1995년 출시된 오픈소스 RDBMS이다. 웹 애플리케이션과의 뛰어난 호환성과 속도가 특징이다.

항목내용
출시1995년
특징오픈소스, 웹 애플리케이션 친화적, 빠른 속도
주요 사용처WordPress, Facebook 등 웹 서비스 기반

Microsoft SQL Server

1989년 출시된 Microsoft의 RDBMS이다. Windows 환경과의 통합성이 뛰어나다.

항목내용
출시1989년
특징Windows 환경과 뛰어난 통합성
주요 사용처중소기업부터 대기업까지 다양한 비즈니스

PostgreSQL

1996년 출시된 고급 오픈소스 RDBMS이다. 확장성과 표준 준수에 강점이 있다.

항목내용
출시1996년
특징확장성, SQL 표준 준수, 복잡한 쿼리 처리
주요 사용처대규모 데이터베이스, 복잡한 분석 시스템

MySQL과 PostgreSQL 비교

MySQL의 특징

특징
읽기 작업에 최적화된 성능
단순한 설치와 구성
웹 애플리케이션과의 호환성
다양한 스토리지 엔진 지원
빠른 처리 속도 중심

MySQL은 주로 콘텐츠 관리 시스템, 블로그, 웹 애플리케이션에 적합하다.

PostgreSQL의 특징

특징
SQL 표준 준수 중시
복잡한 쿼리 최적화
고급 데이터 타입과 함수 지원
지리 정보 시스템(GIS) 기능
동시성과 안정성 중심

PostgreSQL은 금융 시스템, 과학 연구, 복잡한 데이터 분석에 적합하다.


오픈소스 DB의 부상

시기내용
1995년MySQL 출시. Michael Widenius와 David Axmark이 개발. 무료 관계형 DB로 웹 개발에 혁신을 가져옴
1996년PostgreSQL 출시. 버클리 대학 POSTGRES 프로젝트에서 발전한 고급 오픈소스 RDBMS
2000년대 초닷컴 붐과 저비용 웹 솔루션 수요 증가로 MySQL 등 오픈소스 DB 채택 급증
2008년Sun Microsystems가 MySQL을 10억 달러에 인수. 오픈소스 DB의 상업적 가치 입증
2010년 이후오픈소스 DB가 엔터프라이즈 영역에서도 주류화. MariaDB, MongoDB 등 다양한 솔루션 등장

엔터프라이즈 DBMS

Oracle Database

글로벌 금융 기관과 대기업에서 많이 사용되는 엔터프라이즈 DBMS이다.

주요 특징
고성능 트랜잭션 처리(OLTP) 지원
실시간 애플리케이션 클러스터(RAC)
고급 보안 및 암호화 기능
다양한 데이터 유형 지원: 공간 데이터, 멀티미디어 등

IBM Db2

대형 메인프레임 환경에서 강점을 가진 엔터프라이즈 데이터베이스이다.

주요 특징
고성능 분석 처리
AI 기반 쿼리 최적화
하이브리드 트랜잭션/분석 처리(HTAP)
메인프레임 환경과의 통합 지원

Microsoft SQL Server

Windows 환경에서 강력한 통합 기능을 제공하는 엔터프라이즈 솔루션이다.

주요 특징
비즈니스 인텔리전스 도구 통합
인메모리 OLTP 엔진
Microsoft 생태계와 높은 통합성
고급 보안 및 감사 기능

NoSQL의 등장

NoSQL의 의미

NoSQL은 Not Only SQL을 의미한다. 전통적인 관계형 데이터베이스의 한계를 넘어서기 위해 등장한 새로운 데이터베이스 패러다임이다.

등장 배경

배경
웹 2.0과 소셜 미디어의 폭발적 성장
빅데이터와 실시간 분석 필요성
수평적 확장성(Scale-out) 요구
유연한 스키마와 다양한 데이터 형식 필요

2000년대 후반 Google의 BigTable과 Amazon의 Dynamo 논문이 발표되면서 NoSQL 움직임이 본격화되었다. 이후 MongoDB, Cassandra, Redis 등 다양한 NoSQL 데이터베이스가 등장하며 새로운 데이터 저장 패러다임을 형성했다.


NoSQL 배경

수치의미설명
2.5EB일일 생성 데이터2020년 기준 전 세계에서 하루에 생성되는 데이터 양. 이 중 80% 이상이 비정형 데이터
1B+소셜 미디어 사용자소셜 미디어 플랫폼 사용자는 매일 수십억 건의 상호작용 데이터를 생성
40%연간 데이터 증가율기업 데이터는 연평균 40% 이상 증가
1000x처리 속도 향상일부 NoSQL 시스템은 특정 워크로드에서 관계형 DB보다 최대 1000배 빠른 처리 속도 제공

NoSQL 주요 유형 개관

유형설명
Key-Value단순한 키와 값의 쌍으로 데이터 저장. 고속 읽기/쓰기에 최적화
DocumentJSON/BSON 형식의 문서로 데이터 저장. 유연한 스키마
Column컬럼 패밀리 단위로 데이터 저장. 대규모 분석에 적합
Graph노드와 관계로 데이터 저장. 복잡한 연결 분석에 최적화

각 NoSQL 유형은 특정 사용 사례와 데이터 모델에 최적화되어 있다. 관계형 데이터베이스로 해결하기 어려운 특정 문제를 효율적으로 해결할 수 있다. 오늘날 많은 기업은 다양한 워크로드를 위해 여러 유형의 데이터베이스를 함께 사용하는 멀티 모델 접근 방식을 채택하고 있다.


Key-Value DB

작동 원리

Key-Value DB는 단순한 키(key)와 값(value)의 쌍으로 데이터를 저장하는 가장 기본적인 NoSQL 데이터베이스이다.

주요 특징

특징
초고속 읽기/쓰기 성능
수평적 확장성(Scale-out) 용이
단순한 API: GET, PUT, DELETE
스키마 제약 없음

대표적 시스템

시스템설명
Redis인메모리 기반, 다양한 데이터 구조 지원
Amazon DynamoDB완전 관리형 서비스
Riak고가용성, 분산 아키텍처
Memcached분산 캐싱 시스템

주요 활용 분야

활용 분야
세션 관리 및 사용자 프로필
실시간 추천 엔진
쇼핑 카트 및 캐싱 시스템
IoT 데이터 저장

Document DB

작동 원리

Document DB는 JSON, BSON 또는 XML과 같은 반구조화된 형식의 문서로 데이터를 저장한다. 각 문서는 자체적으로 완결된 정보를 포함하며, 다양한 필드와 중첩 구조를 가질 수 있다.

예시 문서

{
  "id": "user123",
  "name": "홍길동",
  "email": "hong@example.com",
  "orders": [
    { "id": "ord1", "date": "2023-01-15" },
    { "id": "ord2", "date": "2023-02-20" }
  ]
}

주요 특징

특징
유연한 스키마: 문서마다 다른 구조 가능
복잡한 데이터 구조의 자연스러운 표현
개발자 친화적인 데이터 모델
수평적 확장성 및 복제 지원
강력한 쿼리 기능: 인덱싱, 집계 등

대표 시스템 및 활용

대표 Document DB
MongoDB
Couchbase
Firebase Firestore
Amazon DocumentDB

주요 활용 분야는 웹 애플리케이션, 콘텐츠 관리 시스템, 카탈로그, 사용자 프로필 관리 등이다.


컬럼형 데이터베이스

작동 원리

컬럼형 데이터베이스는 데이터를 행이 아닌 컬럼 단위로 저장한다. 관련 컬럼들은 컬럼 패밀리로 그룹화된다. 분석 쿼리에서 필요한 컬럼만 효율적으로 읽을 수 있다는 장점이 있다.

주요 특징

특징
대규모 데이터 분석에 최적화
고도의 확장성: 페타바이트 규모
희소 매트릭스 효율적 처리
데이터 압축률이 높음
분산 아키텍처 기본 지원

대표 시스템

시스템설명
Apache Cassandra높은 가용성, 선형적 확장성
HBaseHadoop 에코시스템 기반
Google Bigtable구글의 대규모 데이터 처리 시스템
ScyllaDB고성능 Cassandra 호환 시스템

주요 활용 분야

활용 분야
시계열 데이터
센서 데이터
로그 분석
대규모 분석 시스템

그래프 DB

그래프 DB는 실제 세계의 연결 구조를 노드와 관계로 모델링한다.

요소설명
노드와 관계실제 세계의 연결 구조를 노드(개체)와 엣지(관계)로 자연스럽게 모델링
관계 탐색복잡한 관계를 효율적으로 탐색하는 쿼리 성능 우수
속성 그래프노드와 관계 모두에 속성을 부여할 수 있는 유연한 모델
그래프 쿼리Cypher, Gremlin 등 그래프 전용 쿼리 언어 지원

대표 시스템

대표 그래프 DB
Neo4j
Amazon Neptune
JanusGraph
ArangoDB

주요 활용 분야

활용 분야
소셜 네트워크 분석
추천 엔진
사기 탐지
지식 그래프
네트워크 및 IT 운영 분석

NewSQL의 출현

NewSQL은 전통적인 관계형 데이터베이스의 강점과 NoSQL의 확장성을 결합한 데이터베이스이다.

핵심 요소설명
관계형 모델SQL 및 ACID 트랜잭션 지원
수평적 확장성NoSQL 수준의 분산 아키텍처
고성능 처리트랜잭션과 분석 워크로드 동시 최적화

주요 특징

특징
분산 SQL 쿼리 처리
자동 샤딩(Sharding) 지원
실시간 분석 기능
클라우드 네이티브 설계

대표 시스템

시스템설명
Google Spanner글로벌 분산 트랜잭션
CockroachDBSpanner에서 영감을 받은 오픈소스 DB
VoltDB인메모리 트랜잭션 처리
TiDBMySQL 호환 분산 데이터베이스

NewSQL은 미션 크리티컬한 트랜잭션 처리와 대규모 데이터 처리를 동시에 요구하는 현대적 애플리케이션에 적합하다.


인메모리 DBMS

기본 개념

인메모리 DBMS는 주로 디스크가 아닌 메인 메모리(RAM)에 데이터를 저장하고 처리하는 데이터베이스 시스템이다. 디스크 I/O 병목을 제거하여 매우 빠른 처리 속도를 제공한다.

주요 특징

특징
초고속 데이터 접근: 디스크 대비 수십~수백 배
실시간 데이터 처리 및 분석
복잡한 쿼리의 빠른 실행
낮은 지연 시간(latency)

대표 시스템

시스템설명
Redis오픈소스 인메모리 키-값 저장소
SAP HANA기업용 인메모리 분석 플랫폼
MemSQL(SingleStore)SQL 기반 분산 인메모리 DB
VoltDB고성능 트랜잭션 처리

주요 활용 분야

활용 분야
실시간 분석
금융 거래
게임
IoT
실시간 대시보드

데이터베이스의 활용 변화

데이터베이스의 활용 영역은 단순 트랜잭션 처리에서 실시간 분석, AI 기반 의사결정, 엣지 컴퓨팅까지 확장되고 있다.

활용 영역설명
웹 애플리케이션초기 인터넷과 웹사이트를 위한 단순 데이터 저장
소셜 미디어대규모 사용자 관계와 상호작용 데이터 처리
빅데이터페타바이트 규모의 구조화/비구조화 데이터 분석
IoT 센서 데이터수백만 디바이스의 실시간 데이터 수집과 처리
AI 및 머신러닝모델 훈련 및 추론을 위한 대규모 데이터 저장소

현대 애플리케이션은 다양한 데이터 유형과 워크로드를 처리할 수 있는 다기능 데이터 플랫폼을 요구한다.


데이터베이스와 클라우드

클라우드 전환의 배경

기업들은 자체 데이터센터에서 데이터베이스를 운영·유지보수하는 대신, 클라우드 제공업체가 관리하는 서비스형 데이터베이스(DBaaS)로 전환하고 있다.

주요 이점

이점
초기 투자 비용(CapEx) 감소
자동화된 확장성 및 고가용성
관리 부담 및 운영 비용 감소
신속한 배포 및 테스트 환경 구성
최신 기술로의 지속적 업그레이드

주요 클라우드 제공업체

클라우드 제공업체
Amazon Web Services(AWS)
Microsoft Azure
Google Cloud Platform(GCP)
IBM Cloud
Oracle Cloud

2023년 기준 새로 배포되는 데이터베이스의 75% 이상이 클라우드 환경에서 구축되고 있으며, 이 비율은 계속 증가할 전망이라고 설명한다.


클라우드 DBMS 개요

관리형 서비스

패치, 백업, 확장, 고가용성 설정 등 데이터베이스 관리 작업을 클라우드 제공업체가 자동으로 처리한다.

탄력적 확장성

필요에 따라 컴퓨팅 및 스토리지 리소스를 자동으로 확장하거나 축소하여 비용을 최적화할 수 있다.

서버리스 옵션

사용한 만큼만 비용을 지불하는 서버리스 데이터베이스 옵션을 통해 인프라 관리 부담을 제거한다.

멀티 모델 지원

하나의 서비스에서 관계형, 문서, 그래프 등 다양한 데이터 모델을 지원하여 애플리케이션 개발을 단순화한다.

글로벌 분산

전 세계 데이터 센터에 데이터를 자동으로 복제하여 지연 시간을 줄이고 데이터 주권 준수를 지원한다.

서비스 통합

분석, 머신러닝, IoT 등 다른 클라우드 서비스와 통합하여 데이터 활용 가치를 높인다.


AWS의 주요 DB 서비스

Amazon RDS

관리형 관계형 데이터베이스 서비스이다. MySQL, PostgreSQL, Oracle, SQL Server, MariaDB 등 다양한 엔진을 지원한다.

주요 기능
자동 백업 및 패치 적용
다중 AZ 배포를 통한 고가용성
읽기 전용 복제본 지원

Amazon DynamoDB

완전 관리형 NoSQL 데이터베이스 서비스이다. 무제한 확장성과 밀리초 단위 성능을 제공한다.

주요 기능
서버리스 아키텍처
자동 다중 리전 복제
온디맨드 용량 모드

Amazon Aurora

MySQL 및 PostgreSQL과 호환되는 클라우드 네이티브 관계형 데이터베이스이다. 기존 엔진보다 최대 5배 빠른 성능을 제공한다고 설명한다.

주요 기능
분산 스토리지 아키텍처
자동 복구 기능
글로벌 데이터베이스 지원

기타 AWS DB 서비스

서비스용도
Amazon Redshift데이터 웨어하우스
ElastiCache인메모리 캐싱
Neptune그래프 DB
DocumentDBMongoDB 호환
Timestream시계열 DB

Google Cloud DB 서비스

Cloud Spanner

글로벌 분산 트랜잭션을 지원하는 수평적 확장 관계형 데이터베이스이다. 강력한 일관성과 99.999% 가용성을 제공한다.

주요 기능
글로벌 트랜잭션 일관성
자동 샤딩 및 복제
SQL 인터페이스

Cloud Bigtable

대규모 분석 및 운영 워크로드를 위한 완전 관리형 NoSQL 데이터베이스 서비스이다.

주요 기능
선형적 확장성
HBase API 호환성
빅데이터 워크로드 최적화

Cloud SQL

MySQL, PostgreSQL, SQL Server를 위한 완전 관리형 관계형 데이터베이스 서비스이다.

주요 기능
자동 백업 및 복제
고가용성 구성
암호화 및 VPC 지원

BigQuery

서버리스 엔터프라이즈 데이터 웨어하우스이다. 페타바이트 규모의 데이터를 실시간으로 분석할 수 있다.

주요 기능
SQL 기반 분석
머신러닝 통합
실시간 스트리밍 분석

기타 Google Cloud DB 서비스

서비스용도
Firestore문서형 DB
Memorystore인메모리 DB
Firebase Realtime Database실시간 동기화 DB

Microsoft Azure DB 서비스

Azure SQL Database

Microsoft SQL Server 기반의 완전 관리형 관계형 데이터베이스 서비스이다.

주요 기능
지능형 성능 최적화
자동 확장 및 백업
고급 보안 기능
서버리스 컴퓨팅 옵션

Azure Cosmos DB

글로벌 분산 멀티 모델 데이터베이스 서비스이다. 다양한 데이터 모델과 API를 지원한다.

주요 기능
SQL, MongoDB, Cassandra, Gremlin, Table API 지원
글로벌 분산 및 다중 지역 쓰기
밀리초 단위 응답 시간 SLA
자동 인덱싱 및 확장

Azure Database for MySQL/PostgreSQL

오픈소스 데이터베이스를 위한 완전 관리형 서비스이다.

주요 기능
자동 패치 및 백업
고가용성 구성
확장 가능한 스토리지
고급 보안 기능

기타 Azure DB 서비스

서비스용도
Azure Synapse Analytics데이터 웨어하우스
Azure Cache for Redis인메모리 DB
Azure Database for MariaDB관리형 MariaDB

클라우드 DBMS 특징

무중단 백업 및 복구

자동화된 백업 시스템과 시점 복구(Point-in-Time Recovery)를 통해 데이터 손실 위험을 최소화한다. 백업 작업이 성능에 영향을 미치지 않으며 재해 복구 계획도 쉽게 구현할 수 있다.

자동 확장 및 성능 최적화

워크로드 증가에 따라 리소스를 자동 확장하고, AI 기반 성능 모니터링과 최적화 도구로 데이터베이스 성능을 지속적으로 개선한다.

제공 기능:

기능
쿼리 분석
인덱스 추천
자동 튜닝

향상된 보안 및 규정 준수

저장 및 전송 중 암호화, 세밀한 접근 제어, 위협 감지 등 다양한 보안 기능이 기본 제공된다.

지원하는 규정 준수 예시:

규정
GDPR
HIPAA
PCI DSS

고가용성 및 재해 복구

다중 가용 영역 및 지역 복제, 자동 장애 조치(failover), 상시 가동 아키텍처 등을 통해 최대 99.999%의 가용성을 보장한다. 자연재해나 지역 장애에도 서비스 연속성을 유지할 수 있다.


온프레미스 DB vs 클라우드 DB

온프레미스 데이터베이스

장점

장점
데이터에 대한 완전한 제어권
네트워크 지연 시간 최소화
라이선스 기반 일회성 비용 구조
클라우드 의존성 없음

단점

단점
높은 초기 투자 비용
확장성 제한 및 복잡성
인력 및 유지보수 부담
재해 복구 구현 어려움

클라우드 데이터베이스

장점

장점
빠른 배포 및 확장성
사용량 기반 비용 구조
관리 부담 최소화
내장된 고가용성 및 재해 복구

단점

단점
데이터 주권 및 규제 이슈
네트워크 의존성 및 지연 가능성
장기적인 비용 증가 가능성
벤더 종속성(Lock-in) 위험

많은 기업은 두 접근 방식의 장점을 결합한 하이브리드 방식을 채택하고 있다. 워크로드 특성과 비즈니스 요구사항에 따라 최적의 배포 모델을 선택한다.


멀티 클라우드·하이브리드 DB

멀티 클라우드 전략

멀티 클라우드는 여러 클라우드 제공업체의 데이터베이스 서비스를 동시에 활용하는 접근 방식이다.

장점

장점
벤더 종속성 감소
각 제공업체의 강점 활용
지역별 최적 서비스 선택
협상력 및 위험 분산

단점

단점
일관된 관리의 복잡성 증가
데이터 동기화 복잡성 증가

하이브리드 데이터베이스 환경

하이브리드 데이터베이스 환경은 온프레미스와 클라우드 데이터베이스를 함께 운영하는 방식이다.

장점

장점
민감한 데이터는 온프레미스에 보관
탄력적 워크로드는 클라우드로 이동
점진적 클라우드 마이그레이션
기존 투자 활용과 혁신 균형

주요 과제

과제
데이터 일관성 유지
복잡한 네트워크 구성

최근에는 Kubernetes 기반 데이터베이스 운영과 같은 컨테이너화된 접근 방식이 등장하여 환경 간 이식성을 높이고 있다. 데이터베이스 가상화 및 추상화 레이어를 통해 복잡성을 관리하는 솔루션도 발전하고 있다.


DBMS 발전의 핵심 트렌드

오픈소스 확산

엔터프라이즈 영역에서도 오픈소스 데이터베이스 채택이 급증하고 있다.

주요 흐름
PostgreSQL의 기업용 워크로드 확대
MongoDB, Redis 등 NoSQL 솔루션의 성숙
클라우드 제공업체의 오픈소스 호환 서비스
개발자 커뮤니티 중심 혁신 가속화

클라우드 전환 가속

기업들이 자체 데이터센터에서 클라우드 환경으로 데이터베이스를 이전하는 추세가 가속화되고 있다.

주요 흐름
DBaaS(Database as a Service) 모델 확산
서버리스 데이터베이스 도입 증가
멀티 클라우드 및 하이브리드 전략 채택
마이그레이션 도구 및 서비스 발전

다양한 데이터 포맷 지원

정형 데이터 외에도 다양한 비정형/반정형 데이터를 처리할 수 있는 능력이 중요해지고 있다.

주요 흐름
JSON, XML, 지리공간 데이터 네이티브 지원
텍스트, 이미지, 오디오 분석 기능 통합
그래프 데이터 및 관계 분석 강화
멀티 모델 데이터베이스 증가

데이터베이스 선택 기준

용도 파악

트랜잭션 처리(OLTP), 분석(OLAP), 혼합(HTAP) 중 어떤 워크로드인지 파악해야 한다.

데이터 특성

정형 데이터인지 비정형 데이터인지, 데이터 크기와 성장률은 어느 정도인지, 관계 복잡성은 어떤지 고려해야 한다.

확장성 요구

예상 사용자 수, 트래픽 패턴, 수직/수평 확장 필요성을 고려해야 한다.

일관성 vs 가용성 요구사항

CAP 이론에 따라 강한 일관성(CP)이 중요한지, 가용성과 파티션 허용(AP)이 중요한지 고려해야 한다.

예를 들어 금융 거래는 강한 일관성이 필요하지만, 소셜 미디어는 일시적 불일치를 허용할 수 있다.

쿼리 패턴 및 성능 요구사항

복잡한 조인이 필요한지, 단순 키-값 검색이 중심인지, 실시간 응답이 필요한지에 따라 적합한 DB가 달라진다.

명확히 정의해야 할 성능 지표:

성능 지표
지연 시간
처리량
동시 사용자 수

기술 생태계 및 개발자 역량

팀의 기존 기술 스택과 호환되는지, 개발자가 얼마나 익숙한지, 커뮤니티 지원과 도구 생태계가 충분한지 고려해야 한다.

좋은 데이터베이스라도 팀이 효과적으로 활용할 수 없다면 가치가 제한된다.


주요 DBMS 비교 표

유형대표 시스템강점약점주요 사용 사례
관계형Oracle, MySQL, PostgreSQL트랜잭션 처리, 데이터 일관성, SQL 표준수평적 확장성 제한, 스키마 변경 어려움금융, ERP, CRM 시스템
문서형MongoDB, Couchbase유연한 스키마, 개발 생산성, JSON 지원복잡한 조인, 트랜잭션 처리 제한콘텐츠 관리, 모바일 앱, 카탈로그
키-값Redis, DynamoDB초고속 응답, 단순성, 확장성복잡한 쿼리 제한, 데이터 관계 표현 어려움캐싱, 세션 관리, 실시간 분석
컬럼형Cassandra, HBase대규모 쓰기/분석, 수평적 확장성실시간 읽기 성능, 복잡한 구성IoT 데이터, 로그 분석, 시계열 데이터
그래프Neo4j, Neptune관계 탐색, 연결 데이터 분석대규모 확장성, 학습 곡선소셜 네트워크, 추천 엔진, 사기 탐지
인메모리Redis, SAP HANA초고속 성능, 실시간 처리비용, 메모리 제한, 지속성 관리실시간 분석, 캐싱, 게임 리더보드
NewSQLGoogle Spanner, CockroachDB확장성 + SQL + 트랜잭션성숙도, 복잡성, 비용글로벌 금융 시스템, 고확장성 앱

각 데이터베이스 유형은 고유한 강점과 약점을 가지고 있으며, 특정 워크로드와 사용 사례에 최적화되어 있다.

많은 현대 애플리케이션은 다양한 유형의 데이터베이스를 함께 사용하는 폴리글랏 퍼시스턴스(Polyglot Persistence) 접근 방식을 채택하고 있다.


미래의 데이터베이스 전망

AI 기반 자율 데이터베이스

인공지능이 자동으로 데이터베이스를 튜닝, 최적화, 관리하는 시스템이 확산되고 있다.

자동화되는 영역:

영역
쿼리 최적화
인덱스 생성
리소스 할당
보안 위협 감지

DBA의 역할도 단순 운영보다 전략적 방향으로 진화하고 있다.

서버리스 데이터베이스의 확산

인프라 관리 없이 필요한 만큼만 사용하고 비용을 지불하는 서버리스 DB가 주류화될 전망이다. 개발자는 데이터베이스 운영보다 비즈니스 로직과 애플리케이션 개발에 집중할 수 있다.

엣지 컴퓨팅과 분산 데이터베이스

IoT 장치와 5G 네트워크 확산으로 데이터 생성 지점에 가까운 엣지 위치에서 데이터를 처리하는 분산 데이터베이스 시스템이 중요해질 것이다.

핵심 과제는 중앙 클라우드와 엣지 노드 간의 효율적인 데이터 동기화이다.

데이터베이스와 AI의 통합

데이터베이스 시스템 내에서 직접 머신러닝 모델을 실행하고 학습하는 기능이 강화될 것이다.

데이터 이동 없이 데이터베이스 내부에서 분석과 예측을 수행하는 AI in DB 개념이 발전할 것이다.

블록체인 기반 분산 데이터베이스

높은 투명성과 변조 방지가 필요한 애플리케이션을 위한 블록체인 기반 데이터베이스 시스템이 발전할 것이다.

중요성이 증가할 산업:

산업
공급망
금융
의료

결론: 데이터베이스의 진화 방향

다종 복합 DB 환경 도래

단일 데이터베이스 시스템으로 모든 요구사항을 충족하는 시대는 지나고 있다. 현대적인 데이터 아키텍처는 다양한 유형의 데이터베이스를 목적에 맞게 조합하는 방향으로 진화하고 있다.

변화
워크로드별 최적화된 데이터 저장소 활용
마이크로서비스와 연계된 분산 데이터 관리
데이터 통합 및 거버넌스의 중요성 증가

데이터 활용 방식의 변화

데이터베이스는 단순한 저장소를 넘어 비즈니스 가치 창출의 핵심 도구로 진화하고 있다.

변화
실시간 인사이트 생성과 의사결정 지원
AI/ML과 결합한 예측 분석 기능 강화
데이터 중심 조직으로의 변화 가속화
데이터 민주화와 셀프 서비스 분석 확산

데이터베이스 기술은 60년이 넘는 역사 동안 계속 진화해왔다. 앞으로도 클라우드, AI, IoT 등의 기술과 융합하며 발전할 것이다.

이러한 변화에 맞춰 데이터 전략을 수립하고 적응하는 조직이 디지털 시대의 경쟁에서 우위를 점할 수 있다.


참고 자료

DBMS 선택 실전 사례

다양한 산업 분야에서 비즈니스 요구사항에 따라 데이터베이스를 선택한 실제 사례를 살펴볼 수 있다.

사례
전자상거래 플랫폼의 멀티 모델 DB 전략
금융 기관의 하이브리드 클라우드 구현
의료 기관의 데이터 보안 및 규정 준수 접근법

NewSQL과 Vector DB

NewSQL

NewSQL은 ACID와 수평 확장을 동시에 목표로 한다.

항목내용
핵심ACID + 수평 확장
대표 기술CockroachDB, Google Spanner, TiDB

Vector DB

Vector DB는 AI/ML 임베딩 검색에 사용된다.

항목내용
핵심AI/ML 임베딩 검색
대표 기술Pinecone, Weaviate, Azure AI Search
주요 활용RAG 패턴 핵심

ACID 트랜잭션

ACID는 관계형 DB의 핵심 보장이다.

요소의미
Atomicity전부 성공 또는 전부 실패
Consistency전후 무결성 유지
Isolation동시 트랜잭션 비간섭
Durability커밋 후 장애에도 보존

CAP 정리

CAP는 분산 시스템에서 중요한 세 가지 특성이다.

요소의미설명
CConsistency모든 노드 동일 데이터, 강한 일관성
AAvailability모든 요청에 응답, 다운타임 없음
PPartition Tolerance네트워크 분할 시에도 동작, 분산 시스템 필수

세가지를 모두 동시에 만족할 순 없다.(동시에 두개까지만 가능)


CAP 실무 적용 — 서비스별 선택

서비스CAP 선택일관성가용성
SQL ServerCP강한 일관성장애 시 다운타임
Cosmos DB (Strong)CP강한 일관성쓰기 지연
Cosmos DB (Session)AP (실질)세션 내 일관항상 응답
CassandraAP최종 일관성항상 응답
MongoDB (기본)CP강한 일관성Primary 장애 시 선출 대기

BASE 특성

BASE는 NoSQL에서 많이 사용하는 유연한 일관성 모델이다.

요소의미
Basically Available항상 응답, 오래된 데이터라도 응답
Soft State시스템 상태가 시간에 따라 변함
Eventually Consistent충분한 시간이 지나면 일관성에 도달

ACID vs BASE 비교

구분ACID (RDBMS)BASE (NoSQL)
일관성강한 일관성 (Strong)최종 일관성 (Eventual)
확장수직 확장 (Scale-Up)수평 확장 (Scale-Out)
스키마고정 (DDL)유연 (Schema-less)
트랜잭션복잡한 조인 최적대량 읽기/쓰기 최적
사용 사례금융 · ERP · 재고소셜 · IoT · 실시간 분석

DB 진화 요약

60년의 DB 진화를 한 장으로 요약하면 다음과 같다.

시대변화핵심 의미
1960s → 1970s계층형 → 관계형데이터 독립성 혁명
2000sNoSQL스케일과 유연성 혁명
2010sNewSQLACID + Scale-Out 결합 시도
2020sVector DBAI/ML 시대의 검색 인프라

핵심 메시지는 다음과 같다.

정답은 없다. 워크로드에 맞는 선택이 최선이다.

이 원칙이 이후 전체 과정의 판단 기준이 된다.


Azure 데이터 서비스 지형도

Azure 데이터 서비스 전체 맵

Azure에서 선택할 수 있는 데이터 서비스는 크게 네 영역으로 나눌 수 있다.

분류서비스특징
IaaS — VM 기반SQL Server on VM, PG/MySQL on VM100% 제어
PaaS — 관계형SQL Database, SQL MI, Flexible Server관리형 관계형 DB
PaaS — NoSQLCosmos DB5 API, 글로벌 분산
분석 · 시계열Synapse, ADX, Fabric분석 및 시계열 처리

SQL VM vs SQL DB vs SQL MI

구분SQL VMSQL DBSQL MI
관리OS 직접 관리완전 관리거의 완전 관리
호환성100%일부 제한99%
HAAG 직접 구성내장 자동내장 자동
비용VM + 라이선스DTU / vCorevCore
프로비저닝수 분수 분약 4시간
부트캠프Day 2-3Day 4-5이론만 (D-2)

Cosmos DB 개요

Cosmos DB는 글로벌 분산 NoSQL 서비스이다.

  • 글로벌 분산 NoSQL
  • 60개 이상 Azure 리전 지원
  • 10ms 미만 읽기/쓰기
  • 5가지 일관성 수준
  • 5가지 API
  • 상세 실습은 Day 6에서 진행 예정

OSS PaaS + 분석 서비스

서비스설명
PG Flexible ServerDay 5 마이그레이션 타깃
MySQL Flexible ServerMySQL 관리형 서비스
Synapse Analytics데이터 웨어하우스
ADX시계열 분석, Day 7 실습, Free Cluster
Microsoft Fabric통합 분석 플랫폼

의사결정 트리 — 5개 질문

Azure 데이터 서비스를 선택할 때 다음 질문을 기준으로 판단한다.

질문선택
SQL Server 100% 필요?SQL VM
완전 관리형 + SQL 호환?SQL MI (이론)
관계형 + 비용 최적?SQL DB Serverless
PG/MySQL 워크로드?Flexible Server
글로벌 분산 + 다중 모델?Cosmos DB

워크샵: 시나리오별 서비스 선택

시나리오선택
온프레미스 SQL 2016 이관MI가 이상적이지만 프로비저닝 4시간 → SQL DB 검토
글로벌 게임 프로필Cosmos DB NoSQL API
IoT 센서 실시간ADX + KQL

환경 셋업 실습

Azure 구독부터 Budget Alert까지 직접 구축한다.


워크샵 가이드: 의사결정 트리 실습

목표는 3개 시나리오에 대해 2~3인 조별 토론 후 서비스 선택 결과를 발표하는 것이다.

순서내용
1강사가 시나리오 3개를 화면에 표시
22~3인 조 구성
3조별 5분 토론: 각 시나리오에 적합한 Azure 서비스 선택
4각 조 1분 발표: 선택한 서비스와 이유
5강사가 정답과 추가 고려사항 설명
6의사결정 트리와 비교하며 피드백

실습 1: 구독 · 리소스 그룹 생성

부트캠프 전용 리소스 그룹을 생성한다.

# Cloud Shell: Portal 상단 >_ 아이콘

# 구독 확인
az account show --output table

# 리소스 그룹 생성
az group create \
--name rg-bootcamp-day1 \
--location koreacentral \
--tags "project=bootcamp" "owner=<이름>"

# 확인
az group show --name rg-bootcamp-day1 -o table

실습 2: VNet · NSG

부트캠프 전 과정에서 사용할 VNet과 NSG를 생성한다.

# VNet 생성
az network vnet create \
-g rg-bootcamp-day1 \
--name vnet-bootcamp \
--address-prefix 10.0.0.0/16 \
--subnet-name snet-default \
--subnet-prefix 10.0.1.0/24

# NSG 생성 + SSH 규칙
az network nsg create \
-g rg-bootcamp-day1 -n nsg-bootcamp

az network nsg rule create \
-g rg-bootcamp-day1 --nsg-name nsg-bootcamp \
-n AllowSSH --priority 1000 \
--destination-port-ranges 22 \
--access Allow --protocol Tcp --direction Inbound

VNet과 NSG 기본 개념

VNet (가상 네트워크)

VNet은 Azure 내 프라이빗 네트워크이다.

항목내용
주소 공간10.0.0.0/16
서브넷10.0.1.0/24
역할VM, DB, 서비스가 통신하는 기반
확장온프레미스 VPN 연결 가능
부트캠프 사용vnet-bootcamp (Day 1~9)

NSG (네트워크 보안 그룹)

NSG는 방화벽 규칙 집합이다.

항목내용
역할인바운드 / 아웃바운드 제어
기본 정책모든 인바운드 차단
AllowSSH (22)Day 2 VM용
AllowRDP (3389)Day 3 SQL VM
원칙최소 필요 포트만 개방

실습 3: Cloud Shell 환경

목표는 CLI 환경을 확인하고 기본 명령을 연습하는 것이다.

순서내용
1Portal → Cloud Shell (>_) → Bash
2az version으로 CLI 버전 확인
3az account show로 구독 확인
4az group list로 리소스 그룹 목록 확인
5az resource list로 리소스 확인
6로컬 CLI 설치는 선택사항

실습 4: Budget Alert 설정

목표는 비용 한도 초과를 사전에 감지하는 것이다.

순서내용
1Portal → Cost Management → Budgets
2+ Addbootcamp-budget
3Amount: ₩30,000 ~ ₩50,000
4Alert: 80%, 100% 이메일
5Action Group: 본인 이메일
6Create

리소스 정리 스크립트

Day 1은 VM이 없으므로 모든 리소스를 유지한다.

유지 리소스는 다음과 같다.

유지 리소스
rg-bootcamp-day1
vnet-bootcamp
nsg-bootcamp
bootcamp-budget

확인 명령:

# Day 1은 VM 없음 — 모두 유지

# 유지 리소스:
# rg-bootcamp-day1
# vnet-bootcamp
# nsg-bootcamp
# bootcamp-budget

# 확인만:
az resource list -g rg-bootcamp-day1 -o table

# Cost Analysis에서 비용 확인: $0.5 이하

Day 1 리소스 정리 + 체크리스트

# Day 1 체크리스트
az resource list -g rg-bootcamp-day1 -o table

정리 체크리스트는 다음과 같다.

체크리스트
VNet / NSG / Budget 유지 확인
Cost Analysis: $0.5 이하
불필요 리소스 없음

Day 1 예상 비용: $0.5
한도: $10/일


비용 관리 — 9일 전체 전략

이 습관이 9일간의 비용을 결정한다.

항목내용
일일 1인당 한도$10
대부분 사용 비용$0.5 ~ $1.0
9일 총 예상$10.8
한도 대비6~8배 버퍼
Budget Alert80%, 100% 도달 시 이메일
Cost Analysis매일 실습 종료 시 직접 확인
가장 중요한 절약 수단VM deallocate
주의Stop ≠ Deallocate, Stop은 계속 과금됨

Q&A

질문답변
SQL MI를 왜 실습 안 하나?프로비저닝 4시간이 걸리므로 이론 + 매트릭스로 대체
Vector DB는 Azure에서?AI Search 벡터 검색, Cosmos MongoDB vCore
Budget Alert 안 와요최대 24시간 지연 가능, Cost Analysis 직접 확인
Free Trial로 9일 가능?$200 크레딧, 예상 $10.8로 충분

정리

모듈내용
DB 역사와 이론계층형 → RDBMS → NoSQL → NewSQL
DB 이론ACID vs BASE, CAP
Azure 서비스 지형도SQL VM / DB / MI, Cosmos DB
의사결정의사결정 트리 워크샵
환경 셋업 실습구독 · RG · VNet · NSG
비용 관리Budget Alert 설정
다음 과정OSS DB on VM: PostgreSQL · MySQL · MongoDB

핵심 요약

이번 과정은 단순히 Azure 리소스를 만드는 실습이 아니라,
데이터베이스가 왜 지금과 같은 형태로 발전했는지 이해하고,
워크로드에 따라 적절한 Azure 데이터 서비스를 선택하기 위한 기준을 세우는 과정이다.

핵심은 다음과 같다.

  • RDBMS는 데이터 독립성과 ACID를 기반으로 발전했다.
  • NoSQL은 웹 스케일과 수평 확장 문제를 해결하기 위해 등장했다.
  • NewSQL은 ACID와 Scale-Out을 동시에 추구한다.
  • Vector DB는 AI/ML 시대의 검색 인프라로 중요해졌다.
  • Azure에서는 SQL VM, SQL DB, SQL MI, Cosmos DB, Flexible Server, ADX, Fabric 등 다양한 선택지가 있다.
  • 정답은 하나가 아니라, 워크로드에 맞는 선택이 최선이다.
  • 실습 환경은 RG, VNet, NSG, Budget Alert를 기준으로 구성한다.
  • 비용 관리는 매일 Cost Analysis 확인과 VM deallocate가 핵심이다.
profile
성장하기 위한 기록

0개의 댓글