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
15
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支部 #11 LT EKS Auto Mode をやりたい
okaru
0
6
今年の一番の機能追加って何だろう?
okaru
0
93
宇宙最速のランチRecap LT会 (AWS re:Invent 2024)
okaru
2
170
『Datadogのコスト削減』やってみた
okaru
0
18
令和最新版 メールの技術LT会 @ yabaibuki.dev #1 〜BIMIって・・・〜
okaru
0
100
ゆるSRE勉強会 #6 LT
okaru
0
410
小規模な会社のSREのリアル
okaru
0
170
Techbrew in Tokyo April 2024
okaru
0
29
TiUG #1 LT
okaru
0
23
Other Decks in Technology
See All in Technology
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
310
Explainable Software Engineering in the Public Sector
avandeursen
0
380
Amebaにおける Platform Engineeringの実践
kumorn5s
3
520
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
5k
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
360
OPENLOGI Company Profile for engineer
hr01
1
22k
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
3
880
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
220
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
120
ひまプロプレゼンツ 「エンジニア格付けチェック 〜春の公開収録スペシャル〜」
kaaaichi
0
170
数百台のオンプレミスのサーバーをEKSに移行した話
yukiteraoka
0
750
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
91
5.9k
Designing for Performance
lara
606
69k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
GitHub's CSS Performance
jonrohan
1030
460k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Raft: Consensus for Rubyists
vanstee
137
6.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Facilitating Awesome Meetings
lara
53
6.3k
Practical Orchestrator
shlominoach
186
10k
How STYLIGHT went responsive
nonsquared
99
5.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
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. ご清聴 ありがとうございました!