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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

12_VersionedCollapsingMergeTree,Log Engine Family(Log引擎,StripeLog引擎,TinyLog引擎)

發布時間:2024/9/27 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12_VersionedCollapsingMergeTree,Log Engine Family(Log引擎,StripeLog引擎,TinyLog引擎) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

11.VersionedCollapsingMergeTree
11.1.VersionedCollapsingMergeTree
11.2.案例
12.Log Engine Family
Log引擎:
StripeLog引擎
TinyLog引擎
12.2.案例

11.VersionedCollapsingMergeTree

11.1.VersionedCollapsingMergeTree

算法:
當ClickHouse合并數據片段時,它會刪除滿足如下條件的行:排序鍵相同,version相同,Sign不同。行的順序無關緊要。
當CLickHouse插入數據時,它按排序鍵對數據進行排序:如果Version列不在排序鍵中,則ClickHouse會將其隱式地作為最后一個字段添加到排序鍵中,并將其用于排序。

11.2.案例

示例數據:

┌──────────────UserID─┬─PageViews─┬─Duration─┬─Sign─┬─Version─┐ │ 4324182021466249494514611 |43241820214662494945146-11 |4324182021466249494618512 | └─────────────────────┴───────────┴──────────┴──────┴─────────┘

建表:

DROP TABLE IF EXISTS UAct; CREATE TABLE UAct (UserID UInt64,PageViews UInt8,Duration UInt8,Sign Int8,Version UInt8 ) ENGINE = VersionedCollapsingMergeTree(Sign, Version) ORDER BY UserID;

插入數據:

INSERT INTO UAct VALUES (4324182021466249494, 5, 146, 1, 1); INSERT INTO UAct VALUES (4324182021466249494, 5, 146, -1, 1),(4324182021466249494, 6, 185, 1, 2);

上面執行了兩個INSERT語句,創建了兩個不同的數據片段。如果使用一個INSERT語句,ClickHouse將創建一個數據片段,并且將永遠不會執行任何合并。

查詢數據:

xxxx2 :) select * from UAct;SELECT * FROM UAct┌──────────────UserID─┬─PageViews─┬─Duration─┬─Sign─┬─Version─┐ │ 43241820214662494945146-11 │ │ 4324182021466249494618512 │ └─────────────────────┴───────────┴──────────┴──────┴─────────┘ ┌──────────────UserID─┬─PageViews─┬─Duration─┬─Sign─┬─Version─┐ │ 4324182021466249494514611 │ └─────────────────────┴───────────┴──────────┴──────┴─────────┘3 rows in set. Elapsed: 0.009 sec. xxxx2 :)

通過兩個INSERT語句,創建了兩個數據片段。SELECT查詢是在兩個線程中執行的,我們得到了隨機順序的行。由于尚未合并數據片段,折疊還未發生。我們無法預測ClickHouse在何時執行數據片段的合并。因此,我們需要使用聚合:

SELECTUserID,sum(PageViews * Sign) AS PageViews,sum(Duration * Sign) AS Duration,Version FROM UAct GROUP BY UserID, Version HAVING sum(Sign) > 0;

結果如下:

┌──────────────UserID─┬─PageViews─┬─Duration─┬─Version─┐ │ 432418202146624949461852 │ └─────────────────────┴───────────┴──────────┴─────────┘

如果不適用聚合,可以對FROM子句使用FINAL修飾符進行強制合并:

xxxx2 :) select * from UAct FINAL;SELECT * FROM UAct FINAL┌──────────────UserID─┬─PageViews─┬─Duration─┬─Sign─┬─Version─┐ │ 4324182021466249494618512 │ └─────────────────────┴───────────┴──────────┴──────┴─────────┘1 rows in set. Elapsed: 0.011 sec. xxxx2 :)

要注意的是使用FINAL的這種數據查詢的方法非常低效,不要在大表中使用這種方法。

12.Log Engine Family

這些引擎適用于快速寫入許多小數據量(少于100萬行)的表,在后續使用時整體讀取表數據。

12.1.Log Engine Family:

?StripLog
?Log
?TinyLog

通用屬性:
1.數據存儲在磁盤上
2.寫入時將數據追加到文件末尾
3.支持并發數據訪問的鎖(寫阻塞讀/寫,讀不影響)
4.不支持mutation操作
5.不支持索引
6.不支持原子地寫入數據

磁盤文件存儲:
1.Log引擎:

