儲存體架構

Lakebase 將儲存與運算分離。 你的資料庫資料存在於 Databricks 管理的分散式儲存層,獨立於執行查詢的運算實例。 無論運算正在運行、暫停或擴展,儲存空間都會持續存在並保持高度可用。

關於計算層與儲存層如何協同運作,包括安全管理員與頁面伺服器,請參閱 Lakebase 架構。

儲存架構顯示運算如何連線至區域備援分散式儲存體,其資料會持久化至由 Databricks 管理的雲端物件儲存。

Note

在 Azure 上,Lakebase 會將資料持久化到 Azure Blob 儲存體 作為雲端物件儲存層。 根據區域不同,儲存會使用本地冗餘儲存(LRS)或區域冗餘儲存(ZRS)。 LRS 能在同一資料中心內複製多個副本,提供區域內的高耐久性。 ZRS 能在多個可用性區域複製資料。 Databricks 負責管理儲存冗餘層。 它無法由客戶自行設定。

儲存層

Lakebase 採用分散式儲存架構。 沒有任何一台機器能掌握你資料庫的權威狀態。 Lakebase 也會將資料持久化至 Databricks 管理的雲端物件儲存,這是整個儲存層的耐久性基礎。 雲端物件儲存設計為極高的耐久性,且不依賴非同步複製,因此複製延遲不會影響耐用性。 Azure Databricks 管理儲存冗餘配置。

在 Azure 上,Lakebase 會將資料持久化到 Azure Blob 儲存體 作為雲端物件儲存層。

儲存冗餘與運算 HA 無關

Azure Databricks 獨立於高可用性(HA)計算設定之外,管理 Lakebase 的儲存冗餘與可用性。 啟用或停用 HA 不會影響儲存冗餘。

高可用性是運算層的一項特性。 它會在另一個可用區域中預先佈建次要運算執行個體,以便自動進行容錯移轉。 儲存冗餘與運算 HA 是獨立的層。

特徵 儲存體備援 運算高可用性(HA)
強制的 Yes No
可由客戶設定 No Yes
它所保護的是什麼 資料的耐久性與可用性 執行查詢的能力

並排比較顯示,無論停用或啟用運算高可用性(HA),儲存體備援皆維持不變。

儲存分離如何促成其他功能

儲存與運算分離使 Lakebase 能具備多項功能:

  • 零資料遺失(RPO = 0): 因為 Lakebase 會在確認之前,先在儲存層中永久記錄所有已提交的交易,所以當運算失敗、重啟、縮放到零或故障轉移時,你不會失去任何已提交的資料。
  • 即時分支: Lakebase 以共享儲存為基礎,透過寫入時複製(copy-on-write)建立分支。 此過程不會重複資料。
  • 閱讀複本: 多個運算實例從同一共享儲存層讀取資料。 此方法不需資料複製。
  • 擴縮至零: 運算會暫停,但儲存仍會保留。 當運算恢復時,資料立即可用。
  • 快速故障轉移: 由於儲存與運算分離,故障轉移不涉及資料移動。 Lakebase 會推廣一個次要的運算實例,連接到現有的儲存空間。
  • 高可用性: 設定運算層級冗餘,以實現跨可用性區域的自動故障轉移。 詳見 高可用性。
  • 管理高可用性: 在你的端點上啟用並設定 HA 運算設定。 請參見 「管理高可用性」。
  • 資料庫分支: 了解分支如何利用寫入複製儲存來創造即時隔離的環境。 參見 分支。
  • 閱讀複本: 新增唯讀運算實例,從同一儲存層讀取資料,無需資料複製。 參見 讀取副本。