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
6.2k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DMMプラットフォームがTiDB Cloudを採用した背景
私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT
https://findy.connpass.com/event/314602/
pospome
April 17, 2024
More Decks by pospome
See All by pospome
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
630
スタートアップを支える技術戦略と組織づくり
pospome
8
21k
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.7k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
8
5.3k
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
44
22k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
12
5.3k
組織全体で開発生産性に取り組むために 専門チームを作った話
pospome
2
2.2k
DMMプラットフォームにおける GKE を利用した プラットフォームエンジニアリングへの 取り組み
pospome
1
970
DMMプラットフォームにおけるコード品質を改善する取り組みの理想と現実
pospome
3
3k
Other Decks in Programming
See All in Programming
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
120
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
280
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.8k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
190
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
260
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
370
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
590
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
3
1.3k
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The browser strikes back
jonoalderson
0
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Writing Fast Ruby
sferik
630
63k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
370
Git: the NoSQL Database
bkeepers
PRO
432
67k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
A designer walks into a library…
pauljervisheath
211
24k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Believing is Seeing
oripsolob
1
170
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
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との棲み分けができている。(´・ω・`)
おわり