AnalyticDB for MySQL提供湖儲存功能,簡化資料湖的構建和儲存管理。湖儲存支援儲存Iceberg、Paimon等類型的結構化表資料和非結構化檔案對象,主要適用於需同時滿足離線批處理和即時分析的情境。本文介紹湖儲存的儲存模式、儲存類型及資源管理操作。
前提條件
叢集的產品系列為企業版、基礎版或湖倉版。
開通湖儲存
湖儲存功能當前處於邀測階段,如需開通,請提交工單聯絡支援人員。
儲存模式
在建立資料湖表前,您需要決定資料的儲存位置。AnalyticDB for MySQL提供兩種儲存模式,在建表時一次性確定,建表後不可變更。
維度 | 託管湖儲存(內湖) | 使用者自有OSS(外湖) |
儲存管理 | AnalyticDB for MySQL全託管,自動管理底層儲存桶 | 使用者自行管理OSS Bucket |
建表關鍵參數 |
|
|
開通方式 | 需先開通湖儲存 | 同帳號下無需額外操作 |
適用情境 | 新專案,希望簡化營運 | 已有OSS資料,或需要自主管理儲存 |
託管湖儲存:資料由AnalyticDB for MySQL自動管理底層儲存桶,使用者通過標準SQL讀寫湖表,無需關心檔案系統、許可權配置或生命週期管理。詳情請參見建立湖儲存。
使用者自有OSS:資料完全存放在使用者指定的同地區OSS Bucket中,建表時通過
LOCATION指定OSS路徑即可。
具體建表文法因引擎而異,請參見後續步驟中對應引擎的讀寫文檔。
儲存類型
AnalyticDB for MySQL託管湖儲存提供兩種湖儲存類型,您可以根據業務情境選擇合適的儲存方案。
維度 | 基礎型 | 標準型 |
底層儲存 | OSSObject Storage Service | AFS(AnalyticDB Filesystem)高效能物件儲存 |
訪問協議 | OSS API | S3相容協議,額外支援POSIX介面(邀測中) |
適用情境 | 通用資料分析、離線批處理 | AI/ML訓練推理、高效能運算、多模資料處理 |
效能特點 | 標準吞吐與延遲 | 高吞吐、低延遲,內建多級緩衝 |
冷熱分層 | 不支援 | 支援,熱資料存放區在AFS,冷資料自動下沉至OSS |
開通方式 | 提交工單 | 提交工單 |
基礎型(OSS標準湖儲存)
OSS標準湖儲存基於阿里雲OSSObject Storage Service,適用於大多數通用資料分析和離線批處理情境。建立後,系統會自動在服務帳號下的OSS中建立一個與叢集同地區、且與湖儲存同名的Bucket。
標準型(AFS高效能湖儲存)
AFS(AnalyticDB Filesystem)是相容S3協議的高效能物件儲存,為AnalyticDB for MySQL湖儲存提供高效能資料入湖與持久化能力。AFS適用於對儲存效能有更高要求的情境,例如AI/ML訓練推理、大規模多模資料處理等。
核心能力:
S3協議相容:可直接使用AWS SDK、Spark/Flink S3A等標準工具鏈訪問,無需改造現有工具。
POSIX介面(邀測中):同一份資料既可通過S3介面訪問,也可通過POSIX掛載訪問,覆蓋訓練、推理等依賴檔案路徑的情境。
冷熱分層:熱資料存放區在AFS中保障高效能訪問,冷資料自動下沉至OSS,統一命名空間對上層應用透明,實現成本與效能的平衡。
安全與許可權:支援基於S3 Policy的細粒度許可權模型,可按Bucket、路徑、操作類型進行最小授權;支援使用者與AccessKey體系,便於多團隊隔離。
POSIX介面
AI/ML訓練和推理鏈路通常依賴POSIX檔案路徑(而非S3 Key)。AFS在S3介面之上額外提供了POSIX介面,主要價值如下:
訓練/推理零改造:Ray運算元、模型checkpoint可直接讀寫掛載點,無需修改為S3 SDK。
同一份資料雙形態訪問:上遊生產管線通過S3寫入,下遊訓練或檢索通過POSIX介面直讀,零拷貝、零搬運。
當前POSIX介面能力處於邀測階段,如需使用請提交工單。
費用說明
建立湖儲存後,AnalyticDB for MySQL會根據湖儲存中的資料量和使用時間長度隨用隨付。計費詳情,請參見企業版和基礎版產品定價和湖倉版產品定價。
讀寫湖儲存中的資料時,會產生請求費用,包括PUT類型請求次數費用和GET類型請求次數費用。計費詳情,請參見企業版和基礎版產品定價和湖倉版產品定價。
注意事項
一個阿里雲帳號在同一地區內最多可建立5個湖儲存。
湖儲存的儲存用量顯示存在延遲,因此無法在資料寫入後立即查看到資料量。
刪除湖儲存時,需要確保已刪除該湖儲存中的所有資料,否則刪除湖儲存操作會報錯。
建立湖儲存後,AnalyticDB for MySQL會自動在其服務帳號下的OSS中,建立一個和AnalyticDB for MySQL叢集同地區、且與湖儲存同名的Bucket。您可以通過添加收藏路徑的方式,在自己阿里雲帳號下的OSS中查看該Bucket。
AnalyticDB for MySQL備份恢複功能不支援湖儲存中的資料。
建立湖儲存
標準型
標準型湖儲存基於AFS高效能物件儲存。建立標準型湖儲存前,您需要先建立儲存叢集,再建立湖儲存。
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
單擊存儲集群管理頁簽。
單擊新建集群。
在彈出的創建集群對話方塊中,存儲類型固定為標準型,設定預留資源大小,(可選)填寫集群描述,然後單擊确定。
說明儲存叢集建立需要一定時間,請等待叢集建立完成後,再進行後續操作。
單擊Bucket管理頁簽。
單擊新建Bucket。
在彈出的新建Bucket對話方塊中,設定以下參數,然後單擊确定。
類型:選擇標準型。
所屬集群:選擇上一步建立的儲存叢集。
Bucket名稱:輸入Bucket名稱。Bucket名稱必須全域唯一,建立後無法修改。
數據冗餘類型:選擇同區重疊或本地剩餘。
Bucket描述:(可選)輸入Bucket描述,用於區分不同業務情境下的湖儲存。
基礎型
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
在左側導覽列單擊。
在Bucket管理頁簽下,單擊新建Bucket。
在彈出的新建Bucket對話方塊中,設定以下參數,然後單擊确定。
類型:選擇基礎型。
Bucket名稱:系統自動產生,無需填寫。
Bucket描述:(可選)輸入Bucket描述,用於區分不同業務情境下的湖儲存。
數據冗餘類型:選擇同區重疊或本地剩餘。
重要Bucket名稱為系統自動產生,格式為
adb-lake-地區ID-任一字元串。Bucket名稱全域唯一,建立後無法修改。(可選)修改Bucket描述。
Bucket名稱由系統自動產生,且不能修改。建議修改Bucket描述,以區分不同業務情境下的湖儲存。
單擊目標Bucket描述列的
按鈕。在彈出的修改Bucket描述對話方塊中輸入描述資訊,然後單擊确定。
(可選)新增授權。
單擊操作列的新增授權,可選擇授權物件類型:RAM使用者或RAM角色。
說明唯讀許可權:允許使用者查看湖儲存資料,但不可修改或刪除。
讀寫權限:允許使用者進行資料讀取、寫入和修改操作。
僅主帳號或具有相應許可權的RAM使用者可執行授權操作。
許可權變更即時生效,建議操作前確認授權範圍。
查看串連地址
標準型湖儲存建立完成後,您可在控制台查看相容 S3 協議的串連地址(Endpoint)。
該 Endpoint 為私網串連地址,僅支援阿里雲同 VPC 內訪問,請確保您的 AWS SDK、Spark/Flink S3A 等工具部署在同 VPC 環境下,即可直接使用該地址訪問 AFS 湖儲存。
基礎型湖儲存不支援S3協議,Endpoint列顯示為"-"。
在Bucket管理頁簽下,查看標準型Bucket的Endpoint列,即為S3串連地址。
查詢湖儲存資料量
在左側導覽列單擊。
在目標湖儲存的儲存用量中查看資料量。
重要湖儲存的儲存用量顯示存在延遲,因此無法在資料寫入後立即查看到資料量。
刪除湖儲存
在左側導覽列單擊。
單擊目標湖儲存操作列的刪除。
在彈出的删除對話方塊中單擊确定。
重要刪除湖儲存時,需要確保已刪除該湖儲存中的所有資料,否則刪除湖儲存操作會報錯。
後續步驟
設定預設表格式(僅Spark SQL)
該功能僅適用於Spark SQL引擎。
您可以通過資料庫屬性設定預設的表格式,使該資料庫下建立的表自動採用指定格式,無需每次建表時單獨聲明。
在Spark Job資源群組、Interactive資源群組或提交的作業中,設定如下參數:
spark.sql.adb.sources.extractProviderFromDBProperties.enabled true建立資料庫時,通過
DBPROPERTIES指定'storage.format'為以下格式之一:delta、iceberg、parquet、orc。樣本如下:CREATE DATABASE IF NOT EXISTS db_storage_format LOCATION 'oss://path/to/db/' WITH DBPROPERTIES ('storage.format'='delta');執行以上語句後,在
db_storage_format庫下建立的表預設為delta類型。如您建表時通過using ${tableFormat}顯式指定表類型,則優先以顯式指定的表類型為準。
資料湖表操作
按您選擇的引擎和湖格式,參見對應文檔完成建表與讀寫操作:
資料湖表:按湖格式查看對應引擎的讀寫文檔,請參見資料湖表。
生命週期管理:管理湖表的版本、快照和到期資料,請參見資料湖生命週期管理。
效能最佳化:提升湖表查詢效能,請參見湖儲存最佳化與湖儲存加速(LakeCache)。
資料接入: