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 Serverless ~理想のServerless DBを考える~
Search
soso
July 09, 2024
Programming
1
650
TiDB Serverless ~理想のServerless DBを考える~
soso
July 09, 2024
Tweet
Share
More Decks by soso
See All by soso
Devinアップデート最前線2025.07 Devin v2.xの活用術
soso_15315
1
300
AWS CDKを4〜5年使ってたどり着いた最新構成
soso_15315
1
2.5k
Next.jsで作ったブログ内に リンクカードを実装したときの知見
soso_15315
3
970
Reactにおける再レンダリングパフォーマンスチューニングの考え方と実践
soso_15315
2
410
React Hooks公開から1年で得られた知見
soso_15315
1
520
Other Decks in Programming
See All in Programming
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
410
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
180
ふん…おもしれぇ Parser。RubyKaigi 行ってやるぜ
aki_pin0
0
110
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
220
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
450
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
190
CSC307 Lecture 13
javiergs
PRO
0
310
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
480
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
1
250
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
180
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
190
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
440
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The agentic SEO stack - context over prompts
schlessera
0
670
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
63
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
240
Paper Plane (Part 1)
katiecoart
PRO
0
4.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
170
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
110
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
63
53k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
180
Transcript
@sosomuse TiDB Serverless ~理想のServerless DBを考える~
自己紹介 普段はWebサービス開発してます。 最近はAWS CDK,CDKTFが推しです。 西村 爽 So Nishimura フロントエンド: React
バックエンド: Go,TypeScript インフラ: AWS,Cloudflare @sosomuse
アジェンダ 2. TiDB Serverlessとは 3. Cloudflare Workers&TiDB Serverless 1. なぜServerless
DBなのか
皆さんサーバーレスなDBサービス使ってますか? 突然ですが
メインで使っているDBサービス RDB(Amazon Aurora) NoSQL(Amazon DynamoDB) その他(Redisなど。ここでは扱わない) メインで使ってきた(使っている)DBサービス
RDB(Amazon Aurora) 実家のような安心感 SQLが書ける!! 設計の知見が豊富 課題 いいところ スケーリング問題 常時稼働でコストが発生。開発環境の料金嵩みがち マネージドとはいえ運用管理の手間が発生しがち
NoSQL(Amazon DynamoDB) サーバーレス!! 高速な読み書き トランザクション(上限あり) 強整合性サポート(条件付き) 課題 いいところ 設計が難しい! 検索が制限されるので、RDBに逃がすなど調整が必要になる
理想のDBサービスって? サーバーレスであること トランザクション・強整合性 運用コストは掛けたくない 低コスト RDB程度の検索機能&パフォーマンス 個人的にSQLも書けるとグッド! マネージドサービス 従量課金 オートスケーリング
どんな選択肢を考えた?① Amazon Aurora Serverless(v2) Auroraから移行するなら一番適性あり エッジ上で動作するSQLiteベースのDB 最大DBサイズ10GBやクエリ実行時間30秒など制限あり https://developers.cloudflare.com/d1/platform/limits/ それなりに最低料金がかかる バージニア北部:
約$43/月 東京: 約$73/月 Cloudflare D1
どんな選択肢を考えた?② Supabase BaaS(DB内包) サーバレスなMySQLサービス Aurora Serverlessと同じく最低料金がかかる フロントエンドから呼び出してバックエンドはSupabaseということも可能 独自的な設計は必要になる PlanetScale
どんな選択肢を考えた?③ CockroachDB Serverless NewSQL NewSQL MySQL互換 PostgreSQL互換 TiDB Serverless(今回試してみる)
アジェンダ 2. TiDB Serverlessとは 3. Cloudflare Workers&TiDB Serverless 1. なぜServerless
DBなのか
TiDBとは NewSQL(分散型DB) OSS MySQL互換 SQLで書ける https://github.com/pingcap/tidb 一部違いはあるが、大抵の場合困ることは無い印象 https://docs.pingcap.com/ja/tidbcloud/mysql-compatibility#unsupported-features トランザクション・強整合性 スケーラビリティ
MySQL互換
TiDB構成 参考: [変化と挑戦:NoSQLとNewSQL Serverless Databaseの技術革新とマルチテナンシーの秘密] ( ) https://speakerdeck.com/yoshiitaka/serverless-database
TiDB Serverless サーバーレス!! 現状 Provider が AWS のみ セルフホストのTiDBやDedicatedに比べていくつか制限あり シングルAZ
Public接続 or AWS Private Link経由で接続
アジェンダ 2. TiDB Serverlessとは 3. Cloudflare Workers&TiDB Serverless 1. なぜServerless
DBなのか
前提 社内の技術実験用プロジェクトで試してみる テックブログのようなもの API Server: ECS&NestJS→Cloudflare Workers×Hono DB: DynamoDB→TiDB Serverless
置き換えと検証が一通り終わったらどこかで資料にしたい 実験プロジェクトなのでダイナミックに置き換える 本スライドではWorkersとTiDBの接続のところまで
WorkersとTiDBの接続 TiDB公式ドキュメントで接続方法がサポートされている https://docs.pingcap.com/tidbcloud/integrate-tidbcloud-with-cloudflare/ Public接続
(2)スナップショットテストの導入 Workers作成
(2)スナップショットテストの導入 接続確認用コード
(2)スナップショットテストの導入 DATABASE_URLのenv追加 TiDB Cloudから取得したDBのPublic URLをWorkersのEnvに追加 WorkersのURLにアクセスしてデータが取れていることを確認
ご静聴ありがとうございました