DMMプラットフォームがTiDB Cloudを採用した背景
by
pospome
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
DMMプラットフォームが TiDB Cloudを採用した背景 @pospome
Slide 2
Slide 2 text
登壇者 名前:pospome(ぽすぽめ) 所属:DMMプラットフォーム Twitter:@pospome
Slide 3
Slide 3 text
概要 ● DMMプラットフォーム内の認証チームがTiDB Cloudを採用した。 ○ すでに本番環境で動いている。 ○ 別のチームも採用予定である。
Slide 4
Slide 4 text
認証チームが抱えるDB周りの課題 ● オンプレのMySQLをクラウド化したい。 ○ マネージドなDBを採用し、DevOpsを実現する。 ● Cassandra, Couchbaseを廃止し、DBを一本化したい。 ○ 歴史的経緯でNoSQLも利用していた。 ● 中長期的な要件に対応できるDBが欲しかった。 ○ 書き込みのスケール、強整合性、耐障害性などなど。 ● DB起因のダウンタイムを避けたい。 ○ マイクロサービス環境では調整コストが高い。
Slide 5
Slide 5 text
New SQLの検討 ● 書き込みがスケールする。 ● 強整合性を保証できる。 ● 耐障害性が高い。 ● ダウンタイムがない。 ● パフォーマンスはRDBに劣る。 ○ それほどパフォーマンスにシビアではない環境なので問題ない。 ○ TiDB移行後の実績値として APIのレイテンシは全体的に20~30ミリ秒ほど高くなった。
Slide 6
Slide 6 text
よし、Google Cloud Spanner 使おう (´・ω・`)
Slide 7
Slide 7 text
謎のDMが来た・・・ このDMはノリなのでは? (´・ω・`)
Slide 8
Slide 8 text
TiDBも検討候補に・・・ ● Spannerの論文を参考に開発されたOSSである。 ● MySQLプロトコル互換 ○ MySQLのSQLやテーブル定義をそのまま使える。 ○ ここに価値を感じたので検討候補に入れた。 ● マネージド環境としてTiDB Cloudがある。 ○ 認証チームでTiDBを採用する場合は TiDB Cloudを採用することになる。
Slide 9
Slide 9 text
検証結果 Spannerの方がDBとしては完成されている
Slide 10
Slide 10 text
Spannerのすごさ ● Googleの技術力と資金力によって開発されている。 ○ ハードウェアも含めてのSpannerである。 ● レプリカへの読み取り操作も強整合性を保証できる。 ○ TiDBよりもパフォーマンスが高くなる可能性が高い。 ● JOIN対象のテーブルを同一ノードに保存できる(インターリーブ)。 ○ JOINのパフォーマンスを最適化できる。 ● 課金体系が柔軟でスモールスタートしやすい。 ● Google Cloud との連携がある。
Slide 11
Slide 11 text
なぜTiDBを選択したのか?
Slide 12
Slide 12 text
TiDB Cloudを採用した理由 ● MySQLプロトコル互換 ○ レガシーアプリケーションのコード変更が不要。 ○ テーブル定義の変更が不要。 ○ 運用作業の変更が不要。 ○ MySQLエコシステムをそのまま活用できる。 ○ エンジニアの学習コストを低く抑えられる。 ● TiDBでも十分中長期的に使っていけると判断した。
Slide 13
Slide 13 text
TiDB Cloudを採用した後の話 ● 本番環境で稼働している ○ 特に問題なく動いている。 ○ TiDB CloudによってDevOpsを徹底できている。 ● MySQLプロトコル互換は嬉しい。 ○ 移行作業は想定以上にスムーズに進んだ。 ○ TiDBを採用する前と変わらず開発・運用できている。 ● MySQLは廃止済み & Cassandraの移行中
Slide 14
Slide 14 text
まとめ 以下の観点でTiDBがハマる可能性がある。 ● オンプレをメインで利用している。 ● 組織内にMySQLのノウハウやエコシステムが存在する。 ● MySQLを利用しているレガシーシステムが存在する。 地味にSpannerとの棲み分けができている。(´・ω・`)
Slide 15
Slide 15 text
おわり