clickhouse 19.14.m.n简单测试

  ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP). 是Yandex开发的。ClickHouse的优势是使用了面向列的DBMS,比MySQL等面向行的数据库有查询优势,同时又比同样属于面向列DBMS的更有效的节省空间(不适用固定大小存储数据),使用数据压缩后,可以传输更多,延迟小等。https://clickhouse.yandex/

  安装比较简单,可以使用yum安装,也可以下载rpm,然后离线安装(LZ使用的是离线安装),在线安装可以参考https://www.jianshu.com/p/5253f800d5cb“”。

导入mysql中的表定义和数据

CREATE TABLE TA_TSHARECURRENTS_INNODB ENGINE = MergeTree order by c_cserialno AS  SELECT * FROM mysql(‘192.168.XX.XX:3306‘, ‘ta_cs‘, ‘TA_TSHARECURRENTS_INNODB‘, ‘root‘, ‘123456‘);其中该表有300多万条记录。速度还是很快的。
c_cserialno必须在mysql那边定义为not null,而不管数据是否本身有为null,否则执行时会报"DB::Exception: Sorting key cannot contain nullable columns"。

clickhouse远程访问

clickhouse安装之后,默认没有用户名、密码,为了允许远程登录,需要修改/etc/clickhouse-server/config.xml配置,如下:
    <!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere. -->
    <!--<listen_host>::</listen_host>       -->
    <!-- Same for hosts with disabled ipv6: -->
    <!-- <listen_host>0.0.0.0</listen_host> -->

    <!-- Default values - try listen localhost on ipv4 and ipv6: -->
    <!--
    <listen_host>::1</listen_host>
    <listen_host>127.0.0.1</listen_host>
    -->
    <!-- Don‘t exit if ipv6 or ipv4 unavailable, but listen_host with this protocol specified -->
    <!-- <listen_try>0</listen_try> -->

把注释掉的<listen_host>::</listen_host>取消注释,然后重启服务:

service clickhouse-server restart

这样就可以通过IDEA访问clickhouse了。

数据类型

clickhouse支持的数据类型和一般的RDBMS以及列式数据库不同,这个比较坑爹。

UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64
Float32, Float64
Boolean(不存在,使用 UInt8的0和1代替)
String(任意长度,代替VARCHAR, BLOB, CLOB,或者其他DBMS来的字符数据类型)
FixedString(N) (N bytes长度的字符串)
Date (日期,例如:1970-01-01 )
DateTime (日期时间,例如:1970-01-01 00:00:00)
Enum8, Enum16 (Enum8、Enum16 定义为键值对 ‘String’ = Int8 和 ‘String’ = Int16,例如:x Enum8(‘hello’ = 1, ‘world’ = 2))
Array(T) (数组,复合数据类型,例如:select [1, 2] AS x, toTypeName(x) ;)
Tuple(T1, T2, …) (元组,复合数据类型,例如:SELECT tuple(1,’a’) AS x, toTypeName(x) ;)
Nullable(TypeName) (没有值的时候填充null,TypeName不可复合数据类型,例如:CREATE TABLE t_null(x Int8,y Nullable(Int8)))

SQL语法以及内置函数

除此之外,clickhouse很多的内置函数也都不同于主流的RDBMS,sql语法差异也比较大,在LZ测试的比较复杂的SQL中,mariadb columnstore/greenplum稍微调整下就能支持,到了clickhouse,半天没改出来,报错信息也各种迷糊,虽然文档比较全了,但是感觉到真正广泛使用还是友好性太差。

clickhouse的优势

分页查询很快,这是其相比其它列式数据库如columnstore/greenplum最大的优势。

-- 500毫秒select * from TA_TCUSTOMERINFO_INNODB x order by x.c_fundacco limit 100;-- 1秒内select * from TA_TCUSTOMERINFO_INNODB x order by x.c_fundacco limit 100000,100;--- 7.5秒select * from TA_TCUSTOMERINFO_INNODB x order by x.c_fundacco limit 2000000,100;

