免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

07 ClickHouseClickHouse數(shù)據(jù)庫(kù)引擎解析

目錄

  • Atomic
    • 建表語(yǔ)句
    • 特性
      • Table UUID
      • RENAME TABLES
      • DROP/DETACH TABLES
      • EXCHANGE TABLES
      • ReplicatedMergeTree in Atomic Database
  • MySQL
    • 創(chuàng)建數(shù)據(jù)庫(kù)
    • mysql與ClickHouse數(shù)據(jù)類型對(duì)應(yīng)
    • 使用例子
  • PostgreSQL
    • 創(chuàng)建數(shù)據(jù)庫(kù)
    • 數(shù)據(jù)類型對(duì)應(yīng)
  • SQLite
    • 創(chuàng)建數(shù)據(jù)庫(kù)
    • 數(shù)據(jù)類型對(duì)應(yīng)
  • Lazy
    • 創(chuàng)建數(shù)據(jù)庫(kù)
  • Replicated
    • 創(chuàng)建數(shù)據(jù)庫(kù)
  • MaterializeMySQL
    • 創(chuàng)建數(shù)據(jù)庫(kù)
  • MaterializedPostgreSQL
    • 創(chuàng)建數(shù)據(jù)庫(kù)
  • 資料分享
  • 參考文章
這里會(huì)介紹ClickHouse幾種數(shù)據(jù)庫(kù)引擎,已經(jīng)對(duì)應(yīng)的特點(diǎn)和應(yīng)用的場(chǎng)景 。數(shù)據(jù)庫(kù)引擎允許您處理數(shù)據(jù)表 。默認(rèn)情況下,ClickHouse使用Atomic數(shù)據(jù)庫(kù)引擎 。它提供了可配置的table engines和SQL dialect 。
目前的數(shù)據(jù)庫(kù)引擎:
  • MySQL
  • MaterializeMySQL
  • Lazy
  • Atomic
  • PostgreSQL
  • MaterializedPostgreSQL
  • Replicated
  • SQLite
Atomic支持非阻塞的DROP TABLE和RENAME TABLE查詢和原子的EXCHANGE TABLES t1 AND t2查詢 。默認(rèn)情況下使用Atomic數(shù)據(jù)庫(kù)引擎 。
建表語(yǔ)句【07 ClickHouseClickHouse數(shù)據(jù)庫(kù)引擎解析】CREATE DATABASE test[ ENGINE = Atomic];特性Table UUID數(shù)據(jù)庫(kù)Atomic中的所有表都有唯一的UUID,并將數(shù)據(jù)存儲(chǔ)在目錄/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/,其中xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy是該表的UUID 。
通常,UUID是自動(dòng)生成的,但用戶也可以在創(chuàng)建表時(shí)以相同的方式顯式指定UUID(不建議這樣做) 。例如:
CREATE TABLE name UUID '28f1c61c-2970-457a-bffe-454156ddcfef' (n UInt64) ENGINE = ...;RENAME TABLESRENAME查詢是在不更改UUID和移動(dòng)表數(shù)據(jù)的情況下執(zhí)行的 。這些查詢不會(huì)等待使用表的查詢完成,而是會(huì)立即執(zhí)行 。
DROP/DETACH TABLES在DROP TABLE上,不刪除任何數(shù)據(jù),數(shù)據(jù)庫(kù)Atomic只是通過(guò)將元數(shù)據(jù)移動(dòng)到/clickhouse_path/metadata_dropped/將表標(biāo)記為已刪除,并通知后臺(tái)線程 。最終表數(shù)據(jù)刪除前的延遲由database_atomic_delay_before_drop_table_sec設(shè)置指定 。
可以使用SYNC修飾符指定同步模式 。使用database_atomic_wait_for_drop_and_detach_synchronously設(shè)置執(zhí)行此操作 。
EXCHANGE TABLESEXCHANGE以原子方式交換表 。
-- 非原子操作RENAME TABLE new_table TO tmp, old_table TO new_table, tmp TO old_table;--原子操作EXCHANGE TABLES new_table AND old_table;ReplicatedMergeTree in Atomic Database對(duì)于ReplicatedMergeTree表,建議不要在ZooKeeper和副本名稱中指定engine-path的參數(shù) 。在這種情況下,將使用配置的參數(shù)default_replica_path和default_replica_name 。
如果要顯式指定引擎的參數(shù),建議使用{uuid}宏 。這是非常有用的,以便為ZooKeeper中的每個(gè)表自動(dòng)生成唯一的路徑 。
MySQLMySQL引擎用于將遠(yuǎn)程的MySQL服務(wù)器中的表映射到ClickHouse中,并允許您對(duì)表進(jìn)行INSERT和SELECT查詢,以方便您在ClickHouse與MySQL之間進(jìn)行數(shù)據(jù)交換 。
MySQL數(shù)據(jù)庫(kù)引擎會(huì)將對(duì)其的查詢轉(zhuǎn)換為MySQL語(yǔ)法并發(fā)送到MySQL服務(wù)器中,因此您可以執(zhí)行諸如SHOW TABLES或SHOW CREATE TABLE之類的操作 。
但無(wú)法對(duì)其執(zhí)行操作:RENAME、CREATE TABLE和ALTER 。
創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')引擎參數(shù)
  • host:port — MySQL服務(wù)地址
  • database — MySQL數(shù)據(jù)庫(kù)名稱
  • user — MySQL用戶名
  • password — MySQL用戶密碼
mysql與ClickHouse數(shù)據(jù)類型對(duì)應(yīng)MySQLClickHouseUNSIGNED TINYINTUInt8TINYINTInt8UNSIGNED SMALLINTUInt16SMALLINTInt16UNSIGNED INTUInt32UNSIGNED MEDIUMINTUInt32INT,MEDIUMINTInt32UNSIGNED BIGINTUInt64BIGINTInt64FLOATFloat32DOUBLEFloat64DATEDateDATETIME,TIMESTAMPDateTimeBINARYFixedString其他的MySQL數(shù)據(jù)類型將全部都轉(zhuǎn)換為String 。

經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