登 录
注 册
< 数 据 库
MySQL
ClickHouse
ES
Doris
MongoDB
Redis
其他DB
ClickHouse介绍
单机部署
客户端访问
数据定义
MergeTree引擎
表引擎-外部存储
表引擎-内存类型
表引擎-其他类型
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
ClickHouse
>>
表引擎-其他类型
表引擎-其他类型
2020-10-07 20:05:51 星期三 阅读:5595
####日志类型 如果使用的数据量很小(100万以下),面对的数据查询场景也比较简单,并且是“一次”写入多次查询的模式,那么使用日志家族系列的表引擎将会是一种不错的选择。与合并树家族表引擎类似,日志家族系列的表引擎也拥有一些共性特征。 日志类型的特征 均不支持索引、分区等高级特性; 不支持并发读写,当针对一张日志表写入数据时,针对这张表的查询会被阻塞,直至写入动作结束; 同时拥有切实的物理存储,数据会被保存到本地文件中 `TinyLog表引擎` TinyLog是日志家族系列中性能最低的表引擎,它的存储结构由数据文件和元数据两部分组成。 ``` CREATE TABLE tinylog_1 ( id UInt64, code UInt64 )ENGINE = TinyLog() ``` `StripeLog表引擎` ``` CREATE TABLE spripelog_1 ( id UInt64, price Float32 )ENGINE = StripeLog() ``` `Log表引擎` Log表引擎结合了TinyLog表引擎和StripeLog表引擎的长处,是日志家族系列中性能最高的表引擎。 ``` CREATE TABLE log_1 ( id UInt64, code UInt64 )ENGINE = Log() ``` ####接口类型 接口类表引擎——它们自身并不存储任何数据,而是像黏合剂一样可以整合其他的数据表。在使用这类表引擎的时候,不用担心底层的复杂性,它们就像接口一样,为用户提供了统一的访问界面。 `Merge表引擎` Merge表引擎就如同一层使用了门面模式的代理,它本身不存储任何数据,也不支持数据写入。它的作用就如其名,即负责合并多个查询的结果集。Merge表引擎可以代理查询任意数量的数据表,这些查询会异步且并行执行,并最终合成一个结果集返回。 声明方式 ``` ENGINE = Merge(database, table_name) ``` 其中:database表示数据库名称;table_name表示数据表的名称,它支持使用正则表达式,例如^test表示合并查询所有以test为前缀的数据表。 被代理查询的数据表被要求处于同一个数据库内,且拥有相同的表结构(但可以有不用的表引擎) ``` CREATE TABLE test_table_all as test_table_2018 ENGINE = Merge(currentDatabase(), "^test_table_") ``` ####其他类型 URL表引擎——select请求会转为HTTP的get请求,insert请求会转化为HTTP的post请求 NULL表引擎——NULL表不存储任何数据,但是可结合物化视图来使用(将NULL表映射为物化视图,则数据会存储到物化视图,而不会存储在NULL表,从而节省存储空间) Live View表引擎——根据给定的SQL进行实时更新