ClickHouse是俄罗斯的重要网络服务门户之一Yandex所开源的一套针对数据仓库场景的多维数据存储与检索工具,一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),它通过针对性的设计力图解决海量多维度数据的查询性能问题。
下面,enjoy:
一、数据库的行存与列存
在传统的行式数据库系统中,数据按顺序存储:
处于同一行中的数据总是被物理的存储在一起,常见的行式数据库系统有:MySQL、Postgres和MS SQL Server。
在列式数据库系统中,来自不同列的值被单独存储,来自同一列的数据被存储在一起。列式数据库更适合于OLAP场景(对于大多数查询而言,处理速度至少提高了100倍)。新兴的 Hbase、HP Vertica、EMC Greenplum 等分布式数据库均采用列式存储。
ClickHouse采取的就是列示存储的方式。
二、ClickHouse安装及常用命令参数
1.ClickHouse支持的操作系统和硬件环境
只要是Linux,64位都可以。优先支持Ubuntu,Ubuntu有官方编译好的安装包可以使用。其次是CentOS和RedHat,有第三方组织编译好的rpm包可以使用。
如果是其他Linux系统,需要自己编译源码。
而且,机器的CPU必须支持SSE 4.2指令集。
[root@localhost ~]# grep -q sse4_2 /proc/cpuinfo && echo “SSE 4.2 supported” || echo “SSE 4.2 not supported”
2.ClickHouse的安装方法
(1)RPM安装包
推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。
首先,您需要添加官方存储库:
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
然后运行命令安装:
sudo yum install clickhouse-server clickhouse-client
(2)设置系统参数
CentOS取消打开文件数限制
在/etc/security/limits.conf、/etc/security/limits.d/90-nproc.conf这2个文件的末尾加入以下内容: