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
190
PlanetScaleの無料プランがなくなるので、NeonとTiDBを試してみた
Yohei Iino
June 16, 2024
Tweet
Share
More Decks by Yohei Iino
See All by Yohei Iino
作成中のFlutterアプリの中間発表
wheatandcat
0
16
最近読んだ技術書を簡単紹介
wheatandcat
0
34
ユニバーサルリンク/アプリリンクを使ってQRコードでゲストログインできるようにする
wheatandcat
0
37
Firebase App Checkを実装したので紹介
wheatandcat
0
53
Flutter HooksとRiverpodの解説
wheatandcat
0
280
T3 Stack(応用編: Next Auth & SSRの実装紹介)
wheatandcat
1
260
App Routerの紹介
wheatandcat
0
78
Flutter × GraphQLでアプリを作ってみる
wheatandcat
0
240
T3 Stack + Supabaseでアプリを作ってみる
wheatandcat
0
220
Other Decks in Technology
See All in Technology
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
540
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
250
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
現場で役立つAPIデザイン
nagix
33
12k
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
130
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.4k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
760
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Site-Speed That Sticks
csswizardry
4
380
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Visualization
eitanlees
146
15k
Docker and Python
trallard
44
3.3k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Code Reviewing Like a Champion
maltzj
521
39k
Automating Front-end Workflow
addyosmani
1368
200k
A designer walks into a library…
pauljervisheath
205
24k
A Tale of Four Properties
chriscoyier
158
23k
GitHub's CSS Performance
jonrohan
1030
460k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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のアーキテクチャは興味深いので、今後も追いかけていきたい
ご清聴ありがとうございました 🎉