实时分析数据仓储可观测性AI/MLOSS
与大多数数据库一样,ClickHouse 会在逻辑上将表组织到数据库中。使用 CREATE DATABASE 命令在 ClickHouse 中创建一个新数据库:
CREATE TABLE 定义新表。如果未指定数据库名称,该表将位于
default 数据库中。
下面这个名为 my_first_table 的表会在 helloworld 数据库中创建:
my_first_table 是一个包含四列的 MergeTree 表:
user_id:32 位无符号整数message:String数据类型,用于替代其他数据库系统中的VARCHAR、BLOB、CLOB等类型timestamp:DateTime值,表示某一时刻metric:32 位浮点数
主键简介
- ClickHouse 中的主键并不要求表中每一行都唯一
SELECT 查询时会处理的最小列数据条带。
可以使用 PRIMARY KEY 参数定义主键。如果定义表时未指定 PRIMARY KEY,则该键默认为 ORDER BY 子句中指定的元组。如果同时指定了 PRIMARY KEY 和 ORDER BY,则主键必须是排序顺序的前缀。
主键同时也是排序键,即由 (user_id, timestamp) 组成的元组。因此,每个列文件中存储的数据都会先按 user_id 排序,再按 timestamp 排序。