目录
前言
OLAP场景的关键特征
缺陷
一、集群模式搭建
1、centos系统安装
2、配置文件
3、启动
4、连接数据库
二、字段知识
三、表知识
1、表引擎介绍
2、集群模式表用法
四、综合使用
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
参考:https://blog.csdn.net/asfjgvajfghaklsbf/article/details/85139888
#集群模式,每台机器上都要执行
sudo yum install yum-utils
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
sudo yum install clickhouse-server clickhouse-client
官网教程:https://clickhouse.yandex/docs/zh/getting_started/
每台机器上都要执行
1
true
hadoop001
9000
default
123456
1
true
hadoop002
9000
default
123456
1
true
hadoop003
9000
default
123456
hadoop001
2181
hadoop002
2181
hadoop003
2181
每台机器都要执行
启动:
sudo service clickhouse-server start
关闭:
sudo service clickhouse-server stop
1)终端下连接
clickhouse-client -h 127.0.0.1 --port 9000 -m -u default --password 123456
2)数据库工具
推荐使用:DBeaver ,下载:https://dbeaver.io/download/
参考官网:https://clickhouse.yandex/docs/zh/data_types/int_uint/
-- 创建物理表
CREATE TABLE IF NOT EXISTS operation.`store_cluster` ON CLUSTER clickhouse_cluster ( \
`id` UInt32 COMMENT 'ID',\
`storeID` Nullable(UInt16) COMMENT '门店ID',\
`goodsID` Nullable(UInt32) COMMENT '商品ID',\
`status` String DEFAULT 'A' COMMENT '关系状态',\
`createTime` Nullable(datetime) COMMENT '创建时间',\
`lastUpdate` Nullable(datetime ) COMMENT '最后更新时间',\
`saleStatus` Nullable(String) COMMENT '门店销售该商品的状态',\
`stockBorder` Nullable(Int16) COMMENT '门店商品边界值'\
) ENGINE ReplacingMergeTree() PARTITION BY toDate(lastUpdate) ORDER BY (id) SETTINGS index_granularity=8192 ;
-- operation为数据库
-- store_cluster为物理表
-- clickhouse_cluster为集群的名字
-- ReplacingMergeTree为表引擎
-- ORDER BY的字段,默认也是主键
-- 8192 分片大小
-- 创建逻辑表
CREATE TABLE store ON CLUSTER clickhouse_cluster AS operation.`store_cluster` \
ENGINE = Distributed(clickhouse_cluster, operation, `store_cluster`, rand());
-- store为逻辑表,映射的是store_cluster这个物理表
--
-- Distributed的4个参数,分别是集群名字、数据库名、表名、分布规则;
集群模式下创建表,只用在一个节点上就可以,需要加上ON CLUSTER clickhouse_cluster这句,同样集群 删除的话也可以加上这一句,在一个节点上操作,集群上的每一个节点对应的表就会删除,这个是集群操作。
暴露给外部的只要一个逻辑表就可以了,一切的增删改查都只能在逻辑表上,同时逻辑表也是一个集群操作