云原生數據倉庫 AnalyticDB MySQL 版集群提供寬表引擎,兼容了開源列式數據庫ClickHouse的能力。本文為您介紹寬表引擎的特點以及如何開通并使用寬表引擎。
寬表引擎功能處于邀測中,如果您需要開通該功能,請提交工單聯系技術支持。
什么是寬表引擎
寬表引擎完全兼容開源列式數據庫ClickHouse的能力和語法,能夠處理大量的列式數據,適用于字段較多的表聚合查詢分析場景。
寬表引擎的特點和架構圖如下:
寬表引擎會使用Interactive型資源組的常駐計算資源執行SQL任務。
寬表引擎基于ReplicatedMergeTree引擎、云盤緩存空間、OSS構建了存儲計算分離的云原生架構。
無需定義分庫與副本,一鍵式托管寬表引擎。
寬表引擎提供高可用保障與高性能分布式查詢的能力。
若您想了解更多開源列式數據庫ClickHouse的信息,請參見ClickHouse文檔。
前提條件
AnalyticDB for MySQL集群需滿足以下條件:
產品系列為湖倉版。
集群內核版本需為3.2.1.0及以上。
說明如何查看集群內核版本,請參見如何查看實例版本信息。如需升級內核版本,請聯系技術支持。
集群中的Interactive型資源組未開啟Multi-Cluster功能。
說明您可以在資源組管理頁面,單擊對應Interactive型資源組操作列的修改,查看開啟Multi-Cluster的按鈕是否為置灰狀態。若按鈕為置灰狀態,則表示資源組未開啟Multi-Cluster功能。
集群中存在計算預留資源大于0 ACU的Interactive型資源組。
注意事項
寬表引擎開啟后不允許關閉。
開啟寬表引擎的過程中部分節點會重啟,會導致部分SQL執行失敗,建議在業務低峰期執行。
開啟寬表引擎后,不允許創建Multi-Cluster資源組,且計算預留資源不允許縮容至0 ACU。
不支持備份與恢復寬表引擎的數據。
使用寬表引擎時,需要創建寬表引擎賬號,該賬號與AnalyticDB for MySQL集群的數據庫賬號為不同的賬號體系,即通過寬表引擎賬號無法訪問AnalyticDB for MySQL集群的表,反之也相同。
費用說明
開啟寬表引擎
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在配置信息頁面中,單擊開啟寬表引擎后的按鈕。開啟寬表引擎后,會自動開啟云盤緩存空間。
(可選)您可以滑動滑塊或在緩存空間設置調整框中單擊加號調整云盤緩存空間大小。
創建寬表引擎賬號
AnalyticDB for MySQL寬表引擎支持高權限賬號和普通賬號。兩種賬號的區別及創建方法如下。
數據庫賬號類型 | 說明 |
高權限賬號 |
|
普通賬號 |
|
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在賬號管理頁面中,單擊創建賬號。
在彈出的創建賬號面板中,創建高權限賬號或普通賬號。
參數
說明
數據庫賬號
賬號名稱,根據控制臺提示輸入符合要求的名稱。
賬號類型
請選擇高權限賬號或普通賬號。
新密碼
賬號的密碼,根據控制臺提示輸入符合要求的賬號密碼。
確認密碼
再次輸入賬號的密碼。
描述(可選)
備注該賬號的相關信息,便于后續賬號管理。
連接并使用寬表引擎
湖倉版集群支持在內網或公網環境下通過HTTP、HTTPS、TCP和MySQL協議連接寬表引擎。下文以MySQL客戶端為例,介紹了連接寬表引擎的具體步驟。
步驟一:連接寬表引擎
通過內網連接寬表引擎
前提條件
注意事項
調用AllocateClusterPublicConnection接口開啟寬表引擎的公網連接地址,會導致內網連接閃斷,請確保您的應用有重連機制。
AnalyticDB for MySQL集群切換VPC和交換機后,寬表引擎所綁定的VPC與交換機不會變。
操作步驟
獲取寬表引擎的內網地址及其端口號。
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在配置信息頁面中,查看VPC地址和VPC MySQL端口號。
連接寬表引擎,語句如下:
mysql -hurl -Pport -uuser -ppassword
參數說明:
url:步驟1獲取的寬表引擎VPC地址。
port:VPC MySQL端口號固定為9004。
user:寬表引擎賬號。
password:寬表引擎賬號的密碼。
示例:
mysql -hamv-bp1s7butid48s4mw62****.ads.aliyuncs.com -P9004 -utest -p1Ws****
通過公網連接寬表引擎
前提條件
已將MySQL客戶端的IP地址添加至湖倉版集群的白名單中。具體操作,請參見設置白名單。
操作步驟
獲取寬表引擎的公網地址及其端口號。
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在配置信息頁面中,單擊申請公網地址。
在配置信息頁面中,查看外網地址和公有網絡 MySQL端口號。
連接寬表引擎,語句如下:
mysql -hurl -Pport -uuser -ppassword
參數說明:
url:步驟1獲取的寬表引擎外網地址。
port:公有網絡MySQL端口號固定為9004。
user:寬表引擎賬號。
password:寬表引擎賬號的密碼。
通過SSL鏈路連接寬表引擎
下載CA證書。
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在配置信息頁面中,查看VPC HTTPS端口號,并單擊下載CA證書。
連接寬表引擎,語句如下:
curl --cacert file https://url:port
參數說明:
file:CA證書所在的路徑。
url:寬表引擎連接地址。
若您想通過內網連接寬表引擎,請填寫VPC地址。
若您想通過公網連接寬表引擎,請先申請公網地址,并填寫外網地址。
port:VPC HTTPS端口號固定為8443。
示例:
curl --cacert ca.pem https://amv-bp1s7butid48s4mw62****.ads.aliyuncs.com:8443
步驟二:使用寬表引擎
創建數據庫
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_name
H和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 | 羽毛球 | +-----------+-----------+-----------+-----------+