# ll /var/lib/clickhouse/data/default/table_log/ -rw-r----- 1 clickhouse clickhouse 168 3月 14 01:38 duration.bin -rw-r----- 1 clickhouse clickhouse 288 3月 14 01:38 __marks.mrk -rw-r----- 1 clickhouse clickhouse 168 3月 14 01:38 pageviews.bin -rw-r----- 1 clickhouse clickhouse 138 3月 14 01:38 sizes.json -rw-r----- 1 clickhouse clickhouse 258 3月 14 01:38 userid.bin

2.StripeLog引擎

# ll /var/lib/clickhouse/data/default/table_stripelog/ -rw-r----- 1 clickhouse clickhouse 1044 3月 14 01:38 data.bin -rw-r----- 1 clickhouse clickhouse 536 3月 14 01:38 index.mrk -rw-r----- 1 clickhouse clickhouse 70 3月 14 01:38 sizes.json

3.TinyLog引擎

# ll /var/lib/clickhouse/data/default/table_tinylog/ -rw-r----- 1 clickhouse clickhouse 168 3月 14 01:37 duration.bin -rw-r----- 1 clickhouse clickhouse 168 3月 14 01:37 pageviews.bin -rw-r----- 1 clickhouse clickhouse 107 3月 14 01:37 sizes.json -rw-r----- 1 clickhouse clickhouse 258 3月 14 01:37 userid.bin

Log Engine Family文件總結:

引擎存儲文件數并行查詢效率mark文件
Log每列一個文件支持
StripeLog所有列一個文件支持較高
TinyLog每列一個文件不支持

12.2.案例

(1)建表

DROP TABLE table_tinylog; CREATE TABLE table_tinylog(userid UInt64,pageviews UInt8,duration UInt8 ) ENGINE = TinyLog; DROP TABLE table_log; CREATE TABLE table_log(userid UInt64,pageviews UInt8,duration UInt8 ) ENGINE = Log; DROP TABLE table_stripelog; CREATE TABLE table_stripelog(userid UInt64,pageviews UInt8,duration UInt8 ) ENGINE = StripeLog;

(2)、插入數據
三張表插入同樣的數據:

INSERT INTO table_tinylog VALUES (4324182021466249494, 1, 146),(4324182021466249414, 9, 156); INSERT INTO table_tinylog VALUES (4324182021466249495, 2, 147),(4324182021466249424, 8, 157); INSERT INTO table_tinylog VALUES (4324182021466249496, 3, 148),(4324182021466249434, 7, 158); INSERT INTO table_tinylog VALUES (4324182021466249497, 4, 141),(4324182021466249444, 6, 151); INSERT INTO table_tinylog VALUES (4324182021466249498, 5, 142),(4324182021466249454, 5, 152); INSERT INTO table_tinylog VALUES (4324182021466249499, 6, 143),(4324182021466249464, 4, 153); ? INSERT INTO table_log VALUES (4324182021466249494, 1, 146),(4324182021466249414, 9, 156); INSERT INTO table_log VALUES (4324182021466249495, 2, 147),(4324182021466249424, 8, 157); INSERT INTO table_log VALUES (4324182021466249496, 3, 148),(4324182021466249434, 7, 158); INSERT INTO table_log VALUES (4324182021466249497, 4, 141),(4324182021466249444, 6, 151); INSERT INTO table_log VALUES (4324182021466249498, 5, 142),(4324182021466249454, 5, 152); INSERT INTO table_log VALUES (4324182021466249499, 6, 143),(4324182021466249464, 4, 153); ? INSERT INTO table_stripelog VALUES (4324182021466249494, 1, 146),(4324182021466249414, 9, 156); INSERT INTO table_stripelog VALUES (4324182021466249495, 2, 147),(4324182021466249424, 8, 157); INSERT INTO table_stripelog VALUES (4324182021466249496, 3, 148),(4324182021466249434, 7, 158); INSERT INTO table_stripelog VALUES (4324182021466249497, 4, 141),(4324182021466249444, 6, 151); INSERT INTO table_stripelog VALUES (4324182021466249498, 5, 142),(4324182021466249454, 5, 152); INSERT INTO table_stripelog VALUES (4324182021466249499, 6, 143),(4324182021466249464, 4, 153);

(3)、查看文件系統的數據目錄
table_log表(基于Log引擎)

[root@xxxx2 ~]# ll /var/lib/clickhouse/data/default/table_log/ 總用量 20 -rw-r----- 1 clickhouse clickhouse 168 11月 30 20:02 duration.bin -rw-r----- 1 clickhouse clickhouse 48 11月 30 20:02 __marks.mrk -rw-r----- 1 clickhouse clickhouse 168 11月 30 20:02 pageviews.bin -rw-r----- 1 clickhouse clickhouse 137 11月 30 20:02 sizes.json -rw-r----- 1 clickhouse clickhouse 258 11月 30 20:02 userid.bin [root@xxxx2 ~]#

