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
DMMプラットフォームがTiDB Cloudを採用した背景
Search
pospome
April 17, 2024
Programming
10
5.5k
DMMプラットフォームがTiDB Cloudを採用した背景
私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT
https://findy.connpass.com/event/314602/
pospome
April 17, 2024
Tweet
Share
More Decks by pospome
See All by pospome
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
8
3.6k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
33
15k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
12
4k
組織全体で開発生産性に取り組むために 専門チームを作った話
pospome
2
1.8k
DMMプラットフォームにおける GKE を利用した プラットフォームエンジニアリングへの 取り組み
pospome
1
690
DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
pospome
3
2.5k
(再アップロード)Microservices & APIs
pospome
0
120
(再アップロード)Datastore/Go のデータ設計と struct の振る舞いについて
pospome
0
130
マイクロサービス環境におけるToilを削減するTerraformの活用 in DMMプラットフォーム
pospome
3
1.5k
Other Decks in Programming
See All in Programming
Amazon Qを使ってIaCを触ろう!
maruto
0
410
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
940
Ethereum_.pdf
nekomatu
0
460
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Better Code Design in PHP
afilina
PRO
0
130
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
CSC509 Lecture 13
javiergs
PRO
0
110
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
Realtime API 入門
riofujimon
0
150
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Code Review Best Practice
trishagee
64
17k
Typedesign – Prime Four
hannesfritz
40
2.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Transcript
DMMプラットフォームが TiDB Cloudを採用した背景 @pospome
登壇者 名前:pospome(ぽすぽめ) 所属:DMMプラットフォーム Twitter:@pospome
概要 • DMMプラットフォーム内の認証チームがTiDB Cloudを採用した。 ◦ すでに本番環境で動いている。 ◦ 別のチームも採用予定である。
認証チームが抱えるDB周りの課題 • オンプレのMySQLをクラウド化したい。 ◦ マネージドなDBを採用し、DevOpsを実現する。 • Cassandra, Couchbaseを廃止し、DBを一本化したい。 ◦ 歴史的経緯でNoSQLも利用していた。
• 中長期的な要件に対応できるDBが欲しかった。 ◦ 書き込みのスケール、強整合性、耐障害性などなど。 • DB起因のダウンタイムを避けたい。 ◦ マイクロサービス環境では調整コストが高い。
New SQLの検討 • 書き込みがスケールする。 • 強整合性を保証できる。 • 耐障害性が高い。 • ダウンタイムがない。
• パフォーマンスはRDBに劣る。 ◦ それほどパフォーマンスにシビアではない環境なので問題ない。 ◦ TiDB移行後の実績値として APIのレイテンシは全体的に20~30ミリ秒ほど高くなった。
よし、Google Cloud Spanner 使おう (´・ω・`)
謎のDMが来た・・・ このDMはノリなのでは? (´・ω・`)
TiDBも検討候補に・・・ • Spannerの論文を参考に開発されたOSSである。 • MySQLプロトコル互換 ◦ MySQLのSQLやテーブル定義をそのまま使える。 ◦ ここに価値を感じたので検討候補に入れた。 •
マネージド環境としてTiDB Cloudがある。 ◦ 認証チームでTiDBを採用する場合は TiDB Cloudを採用することになる。
検証結果 Spannerの方がDBとしては完成されている
Spannerのすごさ • Googleの技術力と資金力によって開発されている。 ◦ ハードウェアも含めてのSpannerである。 • レプリカへの読み取り操作も強整合性を保証できる。 ◦ TiDBよりもパフォーマンスが高くなる可能性が高い。 •
JOIN対象のテーブルを同一ノードに保存できる(インターリーブ)。 ◦ JOINのパフォーマンスを最適化できる。 • 課金体系が柔軟でスモールスタートしやすい。 • Google Cloud との連携がある。
なぜTiDBを選択したのか?
TiDB Cloudを採用した理由 • MySQLプロトコル互換 ◦ レガシーアプリケーションのコード変更が不要。 ◦ テーブル定義の変更が不要。 ◦ 運用作業の変更が不要。
◦ MySQLエコシステムをそのまま活用できる。 ◦ エンジニアの学習コストを低く抑えられる。 • TiDBでも十分中長期的に使っていけると判断した。
TiDB Cloudを採用した後の話 • 本番環境で稼働している ◦ 特に問題なく動いている。 ◦ TiDB CloudによってDevOpsを徹底できている。 •
MySQLプロトコル互換は嬉しい。 ◦ 移行作業は想定以上にスムーズに進んだ。 ◦ TiDBを採用する前と変わらず開発・運用できている。 • MySQLは廃止済み & Cassandraの移行中
まとめ 以下の観点でTiDBがハマる可能性がある。 • オンプレをメインで利用している。 • 組織内にMySQLのノウハウやエコシステムが存在する。 • MySQLを利用しているレガシーシステムが存在する。 地味にSpannerとの棲み分けができている。(´・ω・`)
おわり