관계형 데이터베이스
- 데이터의 관계에 집중한 데이터베이스
- 사전에 정의된 관계가 있을 때 사용
- 미리 지정된 형식과 타입의 데이터만 저장 가능
- 테이블의 형식으로 데이터를 관리
- 트랜젝션 지원
종류
- OLTP( Online Transactional Processing): 주로 데이터의 트랜젝션을 다루는 데이터베이스
- 예: id admin을 가진 유저의 이름, 나이를 조회 혹은 값 수정
- 주로 관계형 데이터베이스에서 처리
- AWS 서비스: Amazon RDS

- OLAP( Online Analytical processing): 데이터를 종합적으로 보고 통계를 산출하는데 특화된 데이터베이스
- 예: 1월 한 달 동안 서울에서 가장 많이 팔린 인형 종류 조회
- 주로 데이터 웨어하우스에서 처리( 분석을 위한 데이터베이스)
- AWS 서비스: Amazon RedShift

- 관계형 DB를 처음부터 사용 및 클라우드를 위한 설계 반영
- AWS 서비스: Amazon Aurora

key-value 데이터베이스
- 데이터를 단순히 키-값으로 정의
- 키를 고유한 식별자로 사용하는 키-값 쌍의 집합으로 데이터를 저장
- 키-값 데이터베이스는 파티셔닝이 가능하고 다른 유형의 데이터베이스로는 불가능한 범위까지 수평 확장을 가능
- 키를 사용해서만 쿼리 가능
- 사용사례
- 세션 저장: 유저의 로그인 이후 통신 중 인증에 사용되는 세션 저장
- 장바구니: 매우 많은 양의 데이터 및 상태 변경 처리 가능
- AWS 서비스: Amazon DynamoDB (noSQL 형식)

문서 데이터베이스
- 데이터를 JSON 혹은 유사 형식의 문서로 데이터를 저장 및 쿼리 하는 데이터베이스
- 각 애플리케이션에서 사용하는 모델 형식을 그대로 사용 가능( 예: JavaScript ⇒ Json)
- Nest 된 구조로 문서 저장 가능
- 사용 사례
- 콘텐츠 관리: 비디오 및 블로그 포스팅 등의 관리 및 추적
- 카탈로그: 제품의 카탈로그 저장
- AWS 서비스: Amazon DocumentDB (MongoDB 호환)

그래프 데이터베이스
- 데이터보다 데이터 간 관계가 더 중심인 데이터베이스
- 각 데이터 주체 간 관계와 연결을 분석하는데 최적화
- 사용 사례
- 소셜 네트워크 : 각 사람 간의 친구관계, 팔로우 관계 등을 정의
- 이상 탐지: 구매자가 평소에 구매하지 않는 물품의 구매 등에 대한 감지 혹은 패턴 파악
- 추천 엔진: 누가 무엇을 구매했는지 혹은 어떤 그룹의 사람들이 어떤 성향을 가지고 있는지 파악
- AWS 서비스 : Amazon Neptune

In-Memory 데이터베이스
- 메모리를 사용한 데이터베이스
- SSD 혹은 하드디스크에 저장하는 것이 아닌 메모리에 저장하기 때문에 매우 빠른 읽기/쓰기
- HDD/SDD에 비해서는 내구성이 떨어짐
- 사용 사례
- 실시간 경매: 매우 빠른 IO 및 응답속도가 빠른 수만 명이 사용하는 경매 시스템
- 게임의 랭킹 보드
- 캐싱
- AWS 서비스: Amazon Elasticache or Amazon MemoryDB for Redis(내구성을 확보한 in-memory)

검색 데이터베이스
- 데이터 검색에 특화된 데이터베이스
- 인덱싱과 카테고리 기능에 특화
- 원하는 데이터를 빠르게 찾는 것이 목표
- 주로 저장을 위한 데이터 베이스 이외에 특별한 목적으로 사용
- 사용 사례
- 콘텐츠 검색: 로그 검색, 유저 정보 검색, 색인 등
- 로그 분석: 방대한 로그에서 원하는 조건에 맞는 로그 검색 혹은 시각화
- AWS 서비스: Amazon Elasticsearch Service

원장(Ledger) 데이터베이스
- 데이터의 신뢰성 및 투명성이 중요한 데이터베이스
- 장부
- 데이터의 정확한 변경 내역 및 무결성 확보가 중요한 기능
- 블록체인 네트워크 및 암호화를 통해 무결성 확보
- 사용 사례
- 금융거래 기록
- AWS 서비스: Amazon QLDB

타임 시리즈 데이터베이스
- 많은 이벤트를 시간 단위로 저장하기 위한 데이터베이스
- 수만~수십만 건의 이벤트 데이터를 시간에 따라 정렬하고 특정 시점의 이벤트를 쿼리
- 많은 IO가 발생
- 사용 사례
- IOT 기기의 이벤트 관리
- 분석 애플리케이션
- AWS 서비스: Amazon Timestream

느낀 점:
내가 이때까지 알고 있었던 DB는 관계형 데이터베이스밖에 몰랐었는데 그 이외도 다양한 종류에 데이터베이스가 존재하는 것이 대해 놀랬다. 그리고 AWS는 이러한 다양항 데이터베이스를 위해서 다양한 서비스를 제공하고 있으니 내가 원하는 서비스를 골라서 잘 사용하면 될 것 같다.. 다가오는 프로젝트에선 RDS 서비스는 사용할 것 같다.
참고:
https://www.youtube.com/c/AAAWS/videos
AWS 강의실
AWS 강의를 진행하는 AWS 강의실입니다. AWS와 관련된 문제를 해결하는 RubyWave.io도 운영하고 있습니다. - AWS 공인 Solutions Architect Professional - AWS 공인 DevOps Engineer Professional - 기업 강의 및 컨설팅 문
www.youtube.com
'CLOUD' 카테고리의 다른 글
| [AWS] AutoScaling and Elastic Load Balancing (0) | 2022.10.10 |
|---|---|
| [AWS] EC2 란?? (1) | 2022.10.10 |
| [AWS] 가상화? (0) | 2022.10.10 |
| [AWS] IAM 계정 생성하기 (0) | 2022.10.10 |
| [AWS] AWS 계정 생성해보기 (0) | 2022.10.10 |
댓글