Clickhouse 简介
clickhouse是Yandex( 在线搜索引擎 )公司出品的OLAP开源数据库,使用c++编写,Yandex最初使用MySQL作为它的数据存储和分析引擎的解决方案,2011年,MySQL存储的数据超过5800亿行,虽然Yandex又额外做了许多优化,成功地将90%的分析报告控制在26秒内返回,但是这套技术方案越来越显得力不从心。于是Yandex开发并开源了clickhouse,目前在存储数据超过20万亿行的情况下,ClickHouse做到了90%的查询都能够在1秒内返回。
优点
- 真正的列式数据库,完备的DBMS功能(支持DML、DDL)。
- 极高的压缩比。
- 向量计算引擎,且支持多核CPU并行计算,执行每个SQL时都力求榨干CPU性能多核心并行处理从而以最自然的方式并行处理大型查询。目前利用SSE4.2指令集实现向量化执行。
- 多服务器分布式处理,支持主从复制架构。数据分片与分布式查询,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。
- 兼容大部分SQL语法,其语法和MySQL非常相似。
- 数据支持实时更新、在线查询。
- 拥有合并树、内存、文件、接口和其他6大类20多种表引擎。
- 支持主键索引,二级索引。
- 支持近似计算或精确去重。
- 支持嵌套的数据结构。
- 支持限制查询复杂性以及配额。
- 不依赖HDFS和zookeeper。
- 多主架构,集群中的每个节点角色对等,客户端访问任意一个节点都能得到相同的效果,天然规避了单点故障的问题。
缺点
- 不支持事务。
- 不擅长根据主键按行粒度进行查询(虽然支持),不应该把ClickHouse当作Key-Value数据库使用。
- 不擅长按行删除数据(虽然支持)
环境检查
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
显示:SSE 4.2 supported
,则环境支持
下载安装(单机模式)
- 安装依赖
yuminstall -y curl
yum install -y libtool
- 添加Clickhouse 的yum镜像
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash
- 检查镜像情况
yum list installed| grep clickhouse
- 安装 server client
yuminstall -y clickhouse-server
yum install -y clickhouse-client
- 启动server
systemctl start clickhouse-server
- 查看server端服务状态
systemctl status clickhouse-server
- 启动client CLI
clickhouse-client
clickhouse-client -m#可以在命令窗口输入多行命令
- 停止
systemctl stop clickhouse-server
修改配置文件(可选)
外网访问
vim /etc/clickhouse-server/config.xml
把 <listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse被除本机以外的服务器访问
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/262aa297f9ef188715424d7f4d54b9da.png)
如果禁用了ipv6,使用下面配置
<listen_host>0.0.0.0</listen_host>
修改默认目录
- 服务端的配置目录:/etc/clickhouse-server
- 数据文件路径:var/lib/clickhouse
<path>/var/lib/clickhouse/</path>
- 日志文件路径: /var/log/clickhouse-server/ 如
<log>/var/log/clickhouse-server/clickhouse-
server.log
存储和日志需要建议修改为非系统盘,其他默认即可
卸载
查看安装
yum list installed| grep clickhouse
clickhouse-client.noarch 21.3.3.14-2 @repo.clickhouse.tech_rpm_stable_x86_64
clickhouse-common-static.x86_64 21.3.3.14-2 @repo.clickhouse.tech_rpm_stable_x86_64
clickhouse-server.noarch 21.3.3.14-2 @repo.clickhouse.tech_rpm_stable_x86_64
卸载并删除目录
yum remove -y clickhouse-common-static
yum remove -y clickhouse-server-commonrm -rf /var/lib/clickhouse
rm -rf /etc/clickhouse*
rm -rf /var/log/clickhouse*
参考资料
- https://clickhouse.tech/#quick-start
- https://clickhouse.tech/docs/zh/getting-started/install/#from-rpm-packages
- https://github.com/ClickHouse/ClickHouse/issues/14861
[WARN]本文发自csdn,未经授权禁止转载