ClickHouse的表引擎跟我们耳熟能详的Mysql表引擎差别很大,它功能更加强大
作用:
(1)数据存储位置(内存或者磁盘)
(2)操作方式和操作限制
(3)并发和多线程限制
(4)是否可以使用索引
(5)数据备份,分片等等限制
(6)指定数据源读取
有以下几种:
Log:日志表引擎
不支持索引,采用类似稀疏索引的方式存储数据,标志位和偏移量来指定多线程并行读取数据,指定开始读取的位置和指定跳跃行数。写操作会阻塞读操作,读操作也会阻塞写操作,如果写入数据表失败,就会导致数据损坏,读取报错。适合存储临时的,不重要的,增删改写操作不频繁的数据。
TinyLog;(小)日志表引擎
数据存在磁盘中,不支持索引,没有并发控制,但是支持并发,并行写入数据会有线程不安全问题造成数据损坏和脏数据
每个字段列都以压缩文件形式保存,占用空间较小,写入新数据时候会将新数据追加到文件末尾,增删改等写操作较少的数据,就可以存在该引擎的表
建表的时候指定ENGINE=T