检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ClickHouse数据库应用开发 在ClickHouse的使用过程中,由于使用不规范的方式访问和查询,导致业务失败的情况时有发生。此外,偶尔也会发生因为网络闪断等导致连接和查询失败的情况。
表的设计都要考虑到数据的生命周期管理,需要进行TTL表属性设置或定期老化清理表分区数据。 单表的字段建议不要超过5000列。
ClickHouse数据分布设计 Shard和副本概念介绍 图1 ClickHouse集群架构图 从横向来看ClickHouse数据库集群,所有数据都会平均分布到多个shard分片中进行保存,数据平均分布后,保证了查询的高度并行性,以提升数据的查询性能。 从纵向来看,每个shard
ClickHouse数据入库工具 最佳实践方案 ClickHouse数据加工流程最佳实践:在数据湖中通过Hive&Spark(批量)/FlinkSQL(增量)加工成大宽表后,通过CDL/Loader工具实时同步到ClickHouse,下游BI工具和应用进行实时OLAP分析。 数据加工
ClickHouse参数调优实践 表1 ClickHouse参数调优汇总 参数名 参数描述 默认值 建议值 是否需要重启生效 max_memory_usage_for_all_queries 单台服务器上所有查询的内存使用量,默认没有限制。建议根据机器的总内存,预留一部分空间,防止内存不够导致服务或者机器异常
ClickHouse集群业务规划 集群规模 建议单集群不超过256节点规模。 集群负载 对于不同业务负载的业务,需要分开集群部署,便于不同负载的业务进行资源隔离。 集群并发 由于ClickHouse单个SQL会最大化使用每个主机上的CPU/内存/IO资源,对于复杂SQL查询(复杂聚合
ClickHouse分区设计 合理设置分区键,控制分区数在一千以内,分区字段使用整型。 分区part数与查询性能关系 图1 分区part数与查询性能关系图 分区建议 建议使用toYYYYMMDD(pt_d)作为分区键,pt_d是date类型。 如果业务场景需要做小时分区,使用pt_d
ClickHouse索引设计 一级索引设计 在建表设计时指定主键字段的建议:按查询时最常使用且过滤性最高的字段作为主键。依次按照访问频度从高到低、维度基数从小到大来排列。数据是按照主键排序存储的,查询的时候,通过主键可以快速筛选数据,合理的主键设计,能够大大减少读取的数据量,提升查询性能
ClickHouse分布式表设计 建议 分布式表建表参考: CREATE TABLE default.my_table_dis ON CLUSTER default_cluster AS mybase.my_table_local ENGINE = Distributed(default_cluster
表命名规范 数据库表名称命名规则: 在数据库中,表名命名要求在当前数据库内唯一。 表名要求以字符开始,可以包含字符(a~z,A~Z)、数字(0~9)及下划线(_)。 父主题: ClickHouse宽表设计
复杂度较高,需要开发很多物化视图,每个物化视图都需要单独去管理和维护。 projection 数据实时同步,数据写入即可查询到物化视图最新数据。 创建表时指定的物化视图语法,新的SQL业务需要修改表结构。 不需要开发很多物化视图,任意查询SQL会自动重写命中物化视图。
ClickHouse系统调优 通过FusionInsight Manager查看主机上的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,分以下几种情况: 每个节点资源占用都比较均匀 通过观察资源在每个节点都使用比较均匀,说明系统资源使用比较正常,可以先不关注,
ClickHouse容量规划设计 为了能够更好的发挥ClickHouse分布式查询能力,在集群规划阶段需要合理设计集群数据分布存储。 当前ClickHouse能力为单机磁盘容量达到80%后会上报告警信息,磁盘容量达90%后集群会处于只读状态。 出现磁盘告警信息后需要考虑是否是容量不足问题
ClickHouse表字段设计 规则 不允许用字符类型存放时间或日期类数据,尤其是需要对该日期字段进行运算或者比较的时候。 不允许用字符类型存放数值类型的数据,尤其是需要对该数值字段进行运算或者比较的时候。字符串的过滤效率相对于整型或者特定时间类型有下降。 建议 不建议表中存储过多的
ClickHouse数据查询 数据查询规则 禁止select *查询 只查询需要的字段可以减少磁盘io和网络io,提升查询性能。 使用uniqCombined替代distinct uniqCombined对去重逻辑进行了优化,通过近似去重提升十倍查询性能,如果对查询允许有误差,可以使用
Loader运维管理 Loader常用参数 Loader日志介绍 父主题: 使用Loader
IoTDB运维管理 IoTDB常用配置参数 IoTDB日志介绍 规划IoTDB容量 手动导入IoTDB数据 手导出IoTDB数据 父主题: 使用IoTDB
Flume运维管理 Flume常用配置参数 Flume业务配置指南 Flume日志介绍 查看Flume客户端日志 查看Flume客户端监控信息 停止或卸载Flume客户端 父主题: 使用Flume
ClickHouse Projection设计 Projection仅在MRS 3.2.0及以上的版本集群中支持。 projection定义 CREATE TABLE test_projection_table( level String, type String,
ClickHouse表引擎适用场景说明 ClickHouse中最强大的表引擎当属MergeTree(合并树)引擎及该系列其他引擎,根据业务场景选择合适的引擎。 表引擎选择建议 自助报表分析、行为数据分析,在不涉及重复数据聚合的情况下,建议使用ReplicatedMergeTree表引擎