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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
wakio
June 20, 2024
Programming
1
98
100万レコード超えそう(その2)
wakio
June 20, 2024
Tweet
Share
More Decks by wakio
See All by wakio
世界一流エンジニアの思考法を読んでみた
wakino
1
66
Other Decks in Programming
See All in Programming
Feature Toggle は捨てやすく使おう
gennei
0
130
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
470
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
410
Claude Codeログ基盤の構築
giginet
PRO
7
3.5k
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
150
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
300
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
440
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
2
130
AHC061解説
shun_pi
0
400
20260315 AWSなんもわからん🥲
chiilog
2
160
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
400
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Between Models and Reality
mayunak
2
240
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
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万レコード超えて パフォーマンスが劣化したらやってみます 乞うご期待! パーティショニング