Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIやマイクロサービスを活用したDynamoDB節約術
Search
gree_tech
PRO
January 17, 2020
Technology
0
490
AIやマイクロサービスを活用したDynamoDB節約術
「WFS Tech Talk #2」で発表された資料です。
https://gree.connpass.com/event/158257/
gree_tech
PRO
January 17, 2020
Tweet
Share
More Decks by gree_tech
See All by gree_tech
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
840
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
860
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
850
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
840
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
920
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
850
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
840
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
840
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
150
Other Decks in Technology
See All in Technology
C# 14 / .NET 10 の新機能 (RC 1 時点)
nenonaninu
1
1.5k
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則
morihirok
17
7.2k
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
370
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
120
pprof vs runtime/trace (FlightRecorder)
task4233
0
150
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
130
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
5
2.5k
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
380
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
35
11k
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
160
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
110
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Product Roadmaps are Hard
iamctodd
PRO
54
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
GitHub's CSS Performance
jonrohan
1032
460k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Side Projects
sachag
455
43k
Scaling GitHub
holman
463
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Transcript
AIやマイクロサービスを活用した DynamoDB節約術 グリー株式会社 開発本部 インフラストラクチャ部 サービスインストレーショングループ 橋本順之
目次 • 前置き • コストの肝のキャパシティ • キャパシティの自動化 • まとめ 2
前置き • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ ◦ 国内および海外を合わせると7箇所で運用 ◦ NoSQL:アクセス数に対してスケールしやすい ◦
データ量だけでなく、キャパシティ(スループット)で費用がかかる • 解決したい問題 ◦ メインストレージなのでサーバーの運用費を安くしたい ◦ 運用を自動化したい ▪ (20~50テーブル) x 7 の キャパシティを設定
キャパシティ • DynamoDBはキャパシティ(スループット)で費用がかかる • テーブル単位でキャパシティを設定 一時間:1リクエスト/秒 リード:$0.0001484 ライト:$0.000742
キャパシティ • DynamoDBはキャパシティ(スループット)で費用がかかる • テーブル単位でキャパシティを設定 一カ月:10000リクエスト/秒 ReadWriteこみで$6410
キャパシティ • DynamoDBはキャパシティを上げ下げすると安くなる プロビジョンされたキャパシティ 利用しているキャパシティ
キャパシティの注意点 • 利用しているキャパシティ > プロビジョンされたキャパシティの場合 ◦ アクセスに失敗します。 プロビジョンされたキャパシティ 利用しているキャパシティ
キャパシティ • (20~50テーブル) x 7 の キャパシティを設定
キャパシティの費用体系 • オンデマンド ◦ リクエストした分だけ費用がかかる ◦ これまでのピークの倍のスループットが出せる ◦ 0.001026USD/RCU (一時間)
• プロビジョニング ◦ あらかじめ決めたキャパシティで費用がかかる ▪ 0.0001484USD/RCU (一時間) ▪ RCU = 1秒1回のリード • リザーブドを買う(一年) ▪ 0.000029USD/RCU(一時間) • プロビジョニング • リザーブド • 自分でキャパシティ管理
キャパシティの費用体系(1Mリクエスト/秒) Read(USD 1MReq/sec) Write(USD 1MReq/sec) オンデマンド 0.285 1.427 プロビジョニング 0.041
0.206 リザーブド(1年) 0.008 0.041 東京リージョン、2020/01/14調査 例:プロビジョニング Read 0.041 = 0.0001484/3600*1000000
前置き • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ ◦ 国内および海外を合わせると7箇所で運用 ◦ NoSQL:アクセス数に対してスケールしやすい ◦
データ量だけでなく、キャパシティ(スループット)で費用がかかる • 解決したい問題 ◦ メインストレージなのでサーバーの運用費を安くしたい ◦ 運用を自動化したい ▪ (20~50テーブル) x 7 の キャパシティを設定
キャパシティをコントロールするシステム構成 • AWS Lambdaで構成 • 特徴 ◦ AIが5分おきにキャパシティを調整 ◦ 突発の負荷に対応(設定値を超えると自動で増やす)
• 定常の調整 ◦ 設定値の40%の負荷で調整 ◦ 前日の負荷をみてAIが当日のキャパシティを調整 ◦ Haskellでかかれているので安全 • イベントのための調整 ◦ ユーザーが設定 ◦ AIが自動と手動(ユーザー定義)を切り替える
キャパシティをコントロールするシステム構成
まとめ • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ (7箇所) ◦ 安く使うにはリザーブドがおすすめ ◦ キャパシティをテーブルごとにコントロールする必要があります
◦ 問題:テーブルが多い。(20~50テーブル) x 7 • 対応策 ◦ ユーザーによるスケジュールと前日の利用量からAIがキャパシティをコント ロール ◦ AWS Lambda の無料利用枠には、1 か月に 1,000,000 件の無料リクエスト ▪ 5分おきの実行:8640回/月 ▪ 100テーブル程度なら無料
ご清聴ありがとうございました。