
clickhouse
文章平均质量分 87
Aiky哇
专注于数据库、go、性能优化,对待当下的态度,决定你未来的高度
展开
-
clickhouse不要混淆part和partition
看完整本《ClickHouse原理解析与应用实践》,我都没有意识到这个问题,ck中的partition和part,他不是缩写的关系,他是两个东西。ckman的介绍中,会除去掉最新的partition,然后移动其他的partition。ckman的数据重分布是以partition为颗粒度,移动partition来达到数据重分布的效果的。总而言之,partition是分区,一个partition是可以包含多个part的。这个错误导致我在看ckman的数据重分布算法介绍的时候,理解陷入了误区。原创 2022-09-21 16:24:45 · 998 阅读 · 1 评论 -
ClickHouse SQL 的十项优化规则
众所周知,ClickHouse 的 SQL 优化规则是基于RBO(Rule Based Optimization)的,那么你知道都有哪些优化规则吗 ?接下来的内容,是我在去年年底整理的十项优化规则,不一定全,仅做抛砖引玉之用。如果各位有补充,欢迎私信我。1. COUNT 优化 :在调用 count 函数时,如果使用的是 count() 或者 count(*),且没有 where 条件,则会直接使用 system.tables 的 total_rows,例如:注意 Optimized trivial c转载 2022-07-14 10:01:18 · 1161 阅读 · 0 评论 -
从 Clickhouse 到 Snowflake: MPP 查询层
导语 | 伴随着Snowflake的成功,重新激活了数据分析市场,大大小小的创业公司不断创立,各种OLAP的开源产品层出不穷。其中,ClickHouse凭借优秀的性能在用户行为分析、ABTest、在线报表等多个领域大放异彩,但其在功能特性、易用性等方面都还有较多不足。同时,在OLTP、对象存储、Elasticsearch、MongoDB等系统中累积了大量数据和分析需求,不能较好的得到满足。因此,我们希望以Clickhouse为基础,借鉴Snowflake的设计思路,打造一款高性能的云原生OLAP数仓,为用户转载 2022-07-13 17:31:49 · 488 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记总结
两周多的时间看完了整本书。ck更新比较快,书中的内容细节有很多地方已经过期了,但是对于了解ck的架构已经足够了。书中并没有多少涉及到代码层面的东西,只是简单提了几个基础类。也没有列出ck的内存模型,并发模型。这些之后都需要根据源码来看的,资料太少。之后我应该会对照源码来梳理一下MergeTree相关的基础操作,比如数据插入和查询时的代码逻辑,数据merge和mutation时的代码逻辑等等。列一个表格来总结一下,我认为从业务侧出发,书中的重点章节,以及原因。第1章 ClickHouse的前世今生第2章 Cl原创 2022-07-08 15:41:37 · 322 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(8)
用户权限相关,日常监控项原创 2022-07-07 21:06:53 · 721 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(7)
介绍了副本、分片和集群的使用方法以及核心工作流程。ReplicatedMergeTree表引擎和Distributed表引擎的核心功能与工作流程。原创 2022-07-07 14:54:18 · 1111 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(6)
各种查询子句的用法。(本地查询)原创 2022-07-06 15:33:35 · 809 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(5)
表引擎介绍:· MergeTree系列表引擎介绍。· 外部存储类型的表引擎、内存类型的表引擎、日志类型表引擎、接口类型的表引擎和其他类型的表引擎介绍。原创 2022-07-05 17:23:12 · 819 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(4)
这一章主要讲最基础的Mergetree引擎。原创 2022-07-03 17:29:35 · 1032 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(3)
主要是数据字典方面的介绍原创 2022-06-28 17:53:53 · 1144 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(2)
开始学习《ClickHouse原理解析与应用实践》,写博客作读书笔记。本文全部内容都来自于书中内容,个人提炼。第一章 -> 第二章:《ClickHouse原理解析与应用实践》读书笔记(1)_Aiky哇的博客-优快云博客开始学习《ClickHouse原理解析与应用实践》,写博客作读书笔记。本文全部内容都来自于书中内容,个人提炼。https://aikysay.blog.youkuaiyun.com/article/details/125441354 【略过,网上资料很多,不用看这个】ClickHouse提供了DDL原创 2022-06-27 20:43:13 · 961 阅读 · 0 评论 -
《ClickHouse原理解析与应用实践》读书笔记(1)
开始学习《ClickHouse原理解析与应用实践》,写博客作读书笔记。本文全部内容都来自于书中内容,个人提炼。原创 2022-06-24 16:57:40 · 958 阅读 · 0 评论 -
漫谈Clickhouse Join
随着公司业务的不断发展,不同业务线数据都有了大规模积累。在此基础上为了精细化运营,更好地服务客户,就需要通过积累的数据沉淀出各类实体标签,比如用户标签、帖子标签、基金标签。雪+系统应运而生,包括标签体系、个体画像、标签分群等主要功能模块。标签体系: 通过可视化界面,结合业务场景需求,创建并维护用户标签、内容标签、标的标签,构建完善的标签体系。标签是数据平台的基础,个体画像、用户分群、群体洞察、用户分析都依托于标签,作为标签的统一管理平台,满足各业务线对标签的数据需求。个体画像:以标签体系为基础,打造用户、标转载 2022-06-24 10:33:41 · 3404 阅读 · 0 评论 -
ClickHouse distributed表引擎
Distributed Table Engine | ClickHouse DocsTables with Distributed engine do not store any data of their own, but allow distributed query processing on multiple servers.https://clickhouse.com/docs/en/engines/table-engines/special/distributed具有分布式引擎的表不存储自己的任原创 2022-06-23 16:21:27 · 773 阅读 · 0 评论 -
clickhouse原生监控项,系统表描述
原文链接:Monitoring | ClickHouse Docshttps://clickhouse.com/docs/en/operations/monitoringclickhouse推荐监控两大项:对于硬件资源利用率。clickhouse官网的意思,本身不会去监控硬件资源的状态,监控硬件需要第三方工具。clickhouse建议监控硬件项中的磁盘存储,RAM和网络使用率。对于clickhouse本身指标。如果想要跟踪clickhouse中发生的事件,可以通过ck的日志来查看,相关的连接:Server原创 2022-06-14 15:52:40 · 1231 阅读 · 0 评论 -
centos7源码编译安装clickhouse21.8,图文流程
一.clone源码二.编译源码依赖包安装升级GCC 升级cmake版本编译安装clickhouse原创 2022-06-08 15:15:12 · 2023 阅读 · 1 评论 -
clickhouse优化实践
clickhouse在易企秀数据仓库项目中已投入使用两年,主要为内部用户提供快速查询和多维分析的能力;希望你在业务当中遇到的性能问题,在这里都能得到解决Clickhouse堪称OLAP领域的黑马,最近发布的几个版本在多表关联分析上也有了极大的性能提升,尤其是还引入了MaterializeMySQL Database Engine做到了实时对齐业务线mysql中的数据。表优化数据类型 建表时能用数值型或日期时间型表示的字段,就不要用字符串——全String类型在以Hive为中心的数仓建设.转载 2021-01-21 17:42:18 · 521 阅读 · 0 评论 -
clickhouse使用\G
clickhouse在客户端中可以使用\G,但是无法在shell中使用\G。如图:在客户端中:vm10-0-0-111 :) select 1,2,3 \GSELECT 1, 2, 3Row 1:──────1: 12: 23: 31 rows in set. Elapsed: 0.008 sec. 在命令行中:[root@vm10-0-0-111 ~]# clickhouse client -q "select 1,2,3 \\G原创 2021-01-13 20:01:50 · 1653 阅读 · 0 评论 -
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Host not found
碰到个问题,在互为副本的两个实例上创建ReplicatedMergeTree类型的表,发现没有办法把数据同步过去。环境是centos建表语句为:CREATE TABLE log_test ON CLUSTER cluster_2_replica\(\ `ts` DateTime,\ `uid` String,\ `biz` String\)\ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/log_t原创 2020-12-22 21:05:56 · 6008 阅读 · 0 评论 -
clickhouse的benchmark工具使用方法
clikchouse官方提供了一个benchmark工具,能够连接到ClickHouse服务器并重复发送指定的查询。使用语法:#第一种语法echo "single query" | clickhouse-benchmark [keys]#第二种语法clickhouse-benchmark [keys] <<< "single query"#其中的single query代表简单的sql查询#[keys]表示的是使用的参数如果想执行多条语句,可以将语句写到文件中,翻译 2020-12-17 15:01:20 · 5617 阅读 · 0 评论 -
clickhouse一个user配置多个role时的参数情况
测了一下一个user配置多个role时,参数的应用情况。先说结论一个用户多个role,参数不是谁范围大取谁。如果多个role涉及到不同的参数,那么设定的参数都会应用如果多个role涉及到相同的参数,那么取哪个设定值是随机的。sql权限的话,因为不会冲突,所有sql权限都会应用。测试方法创建4个role,设定的参数和权限如下表所示: max_memory_usage max_result_rows max_rows_to_sort sql权限 ..原创 2020-12-11 15:03:24 · 465 阅读 · 0 评论 -
clickhouse中权限,参数,role,profile和user的关系
自己总结的关系如图:推荐除了admin用户(管理员用户)外,其他的用户创建都是用create user创建,这也是官方推荐的,不然在xml中也有,在dictionary也有,很难管理。原创 2020-12-09 18:16:17 · 880 阅读 · 1 评论 -
clickhouse一个user拥有多个profile
搜了一下没有相关文章。先说一下结论:尝试证明一个user只能配一个profile。配多个profile不会报错,但是只有第一个是生效的。想让一个用户拥有多个profile的配置的并集或交集,还是得手动搞,可以新建或者继承。过程我现在有两个profile: <default> <!-- Maximum memory usage for processing single query, in bytes. --> .原创 2020-12-09 11:59:00 · 332 阅读 · 0 评论 -
clickhouse的SQL参考——(六)操作符类
参考资料https://clickhouse.tech/docs/en/sql-reference/operators/版本:v20.11目录参考资料Operators访问操作符数值取反运算符乘除取余运算符加减运算符比较运算符用于数据集的运算符日期和时间的运算符EXTRACTINTERVAL逻辑关系运算符条件表达式串联运算符Lambda Creation Operator数组元组创建操作符关联性NULL检查IS NUL.原创 2020-12-07 15:19:18 · 1848 阅读 · 0 评论 -
clickhouse的SQL参考——(五)system、set和权限相关
参考资料https://clickhouse.tech/docs/en/sql-reference/statements版本:v20.11由于官方对这些小项的介绍很简短,于是对其进行了整理归纳。SYSTEM语句以下查询语句均以SYSTEM开头,格式为SYSTEM [相关语句]。RELOAD EMBEDDED DICTIONARIES重新加载所有内部词典(Internal dictionaries.)。默认情况下,内部字典是禁用的。始终返回OK,无论内部字典更新的结果如何.原创 2020-12-01 10:31:28 · 2199 阅读 · 0 评论 -
clickhouse的SQL参考——(四)对库和表的常见操作
参考资料https://clickhouse.tech/docs/en/sql-reference/statements版本:v20.11由于官方对这些小项的介绍很简短,于是对其进行了整理归纳。库和表的轻量级操作查询use语句USE db用于设置当前会话使用的数据库。如果在查询中未明确定义数据库,则使用当前数据库搜索表。由于没有会话概念,因此在使用HTTP协议时无法进行此查询。RENAME语句重命名一个或多个表。RENAME TABLE [db11.原创 2020-11-30 16:52:57 · 2293 阅读 · 0 评论 -
clickhouse的SQL参考——(三)ALTER
参考资料https://clickhouse.tech/docs/en/sql-reference/statements/alter/版本:v20.11总览大多数ALTER查询都会修改表设置或数据:COLUMN PARTITION DELETE UPDATE ORDER BY INDEX CONSTRAINT TTL大多数* ALTER查询仅支持* MergeTree表以及Merge和Distributed。ALTER设置会修改基于角色的访问控制有关的实体:USE原创 2020-11-30 14:23:42 · 5656 阅读 · 0 评论 -
clickhouse的SQL参考——(二)create
参考资料https://clickhouse.tech/docs/en/sql-reference/statements/create/版本:v20.11目录总览CREATE DATABASE子句IF NOT EXISTSON CLUSTERENGINECREATE TABLE语法形式使用显示语法结构使用其他表的结构使用表函数返回的结构默认值DEFAULT子句MATERIALIZED子句ALIAS子句约束(Constraints)原创 2020-11-27 17:00:24 · 2356 阅读 · 0 评论 -
clickhouse的SQL参考——(一)select
参考资料https://clickhouse.tech/docs/en/sql-reference/statements/select/版本:v20.11目录参考资料总览语法select字句COLUMNS表达式星号极值AS实施细节SELECT修饰符APPLYEXCEPTREPLACEModifier CombinationsARRAY JOIN 子句语法例子使用别名具有嵌套数据结构的ARRAY JOIN实施细节.原创 2020-11-26 21:01:25 · 1853 阅读 · 0 评论 -
clickhouse配置项system.settings详解
调研学习clickhouse,上一章介绍了clickhouse的配置项users.xml,这一章介绍另一大项config.xml从clickhouse的官网看,clickhouse的配置参数主要分了两大方面,一个是config.xml中的服务器配置参数(Server Settings),另一个是常规配置参数(setttings)。这里介绍常规配置参数(settings)翻译自:https://clickhouse.tech/docs/en/operations/settings/settings翻译 2020-11-25 10:23:12 · 11029 阅读 · 3 评论 -
Clickhouse库引擎介绍
数据库引擎clickhouse和mysql一样提供了众多功能不同的引擎。默认情况下,ClickHouse使用自身的数据库引擎,该引擎可以提供表引擎配置(table engines)和SQL(SQL dialect.)您还可以使用以下数据库引擎: MySQL Lazy MySQL引擎允许连接到远程MySQL服务器上的数据库,并执行INSERT和SELECT查询以在ClickHouse和MySQL之间交换数据。Mysql数据库引擎翻译请求语句,并发送给MYSQL服务器..转载 2020-11-23 11:50:17 · 2331 阅读 · 0 评论 -
clickhouse配置项config.xml详解——服务器配置参数
调研学习clickhouse,上一章介绍了clickhouse的配置项users.xml,这一章介绍另一大项config.xml从clickhouse的官网看,config.xml的内容主要分了两大方面,一个是服务器配置参数(Server Settings),另一个是常规配置参数(setttings)。这里先介绍服务器配置参数(Server Settings)服务器配置参数介绍本节包含无法在会话或查询级别更改的服务器设置的说明。这些设置默认存储在/etc/clickhouse-se.原创 2020-11-19 11:31:04 · 17179 阅读 · 0 评论 -
clickhouse配置项users.xml详解
说明ClickHouse支持基于RBAC方法的访问控制管理。(关于RBAC的介绍)作为一个分析类型(OLAP)的数据库系统,相对于MySQL数据库在用户管理方面有很大不同,clickhouse支持使用两种方式配置访问实体:一是通过sql直接设置,这也是官方推荐的,但是需要至少一个用户帐户启用SQL驱动的访问控制和帐户管理,这需要使用第二种方式设置access_management 二是通过配置文件users.xml,默认位置在/etc/clickhouse-server目录下,ClickHou原创 2020-11-17 18:15:42 · 13061 阅读 · 1 评论 -
centos7 yum 安装及卸载 Clickhouse
亲测可用:检查系统是否支持SSE 4.2:grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"安装:# 使用脚本下载yum源curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash# yum 安装 serv转载 2020-11-17 11:38:59 · 1221 阅读 · 1 评论 -
clickhouse单机读写性能测试(附带运行截图)
使用版本20.10.3.30云主机配置数据及操作来源https://clickhouse.tech/docs/zh/getting-started/example-datasets/star-schema/表类型及数据量 表名 表结构 表定义语句 表数据量 customer CREATE TABLE customer\ (\ C_CUSTKEY UInt32,\ C..原创 2020-11-16 10:12:39 · 4930 阅读 · 1 评论 -
<Error> Application: DB::Exception: Listen [::1]:8123 failed: Poco::Exception. Code: 1000, e.code()
问题一:在连接clickhouse数据库时,使用service clickhouse-server/etc/init.d/clickhouse-service时都会报 Init script is already running ,但是实际上数据库并没有起来,可以使用sudo systemctl start clickhouse-serversudo systemctl stop clickhouse-serversudo systemctl status clickh...原创 2020-11-11 20:05:03 · 11360 阅读 · 7 评论