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
PlanetScaleの無料プランがなくなるので、NeonとTiDBを試してみた
Search
Yohei Iino
June 16, 2024
Technology
0
120
PlanetScaleの無料プランがなくなるので、NeonとTiDBを試してみた
Yohei Iino
June 16, 2024
Tweet
Share
More Decks by Yohei Iino
See All by Yohei Iino
作成中のFlutterアプリの中間発表
wheatandcat
0
5
最近読んだ技術書を簡単紹介
wheatandcat
0
17
ユニバーサルリンク/アプリリンクを使ってQRコードでゲストログインできるようにする
wheatandcat
0
8
Firebase App Checkを実装したので紹介
wheatandcat
0
14
Flutter HooksとRiverpodの解説
wheatandcat
0
180
T3 Stack(応用編: Next Auth & SSRの実装紹介)
wheatandcat
1
200
App Routerの紹介
wheatandcat
0
56
Flutter × GraphQLでアプリを作ってみる
wheatandcat
0
210
T3 Stack + Supabaseでアプリを作ってみる
wheatandcat
0
190
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
150
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Faster Mobile Websites
deanohume
305
30k
Optimizing for Happiness
mojombo
376
70k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Designing for Performance
lara
604
68k
Become a Pro
speakerdeck
PRO
25
5k
A better future with KSS
kneath
238
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Visualization
eitanlees
145
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Scaling GitHub
holman
458
140k
Transcript
PlanetScaleの無料プランがなくなるので、NeonとTiDBを試してみた Press Space for next page
自己紹介 📝 飯野陽平(wheatandcat) 🏢 会社: 合同会社UNICORN 代表社員 📚 Blog: https://www.wheatandcat.me/
🛠 今までに作ったもの memoir OOMAKA MarkyLinky
PlanetScaleとは クラウドベースのサーバーレスDB MySQLと互換性のあるインターフェースを持つ オートスケールやノンブロッキングスキーマの変更をサポート YoutubeやSlackなどの大量のデータを扱う企業が利用されている 詳細 PlanetScale 軽くコンソールを見せてDEMO https://app.planetscale.com/
無料プランがなくなる件 5GBまで無料で使用できたが、2024年4月で無料プランの提供が終了 https://planetscale.com/blog/planetscale-forever 最小プランでも月額$50/月くらいはかかる 個人開発で使うには結構辛い
今回の開発で使えるDBサービスの条件 今回は個人開発で使用する前提なので以下の条件で調査 個人開発で使用する範疇なら無料で使用できるDBサービス Prismaを使用できる
代替えの候補 Neon TiDB Serverless
Neonとは サーバーレスのフルマネージドPostgreSQLサービス コードはGitHubで公開されている neondatabase/neon Rust製 AWS AuroraやAlloyDBと似た機能を持ったアーキテクチャを採用(詳しくは以下の記事を参照) https://neon.tech/blog/architecture-decisions-in-neon ストレージとコンピューティングを分離した構成で柔軟なスケーリングが可能 軽くコンソールを見せてDEMO
https://console.neon.tech/app/projects
メリット・デメリット メリット 無料枠が512MB ブランチングができるので、環境毎にDBを複製ことが可能 Webのコンソールの機能が充実していて以下の機能が使用できる SQL editor IP制限 定期バックアップ デメリット
東京リージョンが無い 日本で使用する場合はシンガポールリージョンが一番近くになる
TiDB Serverlessとは MySQL互換のあるNewSQLデータベースサービス 高い分散性能を持っており、大規模プロジェクトでも使用されている コードはGitHubで公開されている https://github.com/pingcap/tidb Go製 詳細なアーキテクチャは以下の記事を参照 https://docs.pingcap.com/ja/tidb/stable/tidb-architecture#tidb-architecture 軽くコンソールを見せてDEMO
https://tidbcloud.com/console/clusters
メリット・デメリット メリット 無料枠が5000万リクエストユニット(RU)/月 NewSQLなのにPrismaが使用できる 自動でデータ分散管理されるためシャーディングが不要 Writeのスケールも可能 柔軟なトランザクションの設定が用意されていて用途に合わせて変更可能 https://docs.pingcap.com/ja/tidb/stable/transaction-isolation-levels 運営会社のPingCAPに日本支社ができたので日本語のドキュメントが充実している https://docs.pingcap.com/ja/tidb/stable/overview
デメリット MySQLは完全互換では無い(詳細はこちら) 学習コストが高い 参考記事: TiDBにおけるパフォーマンス検証の進め方とつまづきポイント
まとめ 初めてNeonとTiDB Serverlessに触ったが、どちらも使いやすくて良かった Webコンソール機能的にはNeonの方が充実していたが、東京リージョンがないのが結構痛い 今回はTiDB Serverlessを採用することにした 途中移行は難しそうだが、新規プロジェクトでの採用は積極的に検討した方が良さそう 特にTiDBのアーキテクチャは興味深いので、今後も追いかけていきたい
ご清聴ありがとうございました 🎉