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 — 定義數據庫表結構是否已緩存或不進行 ??蛇x的 。默認值: 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詳細解析

推薦閱讀