UStackUStack
Bunny Database favicon

Bunny Database

Bunny Database 是一個相容 SQLite、全球分散式的 SQL 服務,運行在 bunny.net 高速邊緣網路之上,提供低延遲的按量計費資料庫,並可在閒置時自動關閉以節省成本。

Bunny Database

什麼是 Bunny Database?

什麼是 Bunny Database?

Bunny Database 是一項完全託管、相容 SQLite 的 SQL 服務,專為在 bunny.net 快速、全球化的網路上「開箱即用」而打造。它讓你能夠輕鬆在靠近使用者的位置建立並執行資料庫,隨著應用程式成長,維持低延遲,而不必重新設計整體架構。

作為一個簡單易用的 DBaaS(Database-as-a-Service,資料庫即服務),Bunny Database 將 SQLite 的熟悉體驗與雲端服務的便利性結合在一起。資料庫在閒置時會自動關閉,你只需為儲存與實際發生的讀寫付費。你可以先從單一區域起步,之後再在全球各地新增更多區域,讓不同地區的使用者就近進行讀取。

依託與 bunny.net 內容傳遞平台相同的基礎設施,Bunny Database 為開發者提供一種快速、可靠且高 CP 值的方式,用來處理以讀取為主的工作負載,例如商品目錄、後設資料(metadata)、使用者資料檔與設定資料等。

主要功能

  • 相容 SQLite 的資料庫引擎
    建立在你熟悉的 SQL 基礎之上。Bunny Database 採用 SQLite 語意設計,上手門檻低,無需學習自訂查詢語言即可使用。

  • 全球化、低延遲網路
    部署於 bunny.net 的全球基礎設施上,你的資料庫最多可以從 41 個區域對外提供服務,顯著降低全球使用者的往返延遲。

  • 從單一區域開始,之後再擴展
    你可以先在一個區域建立資料庫,隨著使用者成長再擴展到更多區域。在新的地理位置新增唯讀複本(read replicas),無需重新設計應用程式。

  • 閒置時自動關閉
    當資料庫處於閒置狀態時,你只需負擔儲存成本。這讓 Bunny Database 對於流量不穩定或突發性的工作負載來說,具備極佳的成本效率。

  • 按用量計費的定價模式
    依照讀、寫與儲存用量進行透明計費:

    • 讀取(Reads): 每十億列 0.30 美元
    • 寫入(Writes): 每一百萬列 0.30 美元
    • 儲存(Storage): 每個活躍區域每 GB 每月 0.10 美元
      一個主區域會持續計費,而唯讀複本只在實際提供流量服務時產生額外儲存費用,並以小時計量。
  • 多種官方 SDK
    透過官方 libSQL SDK,快速整合 TypeScript/JavaScript、Go、Rust,以及 .NET(透過 bunny.net 自家的 .NET SDK)。你也可以透過 HTTP 與資料庫互動,以實作自訂整合方案。

  • 簡潔直覺的 DBaaS 控制台
    透過直覺式儀表板,只需幾個步驟就能建立資料庫、連接應用程式、檢視資料並監控效能。

  • 內建資料檢視工具
    可在介面中直接瀏覽資料表、執行 SQL 查詢並快速檢查資料狀況,無需額外安裝外部用戶端。

  • 效能指標與監控
    隨著資料庫擴展,你可以監控延遲、流量與儲存使用量,協助你優化效能與成本。

  • 快速上手與免費試用
    無需信用卡即可啟用 14 天免費試用,大約兩分鐘即可完成初始設定。在公開預覽期間,Bunny Database 可免費使用。

  • 與其他 bunny.net 工具無縫整合
    將 Bunny Database 與 Edge Scripting(在邊緣執行 TypeScript/JavaScript)以及 Magic Containers(用於長時間執行的容器工作負載)結合使用,可以在同一平台上打造完整的全球分散式應用程式。

如何使用 Bunny Database

  1. 註冊並啟用免費試用
    建立或登入你的 bunny.net 帳號,前往 Bunny Database 頁面。啟用 14 天免費試用——無需信用卡。

  2. 建立你的第一個資料庫

    • 在儀表板中開啟 Bunny Database 區域。
    • 點擊建立新資料庫。
    • 為資料庫命名。
    • 選擇初始主區域(之後可以新增更多區域)。
    • 確認部署,一鍵即完成資料庫佈建。
  3. 產生存取權杖

    • 在資料庫設定中,為你的應用程式建立 存取權杖(access tokens)
    • 將這些權杖設定為應用或腳本的環境變數。
    • 你可以為不同環境(開發、測試、正式)建立不同的權杖。
  4. 透過 SDK 或 HTTP 連線

    • 安裝官方 SDK(TS/JS、Go、Rust、.NET),或透過 HTTP 設定自訂整合。
    • 使用儀表板提供的連線字串與存取權杖。
    • 在應用程式程式碼中初始化用戶端,開始執行 SQL 查詢。
  5. 設計 Schema 並遷移資料

    • 使用標準 SQL(CREATE TABLE、ALTER TABLE 等)定義資料庫 Schema。
    • 將商品目錄、使用者資料檔或設定等初始資料寫入資料庫。
    • 你可以直接在儀表板中執行 SQL,或透過應用程式操作。
  6. 在介面中檢視與偵錯資料

    • 前往儀表板中的 資料檢視(data inspection) 區域。
    • 檢視資料表、執行臨時查詢,並確認應用程式是否如預期進行讀寫。
  7. 隨著規模成長新增區域

    • 當你在新的地區取得使用者時,可以為該地新增唯讀複本。
    • 在應用或 SDK 設定中,優先使用就近的唯讀區域,以進一步降低延遲。
  8. 監控效能與使用情況

    • 使用監控儀表板檢視 延遲、流量與儲存 指標。
    • 依需求調整區域布局、查詢模式與資料模型,在效能與成本之間取得平衡。

