AWS a to z - Database

NTbell·2025년 2월 21일
0

여러분은 어떤 데이터베이스를 사용하고 있나요? 🤔

데이터베이스(DB)를 선택할 때 고려해야 할 점이 많음
잘못 선택하면 성능 문제, 확장성 한계, 유지보수 어려움 등 다양한 문제 발생할 수도있다

알맞은 DB를 선택하려면?

  • 운영하려는 워크로드는 읽기/쓰기 중 어느 것이 더 중요한가?
  • 얼마나 많은 부하를 견딜 수 있어야 하는가?
  • 트래픽 패턴이 일정한가, 아니면 급격히 변화하는가?
  • 저장해야 할 데이터의 양과 유형은 무엇인가?
  • 데이터를 얼마나 오래 저장해야 하는가?
  • 서비스의 동접(Concurrent Users)은 어느 정도인가?

📌 데이터베이스 종류

데이터베이스는 크게 몇 가지 유형으로 나뉨, 각 유형과 적합한 사용 사례를 알아보자!

유형설명대표 서비스
🔹 관계형 DB (RDBMS)테이블 기반의 관계형 데이터베이스MySQL, PostgreSQL, Oracle, AWS RDS, Aurora
🔹 NoSQL DB스키마 없이 다양한 형식으로 데이터 저장DynamoDB, MongoDB, ElastiCache, Cassandra
🔹 객체 저장소파일, 이미지, 대용량 객체 저장Amazon S3, Glacier
🔹 데이터 웨어하우스분석 및 BI(비즈니스 인텔리전스) 용도Redshift, Athena, EMR
🔹 검색 엔진비정형 데이터 검색 및 색인OpenSearch, Elasticsearch
🔹 그래프 DB관계 데이터를 빠르게 탐색Amazon Neptune
🔹 원장형 DB불변성 및 감사 기록 저장QLDB
🔹 시계열 DB시간 기반 데이터 저장 및 분석Amazon Timestream

🔹 관계형 데이터베이스 (RDBMS)

  • 테이블(Table) 기반으로 데이터를 저장하며 SQL 쿼리를 사용
  • 데이터 간 관계를 맺고(JOIN) 정규화 가능
  • 은행, ERP, 전자상거래 등 트랜잭션이 중요한 서비스에 적합
  • 대표적인 서비스: MySQL, PostgreSQL, AWS RDS, Aurora

📌 언제 사용해야 할까?
✅ 데이터 무결성이 중요한 경우 (ex: 은행 거래)
✅ 복잡한 쿼리가 필요한 경우 (ex: 다중 테이블 조회)
✅ ACID(원자성, 일관성, 독립성, 지속성) 보장이 필요한 경우


🔹 NoSQL 데이터베이스

관계형 DB의 한계를 보완하여, 스키마 없이 유연하게 데이터를 저장 가능.

📌 주요 NoSQL 유형

유형설명대표적인 DB
문서형(Document DB)JSON 형태로 저장MongoDB, AWS DocumentDB
키-값(Key-Value)Key-Value 형태로 저장Redis, DynamoDB
열 기반(Columnar DB)대용량 데이터 분석에 최적화Cassandra, AWS Keyspaces
그래프 DB관계 탐색 및 네트워크 분석Amazon Neptune

📌 언제 사용해야 할까?
스키마가 유연해야 하는 경우 (ex: 사용자 프로필, 설정 데이터)
조인이 많지 않고 단순한 읽기/쓰기 성능이 중요한 경우 (ex: 캐싱 시스템)
실시간 데이터 분석 및 로그 저장 (ex: IoT 데이터 수집)


🔹 객체 저장소

서비스설명
Amazon S3대용량 파일, 이미지, 비디오 저장
Amazon Glacier장기 백업 및 아카이빙

📌 언제 사용해야 할까?
✅ 이미지, 동영상, 문서 저장 (ex: 클라우드 스토리지)
✅ 장기 데이터 보관 (ex: 백업, 로그 보관)


🔹 데이터 웨어하우스

서비스설명
Redshift빅데이터 분석을 위한 OLAP 데이터 웨어하우스
AthenaS3에 저장된 데이터를 SQL로 분석
EMR빅데이터 분석을 위한 Hadoop 기반 서비스

📌 언제 사용해야 할까?
✅ 대량의 데이터 분석이 필요한 경우 (ex: BI 보고서, 로그 분석)
✅ SQL 기반으로 데이터 분석을 수행해야 하는 경우


🔹 검색 엔진

서비스설명
OpenSearch (Elasticsearch 기반)비정형 데이터 검색 및 색인

📌 언제 사용해야 할까?
✅ 텍스트 기반 검색이 필요한 경우 (ex: 사이트 검색 기능)
✅ 로그 및 모니터링 데이터 분석


🔹 그래프 데이터베이스

서비스설명
Amazon Neptune관계형 데이터 탐색 최적화

📌 언제 사용해야 할까?
✅ SNS 친구 추천, 추천 시스템
✅ 복잡한 관계 데이터 분석 (ex: 사기 탐지, 네트워크 분석)


🔹 원장형 DB (Ledger DB)

서비스설명
Amazon QLDB블록체인 유사 불변성 저장소

📌 언제 사용해야 할까?
✅ 금융 거래 이력 보관
✅ 데이터 변경 이력을 저장해야 하는 경우 (ex: 감사 로그)


🔹 시계열 데이터베이스

서비스설명
Amazon Timestream시계열 데이터 저장 및 분석

📌 언제 사용해야 할까?
✅ IoT 센서 데이터 저장 (ex: 온도, 습도 변화 기록)
✅ 서버 모니터링 및 로그 분석
✅ 실시간 데이터 스트리밍 분석


🐈 결론

데이터베이스를 선택할 때는 워크로드, 확장성, 비용, 성능을 종합적으로 고려해야 함. 관계형 DB와 NoSQL DB의 차이를 이해하고, 목적에 맞는 DB를 선택하는 것이 핵심!

📌 최종 선택 가이드
✅ 트랜잭션이 중요하다 → RDBMS (MySQL, PostgreSQL, RDS)
✅ 빠른 확장이 필요하다 → NoSQL (DynamoDB, MongoDB)
✅ 비정형 데이터 저장 → Object Storage (S3)
✅ 검색 기능이 필요하다 → OpenSearch
✅ 그래프 데이터 분석 필요 → Neptune
✅ 시간 기반 데이터 저장 → Timestream

profile
최종빈의 컴퓨터교실

0개의 댓글

관련 채용 정보