随笔分类 -  clickhouse数据库

使用以及分析
摘要:一、异常 1)DB::Exception: Nested type Array(String) cannot be inside Nullable type (version 20.4.6.53 (official build))原因:字段类型是Nullable(String),在使用一些字符串函数 阅读全文
posted @ 2022-02-16 14:52 渐逝的星光 阅读(40194) 评论(0) 推荐(0) 编辑
摘要:一、优点: 1.为了高效的使用CPU,数据不仅仅按列存储,同时还按向量进行处理; 2.数据压缩空间大,减少IO;处理单查询高吞吐量每台服务器每秒最多数十亿行; 3.索引非B树结构,不需要满足最左原则;只要过滤条件在索引列中包含即可;即使在使用的数据不在索引中,由于各种并行处理机制ClickHouse 阅读全文
posted @ 2022-02-16 11:01 渐逝的星光 阅读(2113) 评论(0) 推荐(0) 编辑
摘要:ClickHouse也支持基于RBAC(Role-Based Access Control)的访问控制管理,即通过SQL-driven来进行管理。在 RBAC 中,权限与角色相关联,通过成为角色的成员而得到这些角色的权限。简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用 阅读全文
posted @ 2022-02-15 14:26 渐逝的星光 阅读(1137) 评论(0) 推荐(0) 编辑
摘要:ClickHouse作为一个分析类型(OLAP)的数据库系统,相对于MySQL数据库在用户管理方面有很大不同,它是可以通过修改配置文件来实现用户权限管理的。在安装好ClickHouse之后,其默认的配置文件在/etc/clickhouse-server目录下,对应的配置文件为users.xml,Cl 阅读全文
posted @ 2022-02-15 11:30 渐逝的星光 阅读(1120) 评论(0) 推荐(0) 编辑
摘要:在富文本内容中通常会出现回车、换行内容。在sql数据库中这些回车、换行符,输出html后,表现为空格。 这里是在数据导出、导入中发现的,通常把回车、换行符找出来,用<br>替换。 这里使用了,sql 函数。replace(string_expression , string_pattern , st 阅读全文
posted @ 2022-02-10 17:38 渐逝的星光 阅读(1385) 评论(0) 推荐(0) 编辑
摘要:一、ClickHouse性能情况 主要分为4个方面 1、单个查询吞吐量 场景一: 如果数据被放置在page cache中,则一个不太复杂的查询在单个服务器上大约能够以2-10GB/s(未压缩)的速度进行处理(对于简单的查询,速度可以达到30GB/s) 场景二: 如果数据没有在page cache中的 阅读全文
posted @ 2022-02-08 15:47 渐逝的星光 阅读(2515) 评论(0) 推荐(0) 编辑
摘要:一、准备测试数据 首先准备测试表: CREATE TABLE test_data engine = Memory AS WITH( SELECT ['A','A','A','A','B','B','B','B','B','A','59','90','80','80','65','75','78',' 阅读全文
posted @ 2022-01-18 17:42 渐逝的星光 阅读(1776) 评论(0) 推荐(0) 编辑
摘要:1. 系统要求 ClickHouse 可以在任何具有 x86_64、AArch64 或 PowerPC64LE CPU 架构的 Linux、FreeBSD 或 Mac OS X 上运行。官方预构建的二进制文件通常针对 x86_64 进行编译并利用 SSE 4.2 指令集。如下命令检查当前 CPU 是 阅读全文
posted @ 2022-01-18 17:12 渐逝的星光 阅读(3403) 评论(0) 推荐(0) 编辑
摘要:一、JDBC 驱动clickhouse 有两种 JDBC 驱动实现。官方驱动: <dependency> <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>0.2.6</ 阅读全文
posted @ 2022-01-18 16:27 渐逝的星光 阅读(8765) 评论(0) 推荐(0) 编辑
摘要:在大部分的DBMS中,数据库本质上就是一个由各种子目录和文件组成的文件目录,clickhouse当然也不例外。clickhouse默认数据目录在/var/lib/clickhouse/data目录中。所有的数据库都会在该目录中创建一个子文件夹。下图展示了clickhouse对数据文件的组织。 每一个 阅读全文
posted @ 2022-01-18 15:41 渐逝的星光 阅读(3255) 评论(0) 推荐(0) 编辑
摘要:--1.SELECT语句语法 [WITH expr_list|(subquery)] SELECT [DISTINCT] expr_list [FROM [db.]table | (subquery) | table_function] [FINAL] [SAMPLE sample_coeff] [ 阅读全文
posted @ 2022-01-18 15:35 渐逝的星光 阅读(1433) 评论(0) 推荐(0) 编辑
摘要:库存储引擎 --1.Atomic它支持非阻塞 DROP 和 RENAME TABLE 查询以及原子 EXCHANGE TABLES t1 AND t2 查询。默认情况下使用Atomic数据库引擎。 CREATE DATABASE test ENGINE = Atomic;--2.MySQLMySQL 阅读全文
posted @ 2022-01-18 15:30 渐逝的星光 阅读(521) 评论(0) 推荐(0) 编辑
摘要:--1.CREATE --方式1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [ 阅读全文
posted @ 2022-01-18 15:15 渐逝的星光 阅读(333) 评论(0) 推荐(0) 编辑
摘要:--1.常用函数 count 返回记录条数。 如 SELECT count() FROM table 注:如果求 COUNT(DISTINCT x),则使用 uniq 函数 any(x) 返回遇到的第一个值 备注:待补充 anyHeavy(x) 通过 heavy hitters 算法,得到一个经常出 阅读全文
posted @ 2022-01-18 15:07 渐逝的星光 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:1、基础类型基础类型只有数值、字符串、时间三种类型,没有Boolean类型,但可以使用整型的0或1替代。 1.1、数值类型数值类型分为整数、浮点数和定点数三类。 1.1.1、整数普遍观念中,用Tinyint、Smallint、Int和Bigint指代整数的不同取值范围。ClickHouse则直接使用 阅读全文
posted @ 2022-01-18 15:01 渐逝的星光 阅读(7980) 评论(0) 推荐(1) 编辑
摘要:操作符 所有的操作符(运算符)都会在查询时依据他们的优先级及其结合顺序在被解析时转换为对应的函数。下面按优先级从高到低列出各组运算符及其对应的函数: --1.下标运算符 a[N] – 数组中的第N个元素; 对应函数 arrayElement(a, N) a.N – 元组中第N个元素; 对应函数 tu 阅读全文
posted @ 2022-01-18 14:46 渐逝的星光 阅读(223) 评论(0) 推荐(0) 编辑
摘要:--1.remote, remoteSecure 允许您访问远程服务器,而无需创建 Distributed 表。remoteSecure - 与 remote 相同,但是会使用加密链接。 这两个函数都可以在 SELECT 和 INSERT 查询中使用。 语法: remote('addresses_e 阅读全文
posted @ 2022-01-18 14:38 渐逝的星光 阅读(394) 评论(0) 推荐(0) 编辑
摘要:时间窗口函数用于获取窗口的起始(包含边界)和结束时间(不包含边界)。系统支持的时间窗口函数如下: --1.tumble tumble窗口是连续的、不重叠的固定大小(interval)时间窗口。 tumble(time_attr, interval [, timezone])参数- time_attr 阅读全文
posted @ 2022-01-18 14:26 渐逝的星光 阅读(1806) 评论(0) 推荐(0) 编辑
摘要:-- clickhouse自带的计算操作符函数(对接mybatis的时候不用将“<”之类的符号转换成 “age1 <![CDATA[ < ]] 2>”) -- 1.等于(注意函数名称的大小,严格区分大小写) SELECT equals('hello','hello'), -- 1 equals('a 阅读全文
posted @ 2022-01-18 14:20 渐逝的星光 阅读(254) 评论(0) 推荐(0) 编辑
摘要:在Yandex.Metrica中,用户使用JSON作为访问参数。为了处理这些JSON,实现了一些函数。(尽管在大多数情况下,JSON是预先进行额外处理的,并将结果值放在单独的列中。)所有的这些函数都进行了尽可能的假设。以使函数能够尽快的完成工作。 我们对JSON格式做了如下假设: 字段名称(函数的参 阅读全文
posted @ 2022-01-18 14:18 渐逝的星光 阅读(3146) 评论(0) 推荐(0) 编辑