使用情境

1. 商品目錄與各類索引

Bunny Database 非常適合承載讀取量為主的 商品目錄、地點目錄與內容索引。你可以儲存結構化資料——例如商品詳情、門市位置或文章後設資料——並從距離使用者較近的區域提供讀取服務,即使面對全球用戶,也能維持順暢的瀏覽體驗。

2. 後設資料與篩選層

對於高度依賴 標籤、分類、標記與查詢資料 的應用,Bunny Database 能提供快速且一致的後設資料層。你可以將篩選條件、分類與關聯關係儲存在資料庫中,供 API 與前端快速縮小搜尋結果範圍。按量計費與閒置自動關閉機制,有助於壓低以後設資料為主的工作負載成本。

3. 使用者資料檔與偏好

你可以使用 Bunny Database 儲存 使用者資料檔、偏好設定與輕量級帳號資料。透過多區域部署與低延遲存取,無論使用者位於何處,檔案讀取與更新都能保持流暢。這對需要快速存取使用者資訊的 SaaS 應用、社群平台與消費型網路服務特別實用。

4. 應用程式設定與功能旗標

在 Bunny Database 中管理 多租戶設定、環境參數與功能旗標(feature flags)。將設定集中儲存在全球分散式資料庫中,可讓你的服務從就近區域快速讀取設定,降低啟動與執行時的延遲。

5. 搭配 bunny.net 建構邊緣驅動應用

將 Bunny Database 與 Edge ScriptingMagic Containers 整合,打造真正的邊緣原生應用。例如:

  • 使用 Edge Scripting 在邊緣節點執行 TypeScript/JavaScript 邏輯。
  • 在 Bunny Database 中儲存設定、使用者情境或快取匯總結果。
  • 使用 Magic Containers 承載長時間運行或特殊工作負載。
    透過這套技術組合,你可以在不自行管理基礎設施的情況下,打造低延遲、全球分散式的應用程式。

常見問題(FAQ)

Bunny Database 是否相容 SQLite?

是的。Bunny Database 以 SQLite 為基礎,並設計為與 SQLite 相容,這表示你可以沿用熟悉的 SQL 語法與模式。官方 SDK 建立在 libSQL 之上,讓你可以像操作本地 SQLite 資料庫一樣進行互動,但改由雲端代管並提供管理功能。

Bunny Database 如何計費?

Bunny Database 採用 按用量計費 模式,依實際使用情況收費:

  • 讀取(Reads): 每十億列 0.30 美元
  • 寫入(Writes): 每一百萬列 0.30 美元
  • 儲存(Storage): 每個活躍區域每 GB 每月 0.10 美元
    當資料庫閒置時,只會產生儲存費用。一個主區域會持續計費,而唯讀複本只會在實際處理流量時按小時計收額外儲存費用。在公開預覽期間,Bunny Database 可免費使用。

目前有哪些可用區域?

在建立與擴展 Bunny Database 部署時,你最多可從全球 41 個區域 中進行選擇。你可以先從單一主區域開始,隨著使用者分布情況,再逐步新增其他區域,以降低各地使用者的延遲。

我要如何將應用連線到 Bunny Database?

你可以透過 官方 SDKHTTP 進行連線:

  • 使用適用於 TypeScript/JavaScript、Go、Rust 的 libSQL SDK,或 bunny.net 提供的 .NET SDK
  • 使用 bunny.net 儀表板提供的資料庫端點(endpoint)與存取權杖設定連線。
  • 若你使用自訂環境或工具,也可以透過提供的 API 以 HTTP 方式整合。

Bunny Database 最適合哪些工作負載?

Bunny Database 專為 以讀取為主的工作負載 進行最佳化,特別適合以結構化資料為核心的場景。典型使用情境包括:

  • 商品目錄與內容目錄
  • 後設資料與篩選層
  • 使用者資料檔與偏好
  • 應用程式設定與功能旗標 若你的情境是寫入量極高、需要複雜交易或高度複雜關聯模型,建議進一步評估 Bunny Database 的架構與全球分散模式是否符合需求。

Bunny Database 能否與其他 bunny.net 產品整合?

可以。Bunny Database 運行在與其他 bunny.net 工具相同的平台上,可與以下產品搭配使用:

  • Edge Scripting:在靠近使用者的邊緣節點執行 TypeScript/JavaScript 邏輯。
  • Magic Containers:承載長時間運行的容器化工作負載。
    透過這些服務的組合,你可以打造真正分散式的應用,同時兼顧全球效能與一致的開發體驗。
Bunny Database | UStack