寬表引擎
AnalyticDB for MySQL叢集提供寬表引擎,相容了開源列式資料庫ClickHouse的能力。本文為您介紹寬表引擎的特點以及如何開通並使用寬表引擎。
寬表引擎功能處於邀測中,如果您需要開通該功能,請提交工單聯絡支援人員。
什麼是寬表引擎
寬表引擎完全相容開源列式資料庫ClickHouse的能力和文法,能夠處理大量的列式資料,適用於欄位較多的表彙總查詢分析情境。
寬表引擎的特點和架構圖如下:
-
寬表引擎會使用Interactive型資源群組的常駐計算資源執行SQL任務。
-
寬表引擎基於ReplicatedMergeTree引擎、雲端硬碟緩衝空間、OSS構建了儲存計算分離的雲原生架構。
-
無需定義分庫與副本,一鍵式託管寬表引擎。
-
寬表引擎提供高可用保障與高效能分散式查詢的能力。
若您想瞭解更多開源列式資料庫ClickHouse的資訊,請參見ClickHouse文檔。
前提條件
-
已提交工單申請並獲得寬表引擎使用資格。
-
叢集系列為湖倉版。
-
叢集核心版本需為3.2.2.0及以上。
說明查看湖倉版叢集的核心版本,請執行
SELECT adb_version();。如需升級核心版本,請聯絡支援人員。 -
叢集中存在計算最小資源大於0 ACU的Interactive型資源群組。
注意事項
-
寬表引擎開啟後不允許關閉。
-
開啟寬表引擎的過程中部分節點會重啟,會導致部分SQL執行失敗,建議在業務低峰期執行。
-
開啟寬表引擎後,Interactive型資源群組計算最小資源不允許縮容至0 ACU。
-
不支援備份與恢複寬表引擎的資料。
-
使用寬表引擎時,需要建立寬表引擎帳號,該帳號與AnalyticDB for MySQL叢集的資料庫帳號為不同的帳號體系,即通過寬表引擎帳號無法訪問AnalyticDB for MySQL叢集的表,反之也相同。
費用說明
開啟寬表引擎
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
-
在左側導覽列,單擊。
-
在配寘資訊頁面中,單擊開啟寬表引擎後的按鈕。開啟寬表引擎後,會自動開啟雲端硬碟緩衝空間。
-
(可選)您可以滑動滑塊或在緩存空間設置調整框中單擊加號調整雲端硬碟緩衝空間大小。
建立寬表引擎帳號
AnalyticDB for MySQL寬表引擎支援高許可權帳號和普通帳號。兩種帳號的區別及建立方法如下。
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。
-
在左側導覽列,單擊。
-
在賬號管理頁面中,單擊創建賬號。
-
在彈出的創建賬號面板中,建立高許可權帳號或普通賬號。
參數
說明
數據庫賬號
帳號名稱,根據控制台提示輸入符合要求的名稱。
賬號類型
請選擇高許可權帳號或普通賬號。
新密碼
帳號的密碼,根據控制台提示輸入符合要求的帳號密碼。
確認密碼
再次輸入帳號的密碼。
描述(可選)
備忘該帳號的相關資訊,便於後續帳號管理。
串連並使用寬表引擎
湖倉版叢集支援在內網或公網環境下通過HTTP、HTTPS、TCP和MySQL協議串連寬表引擎。下文以MySQL用戶端為例,介紹了串連寬表引擎的具體步驟。
步驟一:串連寬表引擎
通過內網串連寬表引擎
通過公網串連寬表引擎
通過SSL鏈路串連寬表引擎
步驟二:使用寬表引擎
-
建立資料庫
adb_demo。CREATE DATABASE adb_demo ON CLUSTER default [ENGINE = Replicated];說明-
建立資料庫時,
ON CLUSTER default參數為固定參數,不能修改且必須填寫,從而保證自動在每個節點上建立資料庫。 -
建立資料庫時引擎必須配置為
Replicated(預設引擎,可省略),且Replicated後不允許配置zoo_path、shard_name和replica_name參數。 -
建立資料庫的文法及參數說明,請參見CREATE DATABASE。
-
-
建立表
test。CREATE TABLE test ( id Int, name String, age Int, likes String, PRIMARY KEY(id) ) ENGINE = ReplicatedMergeTree;說明-
建立表時表引擎必須填寫為
ReplicatedMergeTree,且ReplicatedMergeTree後不允許配置zoo_path、shard_nameH和replica_name參數,系統會自動填入所需參數。 -
建立表的文法及參數說明,請參見CREATE TABLE。
-
-
向
test表中插入資料。INSERT INTO test(id,name,age,likes)VALUES('1','Lili','10','足球'); INSERT INTO test(id,name,age,likes)VALUES('2','Tom','15','籃球'); INSERT INTO test(id,name,age,likes)VALUES('3','Jack','20','排球'); INSERT INTO test(id,name,age,likes)VALUES('4','Lucy','25','羽毛球'); -
查詢資料。
SELECT * FROM test;返回結果如下:
+-----------+-----------+-----------+-----------+ | id | name | age | likes | +-----------+-----------+-----------+-----------+ | 1 | Lili | 10 | 足球 | +-----------+-----------+-----------+-----------+ | 2 | Tom | 15 | 籃球 | +-----------+-----------+-----------+-----------+ | 3 | Jack | 20 | 排球 | +-----------+-----------+-----------+-----------+ | 4 | Lucy | 25 | 羽毛球 | +-----------+-----------+-----------+-----------+
常見問題
為什麼開啟寬表引擎時報錯“ClickHouse engine not allowed cause cluster id or user id is not in the white list, please submit a ticket to add”?
原因:寬表引擎功能目前處於邀測中,需要聯絡支援人員添加白名單方可使用。