1.clickhouse 中的核心概念:
1.1 clickhouse的引擎分为数据库引擎和表引擎
1.1.1 数据库引擎
一般在创建数据库的时候不指定引擎,默认使用的就是clickhouse自己的引擎,也可以指定使用mysql的引擎,就是可以在clickhouse中调用mysql 中的数据,进行查询,也可以使用 lazy引擎.
clickhouse链接到mysql数据库时可以做的事:
1.可以执行insert 和select 的操作, 也可以执行show tables; 和show create table_name;
2.也可以进行clickhouse和mysql之间的交互;
clickhouse链接到mysql数据库不能做的事:
1.rename,create table 和alter
创建数据库的语法:引擎为mysql
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')
1.1.2 表引擎:
表引擎(即表的类型)决定了:
- 数据的存储方式和位置,写到哪里以及从哪里读取数据
- 支持哪些查询以及如何支持。
- 并发数据访问。
- 索引的使用(如果存在)。
- 是否可以执行多线程请求。
- 数据复制参数。
在读取时,引擎只需要输出所请求的列,但在某些情况下,引擎可以在响应请求时部分处理数据。对于大多数正式的任务,应该使用MergeTree族中的引擎。
备注:在创建表的时候指定表引擎,就是决定了这个表的数据存储的特点,操作行为;
1.2 分片:
1.3 分区:
1.4 副本:
2.clickhouse中数据的基本类型:
2.1 基本数据类型:
2.2 array 类型
2.3 元组类型