table_stripelog表(基于StripeLog引擎)

[root@xxxx2 ~]# ll /var/lib/clickhouse/data/default/table_stripelog/ 總用量 12 -rw-r----- 1 clickhouse clickhouse 1044 11月 30 20:02 data.bin -rw-r----- 1 clickhouse clickhouse 536 11月 30 20:02 index.mrk -rw-r----- 1 clickhouse clickhouse 70 11月 30 20:02 sizes.json [root@xxxx2 ~]#

table_tinylog表(基于TinyLog引擎)

[root@xxxx2 ~]# ll /var/lib/clickhouse/data/default/table_tinylog/ 總用量 16 -rw-r----- 1 clickhouse clickhouse 168 11月 30 20:02 duration.bin -rw-r----- 1 clickhouse clickhouse 168 11月 30 20:02 pageviews.bin -rw-r----- 1 clickhouse clickhouse 107 11月 30 20:02 sizes.json -rw-r----- 1 clickhouse clickhouse 258 11月 30 20:02 userid.bin [root@xxxx2 ~]#

總結

以上是生活随笔為你收集整理的12_VersionedCollapsingMergeTree,Log Engine Family(Log引擎,StripeLog引擎,TinyLog引擎)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黄片一区二区三区 | 色综合五月 | 亚洲精品一区二区三区在线 | 免费av不卡 | av看片网站 | 国产12页| 人人爽人人干 | 污视频网站免费 | 国产乱码精品一区二区 | 超碰v| 黄网站色视频免费观看 | 中文字幕日韩欧美一区二区 | 午夜寂寞福利 | 蜜乳av网站 | 岳乳丰满一区二区三区 | 国产超碰人人模人人爽人人添 | 美女视频黄a视频全免费观看 | 亚洲一级一区 | 97人妻人人揉人人躁人人 | 日本精品99 | 黄色网址你懂的 | 91看片黄| 激情网色 | www.啪| 国产男同gay网站 | 国产精品自拍第一页 | 亚洲国产成人精品女人 | 午夜蜜桃视频 | ass亚洲熟妇毛耸耸pics | 亚洲中文字幕一区二区在线观看 | 欧美日韩高清在线播放 | 午夜小视频在线播放 | 久久久久久69 | 欧美成人精品一区二区 | 日韩电影一区二区三区四区 | 黄色片在线播放 | 亚洲色图激情小说 | 69视频在线观看 | 国产一区,二区 | 一久久久久| www裸玉足久久久 | 日本三级少妇 | 久久久久久久久久久久97 | 91麻豆成人精品国产 | 91网站在线免费观看 | 欧美久久精品 | 制服丝袜在线播放 | 都市激情亚洲色图 | 精品国产乱码久久久久 | 夜夜噜噜噜| 影音先锋啪啪 | 亚洲精品www. | 法国极品成人h版 | 亚洲污网站 | 狠狠操综合网 | 亚洲一区二三区 | 在线免费黄色网址 | 国产性猛交xxxⅹ交酡全过程 | 美日韩一区二区三区 | 手机在线一区 | 色婷视频 | 97碰碰碰| 国产第一页屁屁影院 | 国产91精品一区二区麻豆亚洲 | 青青草视频偷拍 | 青青青青青草 | 天堂一区 | 日本伊人色 | 欧美一区二区三区四区在线 | 午夜精品久久久久久久99热浪潮 | 麻豆影视在线免费观看 | 亚洲三级伦理 | 动漫美女被x| 视频在线 | 谁有毛片网址 | 激情久久久 | 无码国产精品一区二区色情男同 | 草草影院最新 | 精品一区二区三区四区五区六区 | 欧美一区二区三区大屁股撅起来 | 亚洲制服丝袜一区 | 国产色呦呦 | www.日韩欧美 | 嫩草视频在线观看视频 | 欧美精品在线免费 | 色播在线 | 亚洲精品乱码久久久久久 | 视频区图片区小说区 | 男人插女人下面视频 | 亚洲一品道 | 红桃视频一区 | 人妻精品一区二区在线 | 精品人妻无码一区二区三 | 国产一区二区三区电影在线观看 | 精品成人av一区二区在线播放 | 咪咪成人网 | 香蕉视频在线看 | 在线cao | 久久91视频 |