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
100万レコード超えそう(その2)
Search
wakio
June 20, 2024
Programming
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
100万レコード超えそう(その2)
wakio
June 20, 2024
More Decks by wakio
See All by wakio
AIと共に進めるお仕事の現在地
wakino
0
64
世界一流エンジニアの思考法を読んでみた
wakino
1
78
Other Decks in Programming
See All in Programming
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
170
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
460
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
240
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
130
AIで効率化できた業務・日常
ochtum
0
160
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
210
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
240
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
220
1B+ /day規模のログを管理する技術
broadleaf
0
120
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
230
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
GraphQLとの向き合い方2022年版
quramy
50
15k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
320
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Spectacular Lies of Maps
axbom
PRO
1
840
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
360
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
A Soul's Torment
seathinner
6
3k
Transcript
100万レコード超えそう その2
自己紹介 名前:ミヤワキ 個人開発&受託開発 組込からスマホアプリまでやります 好きな言語はKotlin 山を走るのが趣味
とある家計簿アプリのお話です
基本スタンドアローンで動きますが、 家計簿の同期はサーバ経由です
現在、登録ユーザ1700人→4000人程度で 24万→87万レコードのテーブルがあります 収入・支出履歴テーブルのレコード数の推移
このまま順調にいくと 100万レコードを超えるかも!
100万レコードを超えると パフォーマンスの劣化が顕著になるらしい 実際、1回の同期に5,6秒かかる ケースもでてきた
でも安易にサーバ増強するとか 富豪的アプローチはとりたくない t3.microで頑張りたい! ※ t3.micro: vCPU2個 メモリ1GB
4個の施策 ・手動で同期してもらう ・古いデータをS3に逃がす ・Bulk Insertを使う ・パーティショニング
S3 EC2 RDS 年1の移動 ユーザ登録・ログイン 古いデータをS3に逃がす 2年分だけ保存
1万レコードの挿入(MariaDB) Bulk単位 処理時間(msec) Bulkなし 2,440 1000 410 10000 259 1万レコードの挿入(SQLite)
Bulk単位 処理時間(msec) Bulkなし 44,189 10 2,839 100 1,537 200 1,867 500 2,967 t3.micro Huawei P20lite Android9 Bulk Insertを使う
ここまでやって、現在は1回の同期が 平均90ms未満、最大3秒
100万レコード超えて パフォーマンスが劣化したらやってみます 乞うご期待! パーティショニング