世界を動かす技術を、日本語で。

バニーデータベース

概要

  • Bunny Database は、DBaaSの高コストや運用負担を解消する新サービス
  • SQLite互換 のマネージドDBで、アイドル時は自動スピンダウン
  • 41地域対応、低レイテンシ、従量課金制を特徴
  • libSQLベース で、今後も機能強化予定
  • パブリックプレビュー中は無料、開発者向けにSDKやHTTP APIも提供

Bunny Database: DB運用の新しい選択肢

  • DBaaSのコスト増加 や機能制限に不満を持つ開発者向け
  • VM上のDB運用 も不要、DBaaS税も回避できる新しい第三の選択肢
  • SQLite互換 のマネージドサービスで、シンプルかつ信頼性重視
  • 一発デプロイ :DB名を入力するだけで即利用開始、設定不要
  • 多言語対応SDK :TypeScript/JavaScript, Go, Rust, .NET向け公式ツール
  • 低レイテンシ :41地域から自動・単一・マルチリージョン選択可
  • HTTP経由で接続、どんなアプリとも統合可能
  • DBエディタ・メトリクス :ブラウザ上でデータ操作やパフォーマンス可視化
  • 従量課金制 :使った分だけ支払い、サーバーレス特有の高額課金なし

なぜデータベースのレイテンシが重要か

  • フロントエンドやAPI最適化 だけでは解決できない「データの地理的距離」問題
  • DBが遠いと、ラウンドトリップ遅延が大きくなり、体感速度が低下
  • マルチリージョン対応のDBaaSは高コスト・複雑 で、現実的でないケースが多い
  • Bunny Databaseのベンチマーク では、クライアントに近いリージョンで99%のレイテンシ削減を実現

柔軟なリージョン選択と拡張性

  • 3種類のデプロイ方式
    • 自動リージョン選択:IPアドレスで最適化、後から変更も可能
    • 単一リージョン:41地域から選択
    • 手動マルチリージョン:任意の組み合わせで展開
  • 要件変更にも柔軟対応、再設計不要でリージョン追加・削除が可能

公平な従量課金モデル

  • リード:10億行ごとに$0.30
  • ライト:100万行ごとに$0.30
  • ストレージ:1GB/リージョンごとに月$0.10
  • アイドル時はストレージ課金のみ、レプリカはトラフィック発生時のみ課金
  • パブリックプレビュー期間は無料

SQLite互換性とlibSQLについて

  • Bunny DatabaseはlibSQLベース (Turso開発のオープンソースSQLiteフォーク)
  • bunny.net独自のlibSQLフォーク でインフラ最適化
  • 完全な機能互換性は保証せず、安定運用重視
  • アップストリームの変更は必要性に応じて取り込み
  • 新機能要望やフィードバックはDiscordで受付中

今後のロードマップ

  • 自動バックアップ
  • DBファイルのインポート/エクスポート
  • スキーマ対応型APIと型安全SDKの自動生成
  • その他の新機能も開発中、ユーザーのフィードバックを重視

Bunny Databaseの統合と活用

  • SDKやHTTP APIでスタックに簡単統合
  • Bunny Edge ScriptingやMagic Containersとも連携可能
  • DBのアクセスタブからトークン生成→環境変数で利用
  • TypeScript例
    import { createClient } from "@libsql/client/web";
    const client = createClient({ url: process.env.DB_URL, authToken: process.env.DB_TOKEN });
    const result = client.execute("SELECT * FROM users");
    
  • 詳細な統合手順は公式ドキュメント参照

パブリックプレビューの利用条件

  • 1ユーザーあたり最大50DB、各1GB制限
  • bunny.netダッシュボードから即利用可能
  • 開発者のフィードバック歓迎

Bunny Database は、低コスト・低レイテンシ・高柔軟性を兼ね備えた新しいマネージドDBサービス。DB運用コストや複雑さに悩む開発者に最適な選択肢。

Hackerたちの意見

かなりいい感じだね。BunnyをCloudflareの代わりに使って2年くらいになるけど、今のところ全然問題ないよ。

でも、リソースがちょっと薄く広がってる感じはするね。ファイルストレージのS3互換インターフェースは、2022年から「もうすぐ」って言ってるし。

