ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

社区文档地址:

https://clickhouse.tech/docs/zh/

安装

docker安装:

1
2
3
4
5
6
7
8
docker pull yandex/clickhouse-server
# 直接跑起来
docker run -d --name sdx-clickh --ulimit nofile=262144:262144 yandex/clickhouse-server

# 如果想把数据盘挂载到本地目录
$ mkdir $HOME/some_clickhouse_database
$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 
	--volume=$HOME/some_clickhouse_database:/var/lib/clickhouse yandex/clickhouse-server 

你会看到docker启动了三个端口: 8123/tcp, 9000/tcp, 9009/tcp 。其中9000是对外提供连接的窗口。

可以在宿主机访问的启动方式:

1
2
docker run -itd --name sdx-clickh --ulimit nofile=262144:262144 
	-p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server 

测试

你可以进入docker容器中,查看具体的数据:

1
2
3
4
docker exec -it sdx-clickh bash # 控制台进入
root@db407a2f8707:> clickhouse-client # 客户端命令行
show databases
select 1

常用SQL语句

一些常规操作,非分布式模式:

1
2
3
4
5
6
7
8
CREATE TABLE sdx_demo ( id UInt16, str String, create_date date ) 
	ENGINE = MergeTree(create_date, (id), 8192);

insert into sdx_demo(id,str,create_date) values (1, 'chende', now())
insert into sdx_demo(id,str,create_date) values (2, 'lmx', now())
insert into sdx_demo(id,str,create_date) values (3, 'wulei', now())

select * from sdx_demo

参考:

https://www.jianshu.com/p/74eb7747210a

(完)