3.3 常见FAQ

Q1:无法在本地连接ClickHouse,报错:Connecton reject。 A1:clickhouse默认不放开远程访问,可以通过修改配置文件的方式放开。
修改服务器的配置文件/etc/clickhouse-server/config.xml,第65行,放开注释即可。
修改之后,重启服务:
service clickhouse-server stop
service clickhouse-server start

Q2:修改metrika.xml里面的shard或者replica参数之后,数据库无法启动;
A2:如果之前已经建了Replica表,那么必须在修改上述两个参数之前把已经创建好的Replica表删掉,才能去修改,否则会无法启动。报错日志放在/var/log/clickhouse-server/下。

clickhouse postgresql_fdw的性能测试如下:

https://www.percona.com/blog/2019/05/09/improving-olap-workload-performance-for-postgresql-with-clickhouse-database/

https://www.percona.com/blog/2019/05/01/benchmark-clickhouse-database-and-clickhousedb_fdw/

原文地址:https://www.cnblogs.com/zhjh256/p/11615827.html

时间: 2024-08-28 03:09:10

clickhouse 19.14.m.n简单测试的相关文章

19.12添加自定义监控项目19.13/19.14 配置邮件告警19.15 测试告警19.16 不发邮件的问题处理

19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理 19.12 添加自定义监控项目 zabbix的监控项目是在模板里面体现,但是有时候就会有些个性化的需求:某一个业务的数据,例如:运营人员想知道网站会员注册量,会员活跃度:实际上,这些数据,都可以通过数据库里面的表的数字来体现,但是zabbix模板是不可能提供那么相信的监控项目:遇到这种情况,就需要通过编程工具,写成脚本,最后通过zabbix监控项目,形成图表,就可以实现:

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警

19.12 添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目: 2)针对该监控项目以图形展现 客户端hao2机器配置: 1. 客户端(hao2)编写estab.sh脚本 : [[email protected] ~]# vim /usr/local/sbin/estab.sh 添加内容 : #!/bin/bash ##获取80端口并发连接数 netstat -ant |grep ':80 ' |grep -c ESTABLISHED 2

19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警

19.12 添加自定义监控项目 zabbix-agent端:zabbix-server端: 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理 1.检查是否能发邮件2.检查报警媒介是否配置正确3.添加用户有没有报警媒介及权限4.添加动作,操作及恢复操作配置好 原文地址:http://blog.51cto.com/12058686/2104482

19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.1

19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理 原文地址:http://blog.51cto.com/13227377/2157068

基于MySQL元数据的Hive的安装和简单测试

引言: Hive是一种强大的数据仓库查询语言,类似SQL,本文将介绍如何搭建Hive的开发测试环境. 1. 什么是Hive? hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析. 2.  按照Hive的准备条件 2.1  Hadoop集

struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->Maven Project--->Next(之后界面如下所示:) --->Next(点击next之后出现如下界面:选择最后一个 maven-archetype-webapp,然后点击next) --->Next(点击next之后出现如下界面,然后选择好组织号,工程号,版本号即可),最后点击Fi

struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->Maven Project--->Next(之后界面如下所示:) --->Next(点击next之后出现如下界面:选择最后一个 maven-archetype-webapp,然后点击next) --->Next(点击next之后出现如下界面,然后选择好组织号,工程号,版本号即可),最后点击Fi

Java学习-排序二叉树性能简单测试

1.创建4万个随机数,然后用分别用冒泡法,选择法,二叉树法3种排序算法进行排序,比较哪种更快 1 package Collection; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class sortSpeedTest { 7 8 public static void main(String[] args) { 9 int num = 40000; // 元素个数 10 int rnd1[] = new

Windows IO 性能简单测试

转自:http://bbs.csdn.net/topics/360111289, 有改动. #include <windows.h>#include <stdio.h>#include <process.h>#include<memory>#pragma comment(lib,"ws2_32.lib")ULONGLONG g_nReadCounts=0,g_nWriteCounts=0,g_nOtherCounts=0,g_nReads