Weitere ähnliche Inhalte Ähnlich wie AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법 (20) Mehr von Amazon Web Services Korea (20) AWS Summit Seoul 2023 | 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법1. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S E O U L | M A Y 4 , 2 0 2 3
2. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
갤럭시 규모의 서비스를 위한
Amazon DynamoDB의 역할과
비용 최적화 방법
이혁
다이나모디비 솔루션즈 아키텍트
AWS
김정훈
데이터베이스 엔지니어
삼성전자
3. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB의 역할 및 사용 사례
DynamoDB의 비용 최적화 방법
Samsung Cloud의 DynamoDB 비용 최적화 여정
AWS 전문가들과 함께 DynamoDB 시작하기
Agenda
4. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB의 역할과 사용 사례
5. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon의 NoSQL 여정
2004년 12월:
데이터베이스 장애
2007년 10월:
Dynamo 논문 공개
2012년 1월:
DynamoDB 런칭
현재:
대부분 Amazon 의
티어0 서비스
6. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
인터넷 스케일 애플리케이션의 특징
사용자 수 백만 이상
데이터 양 TB, PB, EB
지역 글로벌
성능 Microsecond 지연
요청 수 초당 수 백만이상
접근 모바일, IoT, 다양한 기기
스케일 Up and down
비용 사용한 만큼만 지불
개발자 접근 API
온라인
게임
소셜
미디어
미디어
스트리밍
이커머스 공유경제
7. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB의 특징
모든 규모에서 10밀리 초 미만의 성능을 제공하는 빠르고 유연한 NOSQL 데이터베이스 서비스
규모에 따른 성능
• 초당 수백만 개 이상의
요청을 처리
• 10밀리 초 미만의 성능
• 전역 테이블을 사용하여
전역 복제 자동화
• Kinesis Data Streams
for DynamoDB로 고급
스트리밍 애플리케이션
개발
엔터프라이즈에 사용 가능
• ACID 트랜잭션
• 저장 중 암호화
• 온디맨드 백업 및 복원
• 특정 시점으로 복구
• NoSQL Workbench
• S3로 내보내기/가져오기
서버리스
• 읽기/쓰기 프로비저닝 모드
• 온디맨드 모드
• Auto scaling
7
8. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB의 사용 트렌드
쓰기 집약적인 워크로드
• IoT / 모니터링
• 사용자 액티비티 수집
• 헬스 만보기
• 채팅
일정한 응답시간이 필요
• 광고
• 세션 스토어
• 사용자 프로파일
• 이커머스 구매 이력 혹은
상품 상세 정보
운영 부담 제로
• 데브옵스
• 글로벌 서비스
• No versions
9. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
2019년 11월에 출시된 Disney+ 는 광범위한 디지털
콘텐츠 라이브러리를 6천 만명 이상의 가입자에게
직접 제공하며, DynamoDB는 이런 글로벌
비즈니스를 지원하는 기술 중 하나입니다.
Disney+는다음을지원하기위해
DynamoDB를선택했습니다.
• 한 자릿수 지연 시간의 다중 지역 복제를 활용하여
데이터 문제없이 트래픽 이동
• 글로벌 테이블에 다른 AWS 리전을 추가하고
새로운 국가로 서비스를 출시하여 짧은 지연 시간
제공
• 운영 오버헤드가 거의 또는 전혀 없이 권장 사항 및
북마크 확장
• 새로운 리전에 들어갈 때 온디맨드와 프로비저닝된
용량 모드 간에 전환할 수 있는 기능 보유
Amazon Kinesis를 통해 DynamoDB로 하루에
수십억 개의 북마크가 수집됩니다.
—Attilio Giue
Directorof Content Discovery, Disney+
“
“
10. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dropbox는 빠른 데이터 증가로 인해 온프레미스
메타데이터 저장소의 용량 부족을 경험했습니다.
온프레미스 시스템이 최대 용량에 도달할 때까지
2년이 채 남지 않았으므로 AWS를 통해 완전
관리형 클라우드 솔루션을 추구했습니다.
Dropbox는 DynamoDB와 Amazon S3를 선택:
• 2주 이내에 레거시 데이터베이스에서 감사 로그
데이터를 마이그레이션하고, 1년 안에
메타데이터 스토리지 시스템을 시작하려면,
• 초당 최대 600,000개의 쿼리를
마이그레이션하는 동안 데이터를 수집하는
고성능으로 거의 무제한의 사용자 메타데이터를
확장하기 위해,
• 확장 비용 수백만 달러를 절약하고 사용자당
기가바이트 비용을 5.5배 절감
스토리지 시스템을 구축할 때 복제, 백업 및 용량 관리와
같은 구성 요소에 대해 생각해야 합니다. DynamoDB와
Amazon S3를 사용하면 AWS가 많은 복잡한 작업을
처리하므로 이런 문제를 단순화할 수 있습니다.
—Jonathan Lee
Tech Leader, Dropbox
“ “
11. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Snap 대규모 스파이크 트래픽 해결!
SnapchatStories를레거시 클라우드
데이터베이스에서DynamoDB로마이그레이션:
위험 완화
• 이것은 이제 “Snapchat에서 가장 안정적인
시스템 중 하나”입니다. –Dave Killian, Snap
Infrastructure Engineering Lead
비용 절감
• 레거시 시스템에 비해 연간 수백만 달러의 초과
프로비저닝 비용 제거
대규모 스케일 해결
• 새해 전야는 앱 트래픽의 연중 최대 피크이며,
DynamoDB는 트래픽의 급격한 증가를
적절하게 처리했습니다.
12. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
25 TB 데이터, 200억 매칭, 190 개국
MongoDB에서 DynamoDB로
마이그레이션 후 60% 비용 절감
DynamoDB는 더 적은 비용으로
더 나은 개발자 생산성을 달성할 수 있도록 해줬습니다.
—Jun-young Kwak
Tinder
“
“
13. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB의 비용 최적화 방법
14. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
내 워크로드의 특성을 파악
15. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Cost Explorer에서 내 비용 구조를 살펴보기
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-cost-optimization.html
16. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
비용 최적화 포인트
용량 모드 스토리지 모드
사용 최적화
스키마 디자인
액세스 패턴
예약 용량
(Reserved
capacity)
사용 후 최적화
용량 스토리지 빌링
예)
WriteCapacityUnit-Hrs
ReadCapacityUnit-Hrs
예)
TimedStorage-ByteHrs
17. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Samsung Cloud의
DynamoDB 비용 최적화
18. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Samsung Cloud
Cost Optimization
Agenda
아키텍처
DynamoDB 규모
DynamoDB History
Modeling
Auto Scaling
TTL
Reserved Capacity
Standard-Infrequent Access 테이블 클래스
19. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SAMSUNG CLOUD
당신의 디바이스는 잃고 싶지 않은 소중한 것들로 가득하죠.
휴가 사진부터 생생한 콘서트 장면, 중요한 업무 파일까지 모든 것을 이제 안전하게 보관하세요.
삼성 클라우드에서는 쉬운 파일 관리로 휴대폰이나 태블릿 속 데이터를 언제든 쉽게 찾고 백업하며 복원할 수 있으니까요.
20. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Samsung Cloud의 아키텍처
Data Processing
Layer
User Modules
Data Layer
API Gateway
Application Layer
Access Layer
Service Modules
Phone Tablet PC TV Appliance
Wearable
Cassandra RDS MySQL
DynamoDB
S3
Backend Modules
Basic Modules
Xpand Redis ElastiCache
Redis
21. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Samsung Cloud의 DynamoDB 규모
Samsung Cloud Service is still growing steadily
리전
746 300M 200M
3.5 PB
5 테이블 Daily RCU Daily WCU
전체 스토리지 사이즈
7.1T
전체 아이템 건수
SAMSUNG CLOUD의 DYNAMODB 사용량은 이 순간에도 성장 중
22. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Samsung Cloud의 DynamoDB History
SAMSUNG CLOUD의 DYNAMODB 여정
2012.01 2015
2015
NoSQL로 Cassandra 외 DynamoDB 검토
DynamoDB 서비스 도입
Cassandra → DynamoDB 데이터 이관
2016
데이터 이관 완료
2017
AWS 5개 Region에서 약 500여 개 테이블
지속 확장
2019
Auto Scaling 비효율, 관리 미흡
· Consumed CU 대비 provisioned CU 과사용
· Event 대응 후 원복 작업 누락
데이터 누적에 따른 스토리지 지속 증가
비용 증가
공격적인 Auto Scaling 정책 수립
사용량 기반한 Reserved Capacity 구매
TTL 적극 적용 (Batch → TTL 전환 적용)
2019
2022
Modeling 체계 전환
· 싱글 테이블 적극 적용
· 데이터 라이프 사이클 검토 필수
DynamoDB CU변경 자동화
Standard-Infrequent Access 전환
2022 2023
2017.02 2017.06 2018.05 2018.08 2019.11 2020.11 2021.12
Migration & Expansion
Cost Optimization
Advanced Operation
23. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Modeling
모델링 정책 변경 – 멀티 테이블에서 싱글 테이블로
싱글 테이블
아이템 레벨의 엔터티 디자인
멀티 테이블
테이블 레벨의 엔터티 디자인
컴퓨팅 비용 효율화
ConsumedCU는 통합 & 평탄화
1개의 Provisioned CU로 서비스
운영 비용 효율화
저 사용 테이블 핸들링 불필요
Table 개수 감소
24. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Auto Scaling
DYNAMODB의 AUTO SCALING 정책과 운영 전략
Minimum Capacity Units
실 사용량 기반의 MIN 설정 → default 20 으로 일괄 설정
Maximum Capacity Units
리전 별 AccountLevel의 Maximum Value 설정
Target Utilization
Provisioned CU에 대한 ConsumedCU 비율로 88% 공격적으로 설정
MIN MAX Target Utilization
운영 계 : Provisioning mode + Auto Scaling
검증/개발 계 : On-demand mode
기능 테스트, 검증 등의 목적이기 때문에 평상 시 사용량은 0
성능 테스트와 같이 대량의 Computing CU가 필요한 경우 Provisioning mode로 전환
25. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Time to live (TTL)
이젠 DYNAMODB를 선택하게 되는 대표적인 이유
5M
1분당 5M items TTL 의해 삭제
Expired Item 삭제 방식을 Batch → TTL 적용으로 전환
스토리지 사이즈 약 94% 감소 (Storage 1.2 PB → 74.5 TB)
Delete Batch 로직이 제거됨에 따라
RCU 약 60% 감소
WCU 약 70% 감소
26. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Reserved Capacity
정책 및 프로세스 수립이 중요
수집
예측
산정
리전별 최근 3~6개월간 사용량 수집
Batch 작업, Event 발생과 같은 CU 과사용 일자 제외
서비스의 주요 변경점 검토 및 반영
1년 이내
신규 프로젝트 or 모듈 발생
기 running 프로젝트or 모듈 제거(EoS)
1년 총 사용량 예측
월별 MIN to MAX 값 도출 및 차이 분석
MIN / MAX 기준 1일, 30일 예상 비용 도출
MIN or MAX 사용량 기준 1년 총 사용량 예측
리전별 구매 비율 산정
100%? 90%? 혹은 그 이하
※ ‘22년 진행했던 1년 구매분의 ‘23년 3월 실사용률일부 구간
27. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Reserved Capacity
정책 및 프로세스 수립이 중요
구매 전년도 Reserved Capacity 만료 전 선구매
최대 54% 수준 할인 (※ 3년 약정 시 최대 70% 할인)
1회성 선불 요금 + 매월 1일 약정기간 동안의 hourly 비용 발생
물량 추가 구매
모니터링을 통한 사용률 파악
비용 증가 여부 모니터링
14일 이내 추가 구매 의사결정
추가 구매
사용률 모니터링
구매 물량 대비 사용량 모니터링
‘23 1월 ~ 2월
(2 개월)
비용 ($)
RC 미구매 시 467,000
RC 구매 시 220,000
※ 대상 : 일부 샘플링 테이블
28. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Standard-IA 테이블 클래스
가장 쉬우면서 비용 세이브 효과는 극적
컴퓨팅 비용 vs. 스토리지 비용
테이블 클래스 변경
비용 분석 Check & Enjoy
3번의 마우스 클릭만으로
30% 감소
30% 절감
비용 구조 분석
총 비용 대비 컴퓨팅 비용과 스토리지 비용 간의
비율을 분석
대상 테이블 선정
어떤 기준으로 테이블을 선정할 것인지 결정
ex. 절감 비용이 $80 이상 & 스토리지 비용 비율이
90% 이상
실행
빨리 적용할수록 비용은 그 만큼 절감
빠른 실행력이 중요
29. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS 전문가들과 함께
DynamoDB 시작하기
30. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DynamoDB Immersion Day
• 하루 전일 대면 교육 (09:00 – 17:00)
• 개발자를 우선으로 집중된 교육
• 함께 일하고 계신 AWS Team을 통해 요청 기반으로 전달
31. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DCAD(Database Clinic in A Day) 프로그램
• DynamoDB Immersion Day 교육 이수 조건
• DynamoDB 전문가들과 함께 실제 고객 워크로드를 진단해보는
반일과정 워크샵
• 키 디자인, 성능, 비용 최적화 등을 주제로 고객의 pain point를 함께
풀어보는 시간
• 함께 일하고 계신 AWS Team을 통해 요청 기반으로 전달
32. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
감사합니다
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.