表格存储服务 CLOUDTABLE-ClickHouse表引擎概述:Distributed表引擎
Distributed表引擎
Distributed表引擎本身不存储任何数据,而是作为数据分片的透明代理,能够自动路由数据到集群中的各个节点,分布式表需要和其他本地数据表一起协同工作。分布式表会将接收到的读写任务分发到各个本地表,而实际上数据的存储在各个节点的本地表中。
- Distributed表引擎创建模板:
ENGINE = Distributed(cluster_name, database_name, table_name, [sharding_key])
表6 Distributed表参数说明 参数
说明
cluster_name
集群名称,在对分布式表执行读写的过程中,使用集群的配置信息查找对应的ClickHouse实例节点。
database_name
数据库名称。
table_name
数据库下对应的本地表名称,用于将分布式表映射到本地表上。
sharding_key
分片键(可选参数),分布式表会按照这个规则,将数据分发到各个本地表中。
- 使用示例。
- 先创建一个表名为demo的ReplicatedMergeTree本地表。
CREATE TABLE default.demo ON CLUSTER default_cluster( `EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/demo', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id;
- 基于本地表demo创建表名为demo_all的Distributed表。
CREATE TABLE default.demo_all ON CLUSTER default_cluster( `EventDate` DateTime, `id` UInt64)ENGINE = Distributed(default_cluster, default, demo, rand());
- 先创建一个表名为demo的ReplicatedMergeTree本地表。
- 分布式表创建规则。
- 创建Distributed表时需加上on cluster cluster_name,这样建表语句在某一个ClickHouse实例上执行一次即可分发到集群中所有实例上执行。
- 分布式表通常以本地表加“_all”命名。它与本地表形成一对多的映射关系,之后可以通过分布式表代理操作多张本地表。
- 分布式表的表结构尽量和本地表的结构一致。如果不一致,在建表时不会报错,但在查询或者插入时可能会抛出异常。
- GaussDB引擎_GaussDB数据库引擎_高斯数据库引擎_华为云
- SpringCloud应用接入ServiceComb引擎_如何接入ServiceComb引擎_SpringCloud应用接入ServiceComb引擎操作指导
- 容器云部署_云容器引擎是什么_云容器引擎服务
- Java Chassis应用接入ServiceComb引擎_如何接入ServiceComb引擎_Java Chassis应用接入ServiceComb引擎操作指导1
- GaussDB引擎_华为云GaussDB优势_高斯数据库引擎_华为云
- 监控告警_云容器引擎
- 什么是微服务引擎_为什么需要微服务引擎_微服务引擎的优点-华为云
- 什么是华为云区块链引擎_华为云区块链引擎怎么使用_购买华为云区块链引擎
- 华为云CCE_华为云容器引擎CCE_容器引擎应用场景
- Nacos引擎_微服务注册配置中心_微服务引擎CSE-华为云