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
TiDBを入れたけれど オートスケールがなかったよ
Search
Kaoru
October 23, 2024
Technology
0
65
TiDBを入れたけれど オートスケールがなかったよ
OpsJAWS Meetup31 泥臭いOPSのLT
TiDBを入れたけれど
オートスケールがなかったよ
2024/10/23
Kaoru
October 23, 2024
Tweet
Share
More Decks by Kaoru
See All by Kaoru
JAWS-UG SRE支部 #14 LT
okaru
0
90
ゆるSRE #11 LT
okaru
1
860
AI Engineering Summit Pre Event LT #10
okaru
2
710
AIエージェント実践集中コース LT
okaru
1
250
技術選定を突き詰める 懇親会LT
okaru
2
1.4k
Amazon S3 Tables + Amazon Athena / Apache Iceberg
okaru
2
410
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
31
今年の一番の機能追加って何だろう?
okaru
0
140
宇宙最速のランチRecap LT会 (AWS re:Invent 2024)
okaru
2
200
Other Decks in Technology
See All in Technology
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
450
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
46
12k
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
450
CodexでもAgent Skillsを使いたい
gotalab555
9
4.5k
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
350
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
110
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
470
從裝潢設計圖到 Home Assistant:打造智慧家庭的實戰與踩坑筆記
kewang
0
160
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
150
QAエンジニアがプロダクト専任で チームの中に入ると。。。?/登壇資料(杉森 太樹)
hacobu
PRO
0
190
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
130
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
1.8k
Featured
See All Featured
KATA
mclloyd
PRO
32
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
Statistics for Hackers
jakevdp
799
220k
Fireside Chat
paigeccino
41
3.7k
Designing for humans not robots
tammielis
254
26k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Facilitating Awesome Meetings
lara
57
6.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Context Engineering - Making Every Token Count
addyosmani
9
380
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Transcript
OpsJAWS Meetup31 泥臭いOPSのLT TiDBを入れたけれど オートスケールがなかったよ 2024/10/23
©2024 Voicy, Inc. 自己紹介 名前:織田 薫(かおる) 会社:株式会社Voicy 職業:SRE ぺんぎん好き
©2024 Voicy, Inc. ぺんぎん・冗長性
©2024 Voicy, Inc.
©2024 Voicy, Inc. Voicyのアーキテクチャ
©2024 Voicy, Inc. 本日のお品書き 1. TiDBとは 2. オートスケールがない 3.
DIY 4. 課題 まとめ
©2024 Voicy, Inc. 1. TiDBとは • MySQL互換のNewSQL系データベース • 5.7
及び 8.0 と互換性がある • MySQLのソースコードは使用せず、自前で実装 してる(らしい) • 制約は多少あるが、基本MySQLとして扱える
©2024 Voicy, Inc. 1. TiDBとは • TiDBは、おおざっぱに、TiDB・TiKV(&TiFlash) という構成になっている
©2024 Voicy, Inc. 1. TiDBとは 出典:https://docs.pingcap.com/ja/tidbcloud/tidb-architecture
©2024 Voicy, Inc. 1. TiDBとは • TiDB ◦ SQLレイヤーを担当
◦ MySQL互換のインターフェースを提供し、ユーザーか らのSQLクエリを受け付け、解析、最適化を行う ◦ 分散データベース全体を管理し、クエリを適切なTiKV またはTiFlashノードにルーティングする ◦ ユーザーからはMySQLデータベースのように見える ◦ Reader/Writer の区別はない
©2024 Voicy, Inc. 1. TiDBとは • TiKV ◦ 行指向のKey-Valueストア
◦ データの永続化とトランザクション処理を担当 ◦ Raftコンセンサスアルゴリズムに基づいてデータを複 製し、高可用性とデータの整合性を保証 ◦ スケールアウトが容易で、必要に応じてノードを追加 することで容量を増やすことができる
©2024 Voicy, Inc. 1. TiDBとは • TiFlash ◦ 列指向のKey-Valueストア
◦ TiKVのデータを複製し、分析クエリ処理に最適化され た形で保存 ◦ OLAPワークロードに適しており、複雑な集計クエリを 高速に処理 ◦ TiKVと連携して動作し、HTAP (Hybrid Transactional/Analytical Processing) ワークロードを サポート
©2024 Voicy, Inc. 2. オートスケールがない • Auroraは、Amazon Aurora Auto
Scaling により、 リソースや時間でスケールアウト・インが可能と なっている • しかし、TiDB Cloud にはない・・・
©2024 Voicy, Inc.
©2024 Voicy, Inc. 2. オートスケールがない • Voicyの運用的には必要 朝がピーク
©2024 Voicy, Inc. 3. DIY • APIを叩けば、サーバ台数の変更は可能 • go/python
のサンプルがある https://github.com/tidbcloud/tidbcloud-api-samples • python でやりました
©2024 Voicy, Inc. 3. DIY • 構成 EventBridge Scheduler Lambda
TiDB API
©2024 Voicy, Inc. 3. DIY • EventBridge に投げる変数で台数を設定 •
TiDBNodeQuantity • TiKVNodeQuantity
©2024 Voicy, Inc. 4. 課題 • スケールアウトするご とに、ノードの番号が 増える →現状様子見
©2024 Voicy, Inc. 4. 課題 • AutoIncrementの確保される採番プールが、デ フォルトだと1台につき30000で確保され、ス ケールイン・アウトを繰り返すと、際限なく大きく なる
→IDをBIGINT対応 →プールを縮小
©2024 Voicy, Inc. 4. 課題 • グレースフルで切れるはずだが、スケールイン 時にコネクション切れが発生する →TiDB Proxyに期待
©2024 Voicy, Inc. 4. 課題 • TIDB・TiKVを同時にスケールインすると、TiKV が優先され、TiDBのスケールインが遅れる →運用の変更
©2024 Voicy, Inc. 4. 課題 • TIDBのAPIすべてそうだが、APIを叩くとエンド ポイントにアクセスがOKであれば、応答後すぐ にクローズされてしまう →スケールイン・アウトの終了ハンドリングは自
前でしないといけない
©2024 Voicy, Inc. 4. 課題 • リソース使用量でのオートスケールは現状でき ていない →API駆使すればいけそう?
©2024 Voicy, Inc. まとめ • 自前でのオートスケール実装は可能 • 若干問題はあるものの運用はできていて、コスト も削減できている •
来年くらいには公式のオートスケールがでるか も?
©2024 Voicy, Inc. 対談ゲスト募集中 Voicyエンジニアでやっている ポッドキャスト番組 voi-chord https://voicy.jp/channel/1305
©2024 Voicy, Inc. ご清聴 ありがとうございました!