【ClickHouse 表引擎&SQL操作&副本&分片集群 02】

朝九晚五浪迹江湖 / 2024-10-10 / 原文

一、表引擎

表引擎决定了如何存储表的数据。类似mysql的引擎InnoDB,MyISAM

  • 数据的存储方式和位置,写到哪里以及从哪里读取数据
    • 一般的引擎都存储在本地的磁盘,clickhouse存储的位置在:/var/lib/clickhouse  -->其中data存储数据,metadata存储建表语句
  • 支持那些查询以及如何支持
  • 并发数据访问。
  • 索引的使用(如果存在)。
  • 是否可以执行多线程请求。
  • 数据复制参数

表引擎的使用方式就是必须显式在创建表时定义该表使用的引擎,以及引擎使用的相关参数

特别注意:引擎的名称大小写敏感

1、TinyLog  -->日志系列家族

以列文件的形式保存在磁盘上,不支持索引没有并发控制。一般保存少量数据的小表,可以用在平时练习测试用,生产不用

如:create table t_tinylog ( id String, name String) engine=TinyLog;

2、Memory

内存引擎,数据以未压缩的原始形式直接保存在内存中,服务器重启数据就会丢失,所以一般也不用再生产环境上,简单查询下有非常高的性能表现

3、MergeTree  --》重点