관계형 데이터베이스
데이터의 관계에 집중한 데이터 베이스
- 미리 지정된 형식과 타입의 데이터만 저장 가능
- 사전에 정의된 관계가 있을때 사용
테이블의 형식으로 데이터를 관리
- 행과 열을 기반으로한 여러 테이블을 통해 데이터를 정의
- 고유의 키로 각 데이터를 식별
트랜잭션 지원
- 원하는 동작이 정확히 수행되거나 완전히 실패 둘 중 하나로 유지
사용 사례
- 일반적인 어플리케이션, 온라인 게임 등
OLTP ( Online Transactional Processing)
- 주로 데이터의 트랜잭션을 다루는 데이터 베이스
- ex) ID 12345번호를 가진 유저의 이름, 나이를 조회 혹은 수정
- AWS RDS
OLAP ( Online Analytical Processsing )
- 데이터를 종합적으로 보고 통계를 산출하는데 특화된 데이터 베이스
- ex) 1월 한달동안 서울에서 가장 많이 팔린 인형 종류를 조회
- 열 단위로 데이터 조회
- 주로 데이터 웨어하우스에서 처리
- Redshift
종류
- RDS
- Amazon Aurora
- Amazon Redshift (OLAP)
Key-Value ( No-SQL)
데이터를 단순히 키-값으로 정의
- 키를 고유한 식별자로 사용하는 키-값 쌍의 집합으로 데이터를 저장
- 키-값 데이터베이스는 파티셔닝이 가능하고 다른 유형의 데이터베이스로는 불가능한 범위까지 수평확장 가능
- 키를 사용해서만 쿼리 가능
사용 사례
- 세션 저장 : 유저의 로그인 이후 통신 중 인증에 사용되는 세션 저장
- 장바구니 : 매우 많은 양의 데이터 및 상태 변경 처리가능
AWS 서비스
- Amazon DynamoDB
문서
- 데이터를 JSON 혹은 유사 형식의 문서로 데이터를 저장 및 궈리하는 데이터 베이스
- 각 어플리케이션에서 사용하는 모델 형식을 그대로 사용가능
- Nest(계층적)된 구조로 문서 저장 가능
예시
{
"products":[
{
"product_id":"12345",
"name":"Laptop",
"description":"A high-performance laptop with SSD storage.",
"price":799.99,
"category":"Electronics",
"tags":["laptop", "electronics", "computer"]
},
{
"product_id":"67890",
"name":"Sneakers",
"description":"Comfortable running sneakers for athletes.",
"price":59.99,
"category":"Fashion",
"tags":["sneakers", "shoes", "fashion"]
}
],
"categories":[
{
"category_id":"1",
"name":"Electronics"
},
{
"category_id":"2",
"name":"Fashion"
}
]
}
사용 사례
- 컨텐츠 관리 : 비디오 및 블로그 포스팅등의 관리 및 추적
- 카탈로그 : 제품의 카탈로그 저장
AWS 서비스
- Amazon DocumentDB(MongoDB 호환)
인메모리
메모리를 사용한 데이터 베이스
- 보조기억 장치에 데이터를 저장하는 것이 아닌 메모리에 데이터를 저장하기 때문에 빠른 읽기/쓰기
- 내구성이 떨어짐
- 빠르게 처리해야하는 경우 사용
- 빠른 속도 지원
사용 사례
- 실시간 경매 ; 매우 빠른 I/O및 응답속도가 빠른 수 만명이 사용하는 경매 시스템
- 게임의 랭킹 보드 : 실시간으로 매우 빠르게 변하는 랭킹
- 캐싱 : 자주 요청받는 메인 데이터베이스의 쿼리를 임시로 저장하여 빠른속도로 유저에게 제공
AWS 서비스
- Amazon ElasticCache : 메인 데이터베이스의 워크로드 분산 및 캐싱 기능
- Amazon MemoryDB For Redis : 메인 DB로 사용가능, 타임시리즈 데이터베이스, IOT 기기들의 메인 데이터베이스
그래프
데이터보다 데이터간 관계가 더 중심인 데이터베이스
- 각 데이터 주체 간 관계와 연결을 분석하는데 최적화
사용 사례
- 소셜 네트워크 : 각 사람간의 친구관계, 팔로우 관계등을 정의
- 이상 탐지 : 구매자가 평소에 구매하지 않는 물품의 구매등에 대한 감지 혹은 패턴 파악
- 추천 엔진 : 누가 무엇을 구매했는지 혹은 어떤 그룹의 사람들이 어떤 성향을 가지고 있는지를 파악
AWS 서비스
- AWS Neptune
타임시리즈
많은 이벤트를 시간단위로 저장하기 위한 데이터 베이스
- 수만 ~ 수십만건의 이벤트 데이터를 시간에 따라 정렬하고 특정 시점의 이벤트를 쿼리
- 많은 I/O가 발생
- 이벤트를 추적하고 관리
사용 사례
- IOT 기기의 이벤트 관리 : 많은 숫자의 IOT 기기의 이벤트 기록 및 분석
- 분석 어플리케이션 : 게임같은 이벤트가 많이 발생하는 어플리케이션의 분석 데이터의 캐싱 및 시각화
AWS 서비스
- Amazon Timestream
원장(장부)
데이터의 신뢰성 및 투명성이 중요한 데이터베이스
- 장부
- 데이터의 정확한 변경 내역 및 무결성 확보가 중요한 기능
- 블록체인 네트워크 및 암호화를 통해 무결성 확보
사용 사례
- 금융 거래 기록 : 변경되면 안되는 매우 중요한 이벤트 기록 및 검사
AWS 서비스
- Amazon QLDB ( Quantum Leader Datebase )
검색
데이터의 검색에 특화된 데이터베이스
- 인덱싱과 카테고리 기능에 특화
- 원하는 데이터를 빠르게 찾는것이 목표
- 주로 저장을 위한 데이터베이스 이외에 특별한 목적으로 사용
- 특정 데이터베이스에 저장된 데이터 들을 조회하는데 사용
사용 사례
- 컨텐츠 검색 : 로그 검색, 유저 정보 검색, 인덱싱 등
- 로그 분석 :방대한 로그에서 원하는 조건에 맞는 로그 검색 혹은 시각화
AWS 서비스
- AWS Elasticsearch Service
참고
https://www.youtube.com/watch?v=mRBpWLssAZQ
'AWS' 카테고리의 다른 글
AWS EC2 M2 Pro MAC 인스턴스 출시 (0) | 2023.09.21 |
---|---|
AWS VPC (0) | 2023.09.19 |
AWS의 구조 (0) | 2023.09.18 |
AWS 계정 로그인 (0) | 2023.09.11 |
AWS S3 버킷 삭제 액세스 거부 문제 (0) | 2023.08.19 |