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
1
98
100万レコード超えそう(その2)
wakio
June 20, 2024
Tweet
Share
More Decks by wakio
See All by wakio
世界一流エンジニアの思考法を読んでみた
wakino
1
64
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
120
AtCoder Conference 2025
shindannin
0
1.1k
CSC307 Lecture 07
javiergs
PRO
1
560
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
220
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
730
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 09
javiergs
PRO
1
840
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Featured
See All Featured
Claude Code のすすめ
schroneko
67
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
So, you think you're a good person
axbom
PRO
2
1.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Bash Introduction
62gerente
615
210k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Design in an AI World
tapps
0
150
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万レコード超えて パフォーマンスが劣化したらやってみます 乞うご期待! パーティショニング