什麼是 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
-
註冊並啟用免費試用
建立或登入你的 bunny.net 帳號,前往 Bunny Database 頁面。啟用 14 天免費試用——無需信用卡。 -
建立你的第一個資料庫
- 在儀表板中開啟 Bunny Database 區域。
- 點擊建立新資料庫。
- 為資料庫命名。
- 選擇初始主區域(之後可以新增更多區域)。
- 確認部署,一鍵即完成資料庫佈建。
-
產生存取權杖
- 在資料庫設定中,為你的應用程式建立 存取權杖(access tokens)。
- 將這些權杖設定為應用或腳本的環境變數。
- 你可以為不同環境(開發、測試、正式)建立不同的權杖。
-
透過 SDK 或 HTTP 連線
- 安裝官方 SDK(TS/JS、Go、Rust、.NET),或透過 HTTP 設定自訂整合。
- 使用儀表板提供的連線字串與存取權杖。
- 在應用程式程式碼中初始化用戶端,開始執行 SQL 查詢。
-
設計 Schema 並遷移資料
- 使用標準 SQL(CREATE TABLE、ALTER TABLE 等)定義資料庫 Schema。
- 將商品目錄、使用者資料檔或設定等初始資料寫入資料庫。
- 你可以直接在儀表板中執行 SQL,或透過應用程式操作。
-
在介面中檢視與偵錯資料
- 前往儀表板中的 資料檢視(data inspection) 區域。
- 檢視資料表、執行臨時查詢,並確認應用程式是否如預期進行讀寫。
-
隨著規模成長新增區域
- 當你在新的地區取得使用者時,可以為該地新增唯讀複本。
- 在應用或 SDK 設定中,優先使用就近的唯讀區域,以進一步降低延遲。
-
監控效能與使用情況
- 使用監控儀表板檢視 延遲、流量與儲存 指標。
- 依需求調整區域布局、查詢模式與資料模型,在效能與成本之間取得平衡。
使用情境
1. 商品目錄與各類索引
Bunny Database 非常適合承載讀取量為主的 商品目錄、地點目錄與內容索引。你可以儲存結構化資料——例如商品詳情、門市位置或文章後設資料——並從距離使用者較近的區域提供讀取服務,即使面對全球用戶,也能維持順暢的瀏覽體驗。
2. 後設資料與篩選層
對於高度依賴 標籤、分類、標記與查詢資料 的應用,Bunny Database 能提供快速且一致的後設資料層。你可以將篩選條件、分類與關聯關係儲存在資料庫中,供 API 與前端快速縮小搜尋結果範圍。按量計費與閒置自動關閉機制,有助於壓低以後設資料為主的工作負載成本。
3. 使用者資料檔與偏好
你可以使用 Bunny Database 儲存 使用者資料檔、偏好設定與輕量級帳號資料。透過多區域部署與低延遲存取,無論使用者位於何處,檔案讀取與更新都能保持流暢。這對需要快速存取使用者資訊的 SaaS 應用、社群平台與消費型網路服務特別實用。
4. 應用程式設定與功能旗標
在 Bunny Database 中管理 多租戶設定、環境參數與功能旗標(feature flags)。將設定集中儲存在全球分散式資料庫中,可讓你的服務從就近區域快速讀取設定,降低啟動與執行時的延遲。
5. 搭配 bunny.net 建構邊緣驅動應用
將 Bunny Database 與 Edge Scripting 及 Magic 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?
你可以透過 官方 SDK 或 HTTP 進行連線:
- 使用適用於 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:承載長時間運行的容器化工作負載。
透過這些服務的組合,你可以打造真正分散式的應用,同時兼顧全球效能與一致的開發體驗。
Alternatives
Kaggle
Kaggle 是一個數據科學和機器學習平台,允許用戶相互合作、競爭和學習。
AI Code Generator
一個由人工智慧驅動的代碼生成器,可以根據文本描述生成代碼,幫助您更快、更高效地編寫代碼。
Invofox
Invofox 是一個由人工智慧驅動的文檔解析 API,它將發票和工資單等非結構化文檔轉換為乾淨、結構化的 JSON 數據,從而提高數據準確性和操作效率。
Technologies Dataset
一個全面的技術資料集,追蹤超過 46,000 種技術在 6,500 萬家公司中的使用情況,並提供檢測來源和定價資訊的豐富補充。
scikit-learn
scikit-learn 是一個強大且易於使用的 Python 機器學習庫,旨在進行數據分析和建模。
NumPy
NumPy是Python科學計算的基礎包,提供強大的N維數組和全面的數學函數庫。