$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TiDBを入れたけれど オートスケールがなかったよ
Search
Kaoru
October 23, 2024
Technology
0
71
TiDBを入れたけれど オートスケールがなかったよ
OpsJAWS Meetup31 泥臭いOPSのLT
TiDBを入れたけれど
オートスケールがなかったよ
2024/10/23
Kaoru
October 23, 2024
Tweet
Share
More Decks by Kaoru
See All by Kaoru
Mobile App with AI Meetup #1
okaru
0
72
JAWS-UG SRE支部 #14 LT
okaru
0
130
ゆるSRE #11 LT
okaru
1
890
AI Engineering Summit Pre Event LT #10
okaru
2
730
AIエージェント実践集中コース LT
okaru
1
260
技術選定を突き詰める 懇親会LT
okaru
2
1.4k
Amazon S3 Tables + Amazon Athena / Apache Iceberg
okaru
2
430
JAWS-UG SRE支部 #11 LT EKS Auto Mode をやりたい
okaru
0
34
今年の一番の機能追加って何だろう?
okaru
0
150
Other Decks in Technology
See All in Technology
Noを伝える技術2025: 爆速合意形成のためのNICOフレームワーク速習 #pmconf2025
aki_iinuma
2
1k
MCP・A2A概要 〜Google Cloudで構築するなら〜
shukob
0
160
プラットフォームエンジニアリングとは何であり、なぜプラットフォームエンジニアリングなのか
doublemarket
1
550
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
280
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
120
Introduction to Bill One Development Engineer
sansan33
PRO
0
330
手動から自動へ、そしてその先へ
moritamasami
0
180
「え?!それ今ではHTMLだけでできるの!?」驚きの進化を遂げたモダンHTML
riyaamemiya
10
4.4k
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
600
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
Product Engineer
resilire
0
130
段階的に進める、 挫折しない自宅サーバ入門
yu_kod
5
2.2k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
How GitHub (no longer) Works
holman
316
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Side Projects
sachag
455
43k
Facilitating Awesome Meetings
lara
57
6.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. ご清聴 ありがとうございました!