Lakebase 提供一系列功能,讓你能有效率地開發、測試及擴展資料庫應用程式。 本節介紹區分 Lakebase 與傳統資料庫系統的核心概念。
Architecture
Lakebase 將無狀態的 Postgres 運算與由安全保管者、頁面伺服器及雲端物件儲存組成的持久儲存層分離。 理解這種分離,解釋了為何以下概念,從即時分支到縮放到零,會以它們的方式運作。
了解更多: 建築
專案
Lakebase 專案是你所有資料庫資源的頂層容器。 每個專案都屬於 Azure Databricks 工作區,包含一個或多個分支,每個分支都有自己的運算與資料庫。
Project
└── Branch (e.g., production)
├── Compute (read-write)
└── Database (e.g., databricks_postgres)
Autoscaling
Lakebase 會根據你的工作負載需求自動調整運算資源。 隨著應用程式流量的增加或減少,計算資源會在設定範圍內自動調整或縮減,無需人工介入或停機。
主要優點:
- 自動調整: 資源會根據實際需求成長。
- 沒有停機時間: 在你設定的範圍內擴展,且不會中斷連線。 然而,改變最小或最大 CU 配置可能會導致短暫中斷。
- 成本優化: 只付你實際使用的資源費用。
- 表現一致性: 在流量激增時保持反應迅速的表現。
自動縮減至零
當您的資料庫閒置時,Lakebase 能自動將運算資源縮減至零,消除未使用容量的成本。 當活動恢復時,你的運算會自動在幾秒內恢復規模。
主要優點:
- 零閒置成本: 當你的資料庫處於非啟用狀態時,則不會收取計算費用。
- 即時恢復: 資料庫在被存取時會自動喚醒。
- 適合開發環境:非常適合間歇性使用的開發與暫存環境。
- 自動管理: 不需要人工介入。
資料庫分支
Lakebase 的資料庫分支運作方式類似你程式碼的 Git 分支。 你可以即時建立獨立分支,用於開發、測試或實驗,且不會重複資料或影響生產環境。
主要優點:
- 即時創造: 分支可透過寫入複製技術在數秒內建立。
- 成本效益: 只有經過修改的資料會獨立儲存,以降低儲存成本。
- 孤立環境: 安全地測試變更,且不影響您的主要資料庫。
- 合作: 團隊成員可以同時在不同的分支工作。
計算器與端點
Lakebase 端點 是你的應用程式用來連接資料庫的穩定連接點。 在每個端點背後,有一個或多個運算實例負責查詢處理。 即使你擴展運算資源或增加高可用性,你的 連接字串 也會保持不變。
分支通常有一個讀寫端點(你的主要運算端點),並且可選擇一個或多個只讀端點(讀副本)。
儲存體架構
Lakebase 將資料儲存在一個分散式儲存層,與運算分開。 儲存是區域冗餘的,且不受運算狀態影響,無論運算是否在執行、暫停或故障切換中。 這種儲存分離可實現即時分支、讀取副本,以及無需資料複製即可擴展至零。
主要優點:
- 高可用性儲存空間:Azure Databricks 會獨立於你的 HA 運算設定維持高可用性儲存空間。
- 在運算變更期間持續可用: 即使發生運算故障、暫停或設定變更,儲存空間仍可持續使用。
- 分支與複製品基金會: 即時分支建立與讀取副本都依賴多個運算實例共享同一儲存層。
了解更多: 儲存架構
高可用性
高可用性將主要讀寫運算與一個或多個分布於不同可用性區域的次要運算實例配對。 當主要節點無法使用時,Lakebase 會自動將次要節點提升為主要節點,您的應用程式則會從最後一次已提交的交易繼續運作。 你的連線字串在整個過程中都保持不變。 儲存體已具備高可用性。 啟用 HA 會增加自動故障轉移的運算層級冗餘。
主要優點:
- 自動容錯移轉: Lakebase 會在無需人工介入的情況下,將次要運算執行個體提升為主要執行個體。
- 無資料遺失: 故障轉移會保留所有已提交的交易。
- 穩定連接串: 你的應用程式在故障轉移後不需要更改連線設定。
讀取副本
讀取副本是獨立的唯讀運算資源,執行對與主要讀寫運算資源相同的資料的讀取操作。 與傳統副本不同,Lakebase 的讀取副本不會重複資料。 它們從同一儲存層讀取,能即時建立並消除額外的儲存成本。
主要優點:
- 水平縮放: 將讀取請求分散到多個副本。
- 無資料重複: 所有複本都從同一個儲存裝置讀取。
- 即時創造: 無需資料複製,數秒內即可取得。
- 成本效益: 沒有額外的儲存成本,還有自動擴展和可擴展至零的支援。
它們如何協同運作
這些核心概念共同打造出強大且靈活的資料庫平台:
- 專案用於組織您所有的資料庫資源,並隸屬於 Azure Databricks 工作區。
- 自動擴展 確保每個分支根據需求擁有適當的計算量。
- 縮放至零 透過在未使用時暫停運算,降低閒置分支的成本。
- 資料庫分支 讓你能建立獨立的開發與測試環境,且不會重複資料。
- 運算和端點在你擴展 或重新配置基礎設施時,提供穩定的連線點。
- 儲存架構 讓你的資料區域冗餘且高度可用,與計算狀態無關。
- 高可用性為生產工作負載提供跨可用性區域的運算層級備援與自動容錯移轉。
- 讀取副本 將讀取流量分配到額外的運算實例。
此架構使您能以比傳統資料庫系統更靈活、更低成本及更低的營運開銷來建置與擴展資料庫應用程式。