07 ClickHouseClickHouse数据库引擎解析( 二 )

PostgreSQL【07 ClickHouseClickHouse数据库引擎解析】允许连接到远程PostgreSQL服务 。支持读写操作(SELECT和INSERT查询),以在ClickHouse和PostgreSQL之间交换数据 。
在SHOW TABLES和DESCRIBE TABLE查询的帮助下,从远程PostgreSQL实时访问表列表和表结构 。
支持表结构修改(ALTER TABLE ... ADD|DROP COLUMN) 。如果use_table_cache参数(参见下面的引擎参数)设置为1,则会缓存表结构,不会检查是否被修改 , 但可以用DETACH和ATTACH查询进行更新 。
使用总体上与mysql引擎类似
创建数据库CREATE DATABASE test_databaseENGINE = PostgreSQL('host:port', 'database', 'user', 'password'[, `use_table_cache`]);引擎参数

  • host:port — PostgreSQL服务地址
  • database — 远程数据库名次
  • user — PostgreSQL用户名称
  • password — PostgreSQL用户密码
  • schema - PostgreSQL 模式
  • use_table_cache — 定义数据库表结构是否已缓存或不进行 。可选的 。默认值: 0
数据类型对应PostgreSQLClickHouseDATEDateTIMESTAMPDateTimeREALFloat32DOUBLEFloat64DECIMALDecimalNUMERICDecimalSMALLINTInt16INTEGERInt32BIGINTInt64SERIALUInt32BIGSERIALUInt64TEXTStringCHARStringINTEGERNullable(Int32)ARRAYArraySQLite允许连接到SQLite数据库 , 并支持ClickHouse和SQLite交换数据, 执行INSERT和SELECT查询 。
SQLite将整个数据库(定义、表、索引和数据本身)存储为主机上的单个跨平台文件 。在写入过程中,SQLite会锁定整个数据库文件,因此写入操作是顺序执行的 。读操作可以是多任务的 。SQLite不需要服务管理(如启动脚本)或基于GRANT和密码的访问控制 。访问控制是通过授予数据库文件本身的文件系统权限来处理的 。
创建数据库CREATE DATABASE sqlite_databaseENGINE = SQLite('db_path')引擎参数
  • db_path — SQLite 数据库文件的路径
数据类型对应SQLiteClickHouseINTEGERInt32REALFloat32TEXTStringBLOBStringLazy在最后一次访问之后,只在RAM中保存expiration_time_in_seconds秒 。只能用于Log表 。
它是为存储许多小的Log表而优化的,对于这些表,访问之间有很长的时间间隔 。
创建数据库CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);Replicated该引擎基于Atomic引擎 。它支持通过将DDL日志写入ZooKeeper并在给定数据库的所有副本上执行的元数据复制 。
一个ClickHouse服务器可以同时运行和更新多个复制的数据库 。但是同一个复制的数据库不能有多个副本 。
这是一个实验性的引擎,不应该在生产中使用 。
创建数据库CREATE DATABASE testdb ENGINE = Replicated('zoo_path', 'shard_name', 'replica_name') [SETTINGS ...]MaterializeMySQL创建ClickHouse数据库,包含MySQL中所有的表,以及这些表中的所有数据 。
ClickHouse服务器作为MySQL副本工作 。它读取binlog并执行DDL和DML查询 。
这是一个实验性的引擎,不应该在生产中使用 。
创建数据库CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]ENGINE = MaterializeMySQL('host:port', ['database' | database], 'user', 'password') [SETTINGS ...]MaterializedPostgreSQL使用PostgreSQL数据库表的初始数据转储创建ClickHouse数据库,并启动复制过程,即执行后台作业,以便在远程PostgreSQL数据库中的PostgreSQL数据库表上发生新更改时应用这些更改 。
ClickHouse服务器作为PostgreSQL副本工作 。它读取WAL并执行DML查询 。DDL不是复制的,但可以处理(如下所述) 。
这是一个实验性的引擎 , 不应该在生产中使用 。
创建数据库CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]ENGINE = MaterializedPostgreSQL('host:port', ['database' | database], 'user', 'password') [SETTINGS ...]资料分享ClickHouse经典中文文档分享
参考文章
  • ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
  • ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
  • ClickHouse(03)ClickHouse怎么安装和部署
  • ClickHouse(04)如何搭建ClickHouse集群
  • ClickHouse(05)ClickHouse数据类型详解
  • ClickHouse(06)ClickHouse建表语句DDL详细解析

推荐阅读