へぇ、どうやって?サイトを結構改造しないといけなかったの?Cloudflareの代わりにCDNとして試してみたけど、ワークフローが全然違ったんだ。DNSを使って他のウェブサイトの前に置いてリクエストをプロキシするだけじゃなくて(「オレンジの雲」ボタン)、全てのアセットをBunnyにアップロードして、アプリ内のURLをリライトしないといけなかった。ちょっと面倒だったな。

料金の詳細:Bunny Databaseはパブリックプレビュー中は無料です。アイドル状態の時は、Bunny Databaseはストレージコストだけがかかります。1つの主要リージョンは常に課金され、リードレプリカはトラフィックを処理する時だけストレージコストが追加されます(時間単位で計測)。読み取り - 10億行あたり$0.30 書き込み - 100万行あたり$0.30 ストレージ - アクティブリージョンあたり$0.10/GB(月額)

彼らの価格設定の一番いいところは、前払いができること。だから、コストが膨らんでも、5桁や6桁の請求書が来る前に止められるんだ。AzureやAWS、GCP、CFとは違ってね。

これはウサギのデータベースじゃないよ。

それがクリックした唯一の理由だね。

正確だけど、少なくとも4文字のグラリックス1つと2つのインターロバングが必要だね。

賛成!

町中で借金してるやつがいるって聞いたよ。

でも、クッキーを食べてるウサギは可愛いよね。

もしかしたら私には向いてないのかもしれないけど、RDBMSの管理って実際どれくらい大変なの?どんなLinuxディストリビューションでも、MySQLやPostgresを5分以内でインストールできて、すぐに使えるよ。シングルコアのVPSでも、適切にインデックスが付けられていて、クエリが無茶じゃなければ、たくさんのクエリを処理できるし。DBのダウンタイムなしでバックアップできる成熟したオープンソースのソリューションもあるし(ほとんどのパッケージマネージャーで入手可能)。.confファイルを使ってDBを調整するのは簡単だし(自動調整してくれるスクリプトもあるし!!!)。VPSプロバイダーは、静止時の暗号化、ファイアウォールルール、ディスク全体のスナップショットを設定できるし。MySQLもPostgresも、全然ダウンしないし、超信頼性が高くて安定してるよ。しかも、毎月のコストもすごく安定してる。

自分が考えるオープンソースのRDBMSマネージドソリューションの最前線、Yugabyteの機能を見てみて。https://www.yugabyte.com これが「すぐに使える」状態でどれだけ簡単に実現できるか教えて。ビジネスの継続性や高可用性を気にしないなら、すべてが楽になるよ。> MySQLやPostgresは全然ダウンしないし、めちゃくちゃ信頼性が高くて安定してる。サーバーが落ちることはあるけどね。

難しいことじゃなくて、委任の問題なんだよね。多くの企業は価格にあまり敏感じゃなくて、自分たちのデータベースを維持するために誰かに月額で払った方がいいって考えるんだ。データベースの設定やチューニング、更新、バックアップの確認、監視、必要に応じてスケールさせるためにエンジニアの時間を使うよりもね。確かに、普通の中小企業ならPostgresやMySQLをインストールするのは簡単だけど、mysql_secure_installやパスワード付きのユーザー、'app'データベースを設定するだけで済む。でも、10〜20のデータベースを定期的にバックアップしたり、パッチを当てたりしなきゃいけなくなるかもしれない。企業はそれを重視してるんだよ。

自分のデータベースを運用することに関して、信頼性や稼働時間については全く心配してないよ。ただ、バックアップには不安がある。バックアップがちゃんと機能してるか、安全で信頼できるかを確認するのは、結構手間がかかる作業になりそうだし。セキュリティに関しても、何が必要なのか完全には理解してないと思う。CVEsを追跡して、それぞれにどう対応するか考えなきゃいけないの?ファイアウォールのルールについても話してるけど、ここで何が必要なのかも分からない。こういうことを知ってる人を雇うのはそんなに難しくないと思うけど、ホスティングされたデータベースを運用するのにかかる$50/月とかにはならないだろうね。

一つのインスタンスならいいけど、マルチリージョンはどうなの?

「もしかしたら私がターゲット市場じゃないのかもしれないけど、RDBMSの管理ってそんなに難しいの?」 そんなことないよ。ワンクリックで無料のPostgresインスタンスを立てられるからね: https://neon.new/

バックアップってほんと面倒だよね。最初はこの方法で行こうと思ったけど、VMや計算リソースがあっても、ちゃんとしたバックアップがないと本番データを扱えないんだ。バックアップをオブジェクトストレージに保存するためにcronジョブを設定したけど、チェーンのどこかにミスがあったら、壊れた本番データベースになっちゃうから、すごく不安だった。データベースを常に監視するか、アラートや通知を設定しないといけなかったし。もしバックアップが設定されたOSSのPostgresがあれば、すぐにデプロイできるなら、喜んでお金払うよ。

参考までに、Bunnyは2022年第2四半期に彼らのオブジェクトストレージのS3互換性を発表した人たちだよ。 [1] > 「第2四半期の後半にプレビューとしてこれを利用できるのを楽しみにしているので、注目していてね!」 それから2023年9月にそれを見逃したことを謝罪したんだ。 [2] > 「私たちは2022年にBunny StorageのS3サポートに取り組んでいると最初に発表しました。2023年も終わりに近づいている今、多くの顧客が私たちのブログをフォローし、リリースに関する良いニュースを期待しています。」 そして、ロードマップを2024年初頭に変更したんだ。 [2] > 「しかし、私たちは2024年初頭にS3互換性を出荷するために積極的に取り組んでいます。」 その投稿には「bunny.netでは透明性を重視しています。」という素晴らしい引用もあるよ。今は2026年初頭だけど、彼らはこの件についてのサポートリクエストを無視してる。だから、彼らの製品やリーダーシップを全く信頼しない方がいいよ。 [1] https://bunny.net/blog/introducing-edge-storage-sftp-support... [2] https://bunny.net/blog/whats-happening-with-s3-compatibility...

同じ気持ちだよ。Cloudflareから移行するのを楽しみにしてたけど、S3互換がないのとそのコミュニケーションが(今も)致命的だった。

S3互換を実現するためにストレージサービスを再構築しなきゃいけないって気づいたところを省略してるね。だから、ストレージサービスの再構築を決めたんだ。決して小さなプロジェクトじゃないから、時間がかかるのも理解できるよ。少なくとも、彼らはそれについて透明性を持ってる。

ここ数日、Bunnyに苦労してる。彼らのログ配信APIが3日以上遅れてるんだ。ドキュメントでは「最大5分の遅延」と約束してるのにね。https://docs.bunny.net/cdn/logging どうしてステータスページに載ってないのかって?それは遅延が「重大」じゃないからなんだ。でも、今ログラインを失ってる気がして、保持期間は3日だから心配だよ。彼らにとっては面白い戦略だけど、他のサービスに対する信頼感は全然湧かない。ログ配信APIを信頼できないし、問題について透明性がないと、データベースのような重要なものを任せるのは難しいよね。

これを試してみるよ。前払いができて、レートリミッターがあって、レート制限を超えても料金が発生しないクラウドプロバイダーは少ないからね(ブロックに料金を取るプロバイダーがいるのは本当に驚きだ)。

ここで声を上げておくね。新機能を導入するパターンがあっても、80%のところまでしか進まない感じ。CDNには特に不満はないけど、他のサービスには何年もイライラさせられてる。

いくつかエピソードをシェアしてくれない?

"parse.com"で傷ついたことを思い出すな。あれも期待できるデータベースだったけど、顧客がどうしても使いたがって、長い開発の末、プロジェクトリリース直前に彼らがサービスを終了するって言われた。サポートが「すみません、みんなFacebookに雇われちゃって、もう誰もparse.comには関わってないんです」って言ったの、マジで衝撃だった。

これが理由で「サービスとしての構築」に関しては、parse.comが最後の一押しだった。DaaSは、sqliteを使うのがこんなに簡単になった今、趣味のプロジェクトにはあんまり向いてないよね。

bunny.netの一番の良いところは、アメリカじゃなくてヨーロッパにあることだね。あのオレンジ色の人がいる白金の家に依存しないから。