[1]Clickhouse列式存储的明日之星: 概述和安装
Posted 朱清云的技术博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[1]Clickhouse列式存储的明日之星: 概述和安装相关的知识,希望对你有一定的参考价值。
概述
ClickHouse 是一个列式存储库,可以用于online analytical processing (OLAP),其可以用来快速生成报表,属于NoSQL的一种。什么是列式存储,比如下面的数据,在传统的SQL数据库里面,比如Oracle,mysql,PostgreSQL,其是用下面的这种方式存储,其查询的时候是一行一行扫描遍历的,这就是为什么对有些字段建立了索引后,其效率会大大提高的原因,因为其相当于字典前面的索引,大大提高了行扫描的效率。
但是,上面的存储结果在有些情况下,效率是很低的,比如有一亿条上面类似的数据,如果要统计GoodEvent的总数是多少,那么就要扫描一亿记录;效率大大降低;这在一些报表和统计场景下是不可接受的;所以后面就出现了列式存储,同样的数据,其存储方式是按列进行归类的。
把其同类型的数据放在一起。这样在统计某些信息的时候,效率大大提高!
经过实际的测试,Clickhouse比其他同类产品的速度快100-1000倍;目前市面的列式存储的数据库产品有:
- Vertica
- Paraccel (Actian Matrix and Amazon Redshift),
- Sybase IQ
- Exasol
- Infobright
- InfiniDB
- MonetDB (VectorWise and Actian Vector)
- LucidDB
- SAP HANA
- Google Dremel
- Google PowerDrill
- Druid
- kdb+.
其官方网站为https://clickhouse.com;ClickHouse是一款开源软件,开源协议是Apache-2.0 License;其Github的地址为https://github.com/ClickHouse/ClickHouse,是基于C/C++写的,从目前Github上面的热度来看,其已经有21.1k点赞;相对来说已经非常多了!目前到2021年为止已经估值20亿美金。
安装
Clickhouse的安装相对来说比较简单。下面以CentOs操作系统为例
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.repo
sudo yum install clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start
clickhouse-client
执行完最后一条命令的时候,其会进入客户端控制台,默认端口是9000
之后,可以执行SQL语句,比如显示当前里面有哪些数据库
iZ2zed2xwj1m0dde6h89oxZ :) show databases
SHOW DATABASES
Query id: a281968c-bb99-4ab7-b69b-55d0e6f5ad2d
┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default │
│ information_schema │
│ system │
└────────────────────┘
4 rows in set. Elapsed: 0.002 sec.
其语法参考文档为: https://clickhouse.com/docs/en/sql-reference/statements/create/database/
后记
这篇文章就暂时到这里,接下来会详细描述,其SQL语句的一些语法,请继续关注!
以上是关于[1]Clickhouse列式存储的明日之星: 概述和安装的主要内容,如果未能解决你的问题,请参考以下文章
[2]Clickhouse列式存储的明日之星:创建和添加数据
[3]Clickhouse列式存储的明日之星:如何利用ClickHouse查询Github上点赞排名靠前的站点?
[3]Clickhouse列式存储的明日之星:如何利用ClickHouse查询Github上点赞排名靠前的站点?