日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Clickhouse库引擎介绍

發(fā)布時(shí)間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Clickhouse库引擎介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

官網(wǎng)資料:

clickhouse和mysql一樣提供了眾多功能不同的引擎。

默認(rèn)情況下,ClickHouse使用自身的數(shù)據(jù)庫引擎,該引擎可以提供表引擎配置(?table engines?)和SQL(SQL dialect.)

您還可以使用以下數(shù)據(jù)庫引擎:

  • MySQL

  • Lazy

MySQL引擎

允許連接到遠(yuǎn)程MySQL服務(wù)器上的數(shù)據(jù)庫,并執(zhí)行INSERT和SELECT查詢以在ClickHouse和MySQL之間交換數(shù)據(jù)。

Mysql數(shù)據(jù)庫引擎翻譯請求語句,并發(fā)送給MYSQL服務(wù)器,因此你可以執(zhí)行像SHOW TABLES?或者?SHOW CREATE TABLE這樣的操作。

但是您不能執(zhí)行以下查詢:

  • RENAME
  • CREATE TABLE
  • ALTER

創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')

引擎參數(shù)

  • host:port?— MySQL服務(wù)器地址。
  • database?—遠(yuǎn)程數(shù)據(jù)庫名稱。
  • user?— MySQL用戶。
  • password?- 用戶密碼。

數(shù)據(jù)類型支持

MySQLClickHouse
UNSIGNED TINYINTUInt8
TINYINTInt8
UNSIGNED SMALLINTUInt16
SMALLINTInt16
UNSIGNED INT, UNSIGNED MEDIUMINTUInt32
INT, MEDIUMINTInt32
UNSIGNED BIGINTUInt64
BIGINTInt64
FLOATFloat32
DOUBLEFloat64
DATEDate
DATETIME, TIMESTAMPDateTime
BINARYFixedString

所有其他MySQL數(shù)據(jù)類型都轉(zhuǎn)換為String。

支持Nullable。

使用例子

MySQL中的表:

mysql> USE test; Database changedmysql> CREATE TABLE `mysql_table` (-> `int_id` INT NOT NULL AUTO_INCREMENT,-> `float` FLOAT NOT NULL,-> PRIMARY KEY (`int_id`)); Query OK, 0 rows affected (0,09 sec)mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2); Query OK, 1 row affected (0,00 sec)mysql> select * from mysql_table; +------+-----+ | int_id | value | +------+-----+ | 1 | 2 | +------+-----+ 1 row in set (0,00 sec)

ClickHouse中的數(shù)據(jù)庫,與MySQL服務(wù)器交換數(shù)據(jù):

CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user','user_password') SHOW DATABASES ┌─name─────┐ │ default │ │ mysql_db │ │ system │ └──────────┘ SHOW TABLES FROM mysql_db ┌─name─────────┐ │ mysql_table │ └──────────────┘ SELECT * FROM mysql_db.mysql_table ┌─int_id─┬─value─┐ │ 1 │ 2 │ └────────┴───────┘ INSERT INTO mysql_db.mysql_table VALUES (3,4) SELECT * FROM mysql_db.mysql_table ┌─int_id─┬─value─┐ │ 1 │ 2 │ │ 3 │ 4 │ └────────┴───────┘

Lazy引擎

在最后一次訪問之后,僅在expiration_time_in_seconds秒內(nèi)將表保留在RAM中。只有Log引擎的表可以使用。

該引擎針對存儲(chǔ)很多小型Log引擎表的情況進(jìn)行了優(yōu)化。因?yàn)閷τ谶@些表而言,兩次訪問之間的時(shí)間間隔很長。

創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);

?

?

參考資料:https://clickhouse.tech/docs/en/engines/database-engines/

?

但是除了官網(wǎng)資料給出的三種clickhouse庫引擎外,《ClickHouse原理解析與應(yīng)用實(shí)踐》一書中給了五種:Ordinary/Dictionary/Memory/Mysql/Lazy

Ordinary

也就是默認(rèn)引擎,使用時(shí)無需在建庫時(shí)刻意聲明,在此數(shù)據(jù)庫下的表可以使用任意的類型的表引擎。官網(wǎng)中也有介紹。

可見默認(rèn)引擎是ordinary。

MySQL

MySQL 引擎,會(huì)自動(dòng)拉取遠(yuǎn)端 MySQL 中的數(shù)據(jù),并在該庫下創(chuàng)建 MySQL 表引擎的數(shù)據(jù)表。官網(wǎng)中也有介紹。

  • 具體就是在mysql數(shù)據(jù)庫上建一張表a(id int)。往里插數(shù)據(jù)1,2,3。
  • 回來clickhouse數(shù)據(jù)庫,創(chuàng)建一個(gè)mysql庫引擎的數(shù)據(jù)庫mysqltest,指定mysql數(shù)據(jù)庫的端口和用戶。
  • 發(fā)現(xiàn)可以使用select *? from mysqltest.a;返回結(jié)果1,2,3
  • 而且使用clickhouse進(jìn)行數(shù)據(jù)插入或者更新,返回mysql數(shù)據(jù)庫那邊,發(fā)現(xiàn)表中數(shù)據(jù)也被插入更新了。
  • Lazy

    日志引起,在該數(shù)據(jù)庫下只能創(chuàng)建 log 系列引擎的表。官網(wǎng)中也有介紹。

    上次訪問之后expiration_time_in_seconds秒之前,表放內(nèi)存.該庫引擎下只能創(chuàng)建?*Log表引擎

    Dictionary

    字典引擎,此類數(shù)據(jù)庫會(huì)自動(dòng)為所有數(shù)據(jù)字典創(chuàng)建它們的數(shù)據(jù)表(加載配置文件中配置的字段表信息和數(shù)據(jù))

    Memory

    內(nèi)存引擎,用戶存放臨時(shí)數(shù)據(jù),數(shù)據(jù)只會(huì)在內(nèi)存中,不會(huì)涉及任何磁盤操作,當(dāng)服務(wù)重啟后數(shù)據(jù)會(huì)清空。并且對表引擎也有限制,只能使用memory類型表引擎。

    所有數(shù)據(jù)只會(huì)保存在內(nèi)存中,服務(wù)重啟數(shù)據(jù)消失.

    由上可見,該數(shù)據(jù)庫引擎只能夠創(chuàng)建Memory引擎表.


    重啟服務(wù)后,數(shù)據(jù)庫還在,表已經(jīng)消失了.

    ?

    ?

    參考資料:

    https://blog.csdn.net/qq_28603127/article/details/109294061

    https://www.cnblogs.com/DBArtist/p/clickhouse_Engines.html

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Clickhouse库引擎介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。