雲資料庫 ClickHouse 企業版是基於開源的雲上版本構建,但是在架構和功能上也存在了一些差異。您可以參考ClickHouse官網上有關ClickHouse企業版的日誌瞭解背景資訊。本文介紹雲資料庫 ClickHouse 企業版的架構及相容性指導。
企業版架構
雲資料庫 ClickHouse 企業版極大地簡化了營運開銷,並降低了大規模運行ClickHouse的成本。您不需要提前部署叢集規格、設定高可用性的副本以及手動資料分區,當工作負載增加時擴充伺服器或者工作負載降低時縮減伺服器,這些都是由ClickHouse內部來處理的。
雲資料庫 ClickHouse 企業版架構具有如下優勢:
計算和儲存分離,因此可以根據不同的維度進行自動擴充,這樣您就不必在靜態執行個體配置中過度預留儲存或計算資源。
在Object Storage Service之上使用階層式存放區和多級緩衝,提供了幾乎無限的擴充性和良好的性價比,因此您不必事先確定儲存分區的大小,並擔心高昂的儲存成本。
預設開啟高可用性,並且複製是透明管理的,因此您可以專註於構建應用程式或分析資料。
預設情況下啟用了用於可變連續工作負載的自動擴充,在工作負載增加時擴充伺服器,在活動較少時縮減伺服器,因此您不需要事先確定伺服器的大小。
進階縮放控制項提供了設定自動縮放最大值實現額外成本控制,或設定自動縮放最小值為具有專門效能要求的應用程式保留計算資源的能力。
相容性
雲資料庫 ClickHouse 企業版提供了一組在開源版ClickHouse中的精選功能。下面描述了目前在雲資料庫ClickHouse企業版中部分功能概覽。
DDL文法
通常,雲資料庫 ClickHouse 企業版的DDL文法應該與自管理安裝中可用的文法相匹配。但也有一些例外情況如下。
雲資料庫 ClickHouse 企業版目前不支援
CREATE AS SELECT
文法。建議使用CREATE ... EMPTY ... AS SELECT
文法,然後將資料插入到該表中,詳細資料請參見Getting Data Into ClickHouse - Part 1。雲資料庫 ClickHouse 企業版目前不支援一些實驗性的文法,例如
ALTER TABLE … MODIFY QUERY
語句。雲資料庫 ClickHouse 企業版出於安全考慮,會禁用一些預設功能,例如
addressToLine
SQL函數。雲資料庫 ClickHouse 企業版不支援
ON CLUSTER
參數 。
資料庫和表引擎
雲資料庫ClickHouse企業版預設提供高可用服務。支援以下表引擎:
SharedMergeTree (default, when none is specified)
SharedSummingMergeTree
SharedAggregatingMergeTree
SharedReplacingMergeTree
SharedCollapsingMergeTree
SharedVersionedCollapsingMergeTree
MergeTree (converted to SharedMergeTree)
SummingMergeTree (converted to SharedSummingMergeTree)
AggregatingMergeTree (converted to SharedAggregatingMergeTree)
ReplacingMergeTree (converted to SharedReplacingMergeTree)
CollapsingMergeTree (converted to SharedCollapsingMergeTree)
VersionedCollapsingMergeTree (converted to SharedVersionedCollapsingMergeTree)
URL
View
MaterializedView
GenerateRandom
Null
Buffer
Memory
Deltalake
Hudi
MySQL
MongoDB
NATS
PostgreSQL
Kafka
S3
雲資料庫 ClickHouse 企業版簡化了建表步驟,因此不需要使用分布式表引擎(Distributed)。
字典
雲資料庫 ClickHouse 企業版目前支援從PostgreSQL、MySQL、遠程和本地ClickHouse伺服器、Redis、MongoDB和HTTP來源擷取字典,以加速ClickHouse中的尋找操作。
聯邦查詢
雲資料庫 ClickHouse 企業版支援在雲中進行跨叢集通訊和與外部的自建ClickHouse叢集通訊,目前支援的整合引擎有:
Deltalake
Hudi
MySQL
MongoDB
NATS
PostgreSQL
OSS
雲資料庫 ClickHouse 企業版目前不支援某些與外部資料庫和表引擎進行聯集查詢,例如SQLite、ODBC、JDBC、Redis、RabbitMQ、HDFS和Hive。
實驗功能
實驗性功能通常在ClickHouse中用於測試新功能或潛在的改進。這些功能可能會包括新的SQL文法、查詢最佳化或其他效能改進。在開發環境中,使用者可以自行啟用實驗性功能。但在ClickHouse 企業版的生產環境中,預設情況下會禁用這些功能,以確保生產環境的穩定性。如果您希望在生產環境中啟用某個實驗性功能,請與我們的支援小組聯絡,以討論相關事宜。這將確保功能的啟用不會影響到生產環境的穩定性。
操作預設值和考慮因素
以下是雲資料庫ClickHouse企業版叢集的預設設定。這些設定一般為預設值以確保服務的正確運行,而在特殊情況下您可以對預設值進行調整。
Limits設定
max_parts_in_total: 10,000
max_parts_in_total設定的預設值對於MergeTree表已從100,000降低到10,000。這個變更的原因是我們觀察到大量的資料部分可能導致雲中服務的啟動時間較慢。大量的部分通常表示選擇了過於細粒度的分區鍵,這通常是出於錯誤而選擇的,應該避免。預設值的更改將允許更早地檢測到這些情況。這個設定控制了表中可以擁有的最巨量資料部分數量。
系統設定
雲資料庫ClickHouse企業版已經針對可變工作負載進行了調整,因此目前大多數系統設定不可配置。我們預計大多數使用者不需要調整系統設定,如果您對進階系統調整有疑問,請聯絡阿里雲支援人員。