Skip to main content

16 docs tagged with "ClickHouse"

View All Tags

🧪MaterializedMySQL

和MySQL引擎只是MySQL库的映射代理不同(个人理解),MaterializedMySQL引擎会创建一个真实的ClickHouse库,并像MySQL副本节点一样读取binlog并执行DDL和DML语句(不推荐在生产环境中使用MaterializedMySQL,它仍处于试验阶段)。

🧪MaterializedPostgreSQL

MaterializedPostgreSQL库引擎从PostgreSQL库创建快照并加载指定表(来自不同shcema),并且获取LSN然后获取WAL的更新。当MaterializedPostgreSQL库引擎创建后,源端PostgreSQL的新增表不会自动同步,需要手动执行ATTACH TABLE db.table来添加。

🧪Replicated

处于试验阶段的Replicated引擎基于Atomic引擎,它将DDL日志上传到ZooKeeper并在给定数据库副本上执行来实现元数据复制。同一个ClickHouse服务器上可以有多个数据库副本,但是它们不能是同一个Replicated库的副本。

存储模型

ClickHouse默认存储数据路径为/var/lib/clickhouse,其目录结构如下所示,主要关注data和metadata两个文件夹,它们分别是数据和元数据的存储目录:

Atomic

Atomic库引擎是ClickHouse默认的库引擎,支持非阻塞的表删除和表重命名操作,以及原子性的交换表操作。

Lazy

Lazy库引擎将表放在内存中,经过指定expirationtimein_seconds时间后自动删除,只适用于Log系列表引擎。Lazy库引擎针对存储多个小数据量的Log表优化,其特点是每次访问间隔很长。

Log Family

Log表引擎家族用于处理多张小表的场景,可以将数据存放在HDFS或者S3,特性如下:

MySQL

连接到远程MySQL库,可以执行INSERT、SELECT、SHOW TABLES、SHOW CREATE TABLE等语句,不能执行RENAME、CREATE TABLE、ALTER操作。

PostgreSQL

连接到远程PostgreSQL服务器,通过读写操作ClickHouse和PostgreSQL交换数据,支持实时获取表信息,支持表结构更改。

SQLite

连接到SQLite库,通过执行插入和查询语句在ClickHouse和SQLite之间交换数据。