這很重要
Lakebase 自動縮放在以下地區處於 Beta 階段:eastus2、westeurope、westus。
Lakebase 自動縮放是 Lakebase 的最新版本,具備自動縮放運算、縮放至零、分支及即時還原功能。 關於與 Lakebase Provisioned 的功能比較,請參見「選擇版本」。
本頁說明如何利用 Lakehouse 的 SQL 編輯器,使用兩種不同的連線方式查詢 Lakebase 專案中的資料庫。
Lakehouse 的 SQL 編輯器是一個協作式的 SQL 工作區,你可以在這裡撰寫查詢、瀏覽資料目錄、建立視覺化,並與同事分享結果。 它提供先進的分析、協作與自動化功能。
備註
對於 Postgres 原生功能,如 EXPLAIN/ANALYZE meta-command\dt(, \d, \l),請使用 Lakebase SQL 編輯器。 請參考 Lakebase SQL 編輯器的查詢。
欲了解 SQL 編輯器功能的完整資訊,請參閱 「撰寫查詢並在 SQL 編輯器中探索資料」。
連接方法
你可以用兩種方法從 SQL 編輯器連接到你的 Lakebase 資料庫:
選擇你的連接方式
| 特徵 / 功能 | 直接計算連線 | Unity Catalog 註冊 |
|---|---|---|
| 數據存取 | 對您的 Lakebase 資料庫提供完整讀寫權限 | 透過 Unity Catalog 的唯讀存取 |
| 適用對象 | 主要使用 Lakebase 資料,不結合其他資料來源 | 在聯邦查詢中將 Lakebase 資料與其他 Unity 目錄資料表結合 |
| 設定複雜度 | 無需註冊即可即時查詢特定資料庫 | 需要目錄註冊及 Unity 目錄權限 |
| 治理 | 沒有 Unity 目錄治理功能 | 統一治理控制(權限、血統、稽核日誌) |
| 存取控制 | Postgres 僅支援基於角色的權限 | 跨多個資料來源進行集中式發現與存取控制 |
| 應用案例 | 直接資料庫操作與修改 | 整合交易與分析資料的儀表板與應用程式 |
方法一:直接連接到 Lakebase 計算
使用此方法直接連接您的 Lakebase 運算,以便立即查詢存取。
開始之前
如果你不是專案擁有者,請確認你擁有:
- Postgres 角色:對應的 Postgres 角色用於存取資料庫。 請參閱 管理 Postgres 角色。
- 資料庫權限:存取資料庫、結構或資料表所需的權限。 請參見 管理權限。
如果你缺乏必要的角色或權限,請聯絡專案負責人申請存取權限。
備註
Lakebase 的運算必須處於主動狀態才能連接到它。 如果運算處於閒置狀態,你就無法連接。 當啟用「scale to zero」且沒有資料庫活動時,運算資源通常會變得不活躍。
要啟用閒置運算,請在 Lakebase SQL 編輯器中執行查詢,或關閉「縮放至零」以確保運算持續活躍。 參見 「縮放到零」。
要直接連接到你的 Lakebase 運算器:
- 用應用程式切換器來導航到 Lakehouse。
- 在側邊欄點選
SQL 編輯器 。 - 從 Connect 下拉選單中,選擇 「更多...」
- 在 「附加到現有運算資源 」對話框中,選擇 Lakebase Postgres,選擇 自動縮放 選項,然後選擇你的 專案 和 分支。
- 點擊 「附加 」以連接。
直接連結的查詢範例
連線後,你可以對 Lakebase 資料庫執行標準的 Postgres SQL 查詢。
建立一個表格,插入資料,並查詢:
CREATE TABLE IF NOT EXISTS playing_with_lakebase(id SERIAL PRIMARY KEY, name TEXT NOT NULL, value REAL);
INSERT INTO playing_with_lakebase(name, value)
SELECT LEFT(md5(i::TEXT), 10), random() FROM generate_series(1, 10) s(i);
SELECT * FROM playing_with_lakebase;
查詢特定表格:
SELECT * FROM public.playing_with_lakebase;
這很重要
直接連接的限制:
- 不支援聯邦查詢:你只能查詢連接的 Lakebase 專案和分支。 你無法在單一查詢中將 Lakebase 資料和其他 Unity 目錄資料表合併。
-
Postgres 元指令不支援:在 Lakebase SQL 編輯器中運作的 Postgres 元指令 (如
\dt、\d、\l)在 SQL 編輯器(Lakehouse)中無法使用。
方法二:在 Unity 目錄中登錄資料庫
使用此方法在 Unity 目錄中註冊您的 Lakebase 資料庫,實現聯合查詢與跨資料來源的統一治理。
開始之前
確認您有:
- Postgres 角色:對應的 Postgres 角色用於存取資料庫。 請參閱 管理 Postgres 角色。
- 資料庫權限:存取資料庫、結構或資料表所需的權限。 請參見 管理權限。
-
Unity Catalog 權限:
CREATE CATALOG在 Unity Catalog metastore 中註冊資料庫的權限 - SQL 倉庫:用於查詢註冊目錄的無伺服器 SQL 倉庫
如果你缺乏必要的角色或權限,請聯絡專案負責人申請存取權限。
註冊您的資料庫
要在 Unity 目錄中註冊 Lakebase 資料庫:
- 用應用程式切換器來導航到 Lakehouse。
- 在目錄總管中,點擊加號圖示並 建立目錄。
- 輸入目錄名稱(例如)。
lakebase_catalog - 選擇 Lakebase Postgres 作為目錄類型,然後選擇 自動縮放 選項。
- 選擇你的專案、分支和 Postgres 資料庫。
- 點擊 建立。
目錄會出現在目錄總管中,您可以瀏覽結構、資料表和檢視。
透過 Unity 目錄查詢
註冊後,使用 SQL 倉庫或任何連接 Unity 目錄的工具查詢你的 Lakebase 資料庫。
查詢註冊資料庫:
-- Query a registered :re[LKB] database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;
結合湖底與湖屋資料:
-- Join :re[LKB] and Unity Catalog data
SELECT
c.conversation_id,
c.user_id,
c.agent_response,
u.user_name,
u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
ON c.user_id = u.user_id;
關於 Unity 目錄權限及授權其他使用者存取權的資訊,請參見 權限與存取控制。
這很重要
Unity 目錄註冊的限制:
- 唯讀存取:從 Lakebase 資料庫註冊的目錄通過 Unity Catalog 實現唯讀。 若要修改資料,請使用 Lakebase SQL 編輯器或直接連接您的資料庫。
- 每個目錄單一資料庫:每個 Unity 目錄代表一個 Lakebase 資料庫。 要公開多個資料庫,請分別註冊每一個資料庫。
-
元資料同步:Unity 目錄會快取元資料以減少 Postgres 請求。 新物件可能不會立即出現。 點擊
」即可觸發完整刷新。
欲了解在 Unity 目錄中註冊資料庫的完整資訊,請參閱 在 Unity 目錄中註冊湖基資